Reminder: Open-source is great!

From time to time I get reminders to why I love open source so much, and why I see it as having little to do with software and a lot to do with promoting a culture of sharing and of openness.

A few days ago I released my first C open source app - Glista. It was a little tool I wrote to scratch an itch and to sharpen my hardly-existing C skills. Deciding to release it was natural, but I didn’t expect much attention from such a simple tool competing in a category where many alternatives exist.

However, it did get noticed and I had several people e-mailing suggestions, reporting bugs and generally commenting on it, giving mostly positive and useful feedback. I was able to fix several bugs in the last few days and I did learn a few things on creating better build scripts, which I was clueless about before.

And the best thing is that at less than a week after it’s initial release, Glista was ported to run on an iPaq PDA using the OpenEmbedded cross-compiler. I even got some screenshots to show off:

Glista on iPaq     Glista on iPaq

How cool is that?

This is done using the unstable branch of OpenEmbedded so there are no official builds yet - but the author, Dmitry, has attached a recipe file to this bug report in the OpenEmbedded tracker if you want to try it.

Introducing Glista: Yet another to-do applet for Gtk+

Yes, there are probably a dozen out there, but none of them was just the way I wanted it to be. So I went out and started writing one: Glista.

It’s terribly simple, and I spent not more than a weekend and a couple of evenings writing it. But I have been using it successfully for over a week now and for the first time I am tracking my tasks through a desktop tool - so I’ve decided to release it.

Visit the Glista page at http://prematureoptimization.org/glista for more information.

It is written in C/Gtk+ (so it runs well on GNOME but should work on other desktops, and should also be portable to Mac / Windows). Now, I must say that I am *not* a C programmer. I suck at it in fact. But I enjoy banging my head against the C memory management wall from time to time. If you look at my code and must run to wash your eyes, tell me about it because I want to improve.

I am using the 0.1 release available on the site (and through Google Code) for some time now. I don’t plan to expand it much but there are some fixes / additions I want to add if I find the time in the next few weeks.

Try it out and tell me what you think!

BTW: I used the name “Glista” because of the common “G” prefix for Gtk+/GNOME apps, joined with “list” and an “a” just to make it cooler. A couple of days later I found it it’s actually a word - in many Slavic languages it’s the word for an earthworm, and in Russian it’s sort of the plural form for Glist which is the word for intensinal parasitic worms. Cool!

Good old ‘includes/common.php’ is back!

In the last couple of days I’m writing a small demo-like database driven PHP app - you know, the kind where you show how to put records of something into the DB, take them out, list, edit, etc. - pretty simple stuff.

The catch is that this is to demo pure PHP - no frameworks of any kind. No complex design patterns or paradigms (such as MVC), no rewriting rules.

I must say I haven’t done this in a while. It feels good on one hand - remembering the power and simplicity of pure PHP. On the other hand it sucks ass - so many things (especially edge cases) you have to take care of yourself - things like execution flow, including that good old bootstrap file on the top of each script (yeah, each page in my app is a different script! remember those days?), manually taking care of layout and common HTML elements, validation - even manually writing so much SQL seems odd.

If you have some free hours this weekend, I suggest you try it - just to remember what it used to be like 5 years ago. It’s a good way to appreciate (or not) the framework or library you’re working with these days.