24 Feb 2003 bonzini   » (Master)

I just got certified as one of those people who after all "make free software happen", and I also finally found where you create a diary entry... Dunno how often I'll post here, anyway here is the current situation of my life as a Journeyer (and a little more).

I just forked the 4.1 branch of sed (no release made yet) and will release the hopefully last 4.0.x version soon. It's very nice to see that finally some distros including Red Hat and Debian are adoping the versions of sed that I maintained. 4.1 will be more POSIX compliant and more multibyte-friendly as well.

On the GNU Smalltalk side, I am about to release 2.1 but first I will have to sort out some Cygwin issues with the Tk bindings. I already have lots of ideas for 2.2, including providing a less weird (more declarative) syntax inspired by Dave Simmons' S#, providing a better graphical development environment, more JIT compiler work, and so on; but I guess that, with the new garbage collector, things will take a while before I can stabilize the 2.1 branch and fork it. Well, if I never took a break I would never do a stable release.

I also worked on the 2.0 branch to do some build tool upgrades on behalf of Debian. Luckily many bug reports for 2.0 have been closed, maybe GNU Smalltalk will finally get into testing distributions!

Not much free time to do all this though. Last week was really a hell, being out of home 16-18 hours a day (the rest being spent sleeping), constantly split among volunteering, exams and work, with free software and (more important) social life getting too much in the background. Things start to look better now even though university lessons restarted.

Previously I had done some tangential work on a few other projects, including the very interesting gnulib which is a collection of common configure snippets and associated source files regarding the LIBOBJs (ranging from regex to replacing missing or broken functions). I picked from GNU Smalltalk an implementation of poll(2) which is based on select(2) (poll is often preferrable because it scales better; select sucks when you have loads of file descriptors), and an implementation of the C99 long double math functions (such as cosl). Some real mavens work on this project, including Bruno Haible which I hold in very high respect, and it was very gratifying to see my contributions accept with little or no objections!

I also have to find the time to polish my assembly language implementation of memcmp and submit it to the inflexible glibc maintainer, Ulrich Drepper. Did some work on regex lately as part of my sed work, and I get his typical response This is utter nonsense on fewer posts than I used to... rather I get This and this is wrong more and more often, and finally after much sweating Thanks, I applied the patch.

Have been thinking of a JSP implementation for PHP at work. In five work days I wrote and tested about 3000 lines of PHP and JavaScript code for a web application (a database with 15 tables and I have not reached half the work yet!) which was mostly done by cut&paste because I was in a hurry. Things look the same but they aren't: you have the section which has attachments to each record of the table; the section which lies in the middle of a many-to-many relationship; the section which has more complicated user interaction and needs session; the section which has combo boxes; and so on. Net result: tiny bits of code always change between two pages and the code is badly written and unmaintainable; having really powerful templating and tag library features would surely help -- and PEAR's templates don't count as such. Of course the problem is where I find the time, even at work which is where I use PHP, to do so.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!