Older blog entries for cbj (starting at number 10)

A small firestorm was set off over the weekend as Slashdot noted the proposed creation of Apache's project Harmony. Since I tend to not read Slashdot on weekends the first I heard of this was from a phone conversation with the other former Classpath project maintainer. After getting the scoop from #classpath however I'm quite happy that Apache has taken an interest in making Java permanently free software. Below are my list of pragmatic reasons for why Java must be free software.

  • What Sun gives freely today, may not be free tomorrow. Anyone who has built a house of cards understands what happens when you pull out a card from the foundation.
  • Sun provides Java runtimes free of cost on only a few processor architecture/operating system combinations. This leaves out many others that should not be left behind or to innovate without.
  • When developers encounter a bug in the Java runtime provided by Sun they are legally barred from fixing the bug and using the fix in their software (where you want to distribute the result), forced instead to wait for Sun to release an official version.

If you are a developer looking for more information, read Mark's email to the Classpath community concerning Harmony.

What concerned me most about project Harmony had to do with the phrase, "from scratch". Everyone in the free software Java world is aware that GNU Classpath has been around for 7 years now. There is no need to start from scratch. There are recourses available to us, Classpath's contributors, should Apache and the FSF not work things out on their own that can still prevent re-inventing this wheel.

To the critics of the current free software Java initiatives and the comparisons to Mono in terms of pace of development, please keep in mind that Mono has had paid, full-time, hackers from day one. I was never paid to work on Classpath, which is rather unfortunate because I really wanted to be and I think a number of Classpath's current hackers would make that claim today.

Harmony can be a good thing for us all, to ensure Java remains a free and viable platform for implementing software whether or not Sun continues to support it, or exist.

So a couple of things have come to mind since I've started working on the tools again. One is despite the fact I have a mostly working implementation using a new bytecode reader library I don't really want to commit to supporting or introducing another such library into the pond of around a half dozen such libraries already in existance. It seems like a better route may be to try submitting patches against gnu.bytecode to remove the use of Class.forName() in favor of resolving classes through a programatically supplied classpath. I guess it means throwing away some work but hopefully all is better in the end. No response on the error I'm getting with gcj trying to compile cp-tools on the gcj list. Found something similar via google but it doesn't look good. I'm still convinced I'm probably doing something wrong since this is my first attempt at compiling anything non-trivial with gcj.

Work on javap/javah going fairly well though I didn't manage to finish this weekend. Need to do somehow incorporate a test suite to make maintenance easier.

I watched Open Water this weekend. I liked the movie, but I liked it even more after watching the sort of "making of" documentary on the dvd. Apparently shot on weekends and vacations by a husband and wife team with two actors, financed by the husband's day job over a two and a half year period.

So Gnome Volume Control has got to be one of the worst programs ever. There are more than 130 volume controls just for Sound Blaster Live! [Alsa Mixer]. What the hell do I really care about all those volume controls? And why is sound always turned down to zero in software every time I boot? The saving grace is that the program does seem to work. Please, if you work on Desktop apps, take a more minimalist approach or at least make all that extra detail something you don't have to see by default, thanks.

8 Jan 2005 (updated 8 Jan 2005 at 06:16 UTC) »

Separated the junit and mauve serialization test into separate classes, so that compiling the mauve version shouldn't require junit now. I see a few 1.5 tests now show up in Mauve. That's pretty cool. I need to get the batch runner to run my external test though.

Now I'm looking into fixing cp-tools's javah and javap. Looks like the stuff Jeroen wrote for japitools will work nicely with a little work. Quite a few tools needed still for jar signing, rmi, etc.

Recently got to play with some VoIP software for work, one version is written in C++ and another duplicate version is written in Java. The Java version doesn't appear to support H.323 video at the moment. Anyway, SIP and VoIP are both cool. I can use the software to make phone calls as if I'm at my desk at work which is quite handy when working at home. They don't have the full version available so that I could also receive calls made to my PSTN phone on the computer but that's ok, at least purely SIP calls work.

Since Paul is going to be visiting for a little while over the holidays I been trying to think of something he and I could hack on for one day or one night for fun, as in complete from start to finish in less than 12 hours, as is divinely intended for all cool hacks. I'm personally having a hard time thinking of something cool to do, I think he wants to set me up with some VoIP via Asterisk but that isn't coding.

In other news it seems I'm now in search of a new job, completely on my terms since I'm still working at the moment at least. Restructuring and continued outsourcing are moving the work I enjoy away and substituting work I truly dislike with absolutely no career growth potential in the new year. As someone who made it into a software architect role for just two months before restructuring (downsizing, layoffs) turned me back into just a developer in Sept. this year, the news of an impending lower point still on the career graph doesn't sit well. If anyone has leads in the Raleigh/Durham area let me know.

15 Dec 2004 (updated 16 Dec 2004 at 04:55 UTC) »

So Sun has made yet another license for their TCK, this time in the form of "look but don't touch." Dalibor as usual is all over it and has a nice post in the comments section. You can see the article here.

Spent a little time trying to get the changelog plugin for eclipse working in my 3.0 installation on Windows. Adding the missing feature.properties file resolved a minor issue in "Manage Configuration". Still doesn't appear to work. The eclipse PDE error log doesn't help. I think it would help if the developer were to create an update site per FAQ 92 and put that up. Other than that not really sure why it doesn't show up in the preferences menu. No more time available right now to read up on how to setup plugin development and build it myself.

I've noticed that the amount of list traffic for the project, and to some extent the work going on within the project, are directly proportional to the amount of time I or someone like me spends working on the project. Somewhat disconcerting since I'd like to be able to leave the project for a week or two or even a couple of months without it stagnating.

Released GNU Classpath 0.05 a week ago. I have updated the peer interface classes to what appears to be the 1.4 API although I need to give more thought to this since there are parties desiring to unify their peer interfaces with ours to make things more seemless. Other ongoing future work will apparently be to rework the VM support classes to be more optimal for all JVMs even though it will break things for a time.

1 older entry...

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!