I was perusing the Harmony mailing list and came across this gem, way to go Sven! The under-current of FSF/GPL "haters" lurking about the Apache community and this mailing list has always been quite disturbing. There are a few people that aren't bringing "harmony" to the F/OSS Java scene. I think the founders are doing a pretty good job at trying to herd the cats.

Assuming the licensing issues will be worked out, then there are a couple of tasks that someone with time (as in not me) could take a stab at. The first isn't that hard, not really sure why it isn't done yet other than you'd have no where to put it because it would be illegal!

Using Apache's portable runtime, re-do all of Classpath's JNI code (which isn't that bad...) and make it work on something it doesn't now. I think all the macro stuff could go away when swapping in APR.

Like many fellow geeks, I've recently returned to the movie theater to watch the Revenge of the Sith. While I enjoyed seeing the movie, I think this review just about covers my feelings on the things that were good and the things that were bad about the movie itself.

I saw the OSCON is in Portland, and since my wife and I want to visit there sometime soon I looked into the price for the convention. The nearly $1000 price tag is fairly prohibitive for my meager personal budget. I long for the old Linux cons NCSU/RedHat used to put on for real people where little money is involved and you could see some of the cool stuff people were doing (back then) in person. I am not too sure the commercialization of that effort really helped open source and free software geeks, except maybe to enlarge the potential job pool involving said software.

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.

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.

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.