It's the first snow of the year here in New York. Whee.
I'm glad to see that Advogato is back up; I can post blog entries again now.
One of my software patents has been granted. Time to contact some sort of free patent foundation.
I've been sad for the past week, and not very interested in software. Nancy's pregnancy didn't take. Dimitri may end up being an only child.
I have three software patents pending, which I've filed for on my own. It is expensive -- several thousand dollars of legal fees each. I was working on them yesterday, wondering why I still bother, since the software startup that I started the applications for has long since folded. But I will grant a perpetual royalty-free license to them for any software that meets the Debian Free Software Guidelines.
I was disappointed to see that Debian's glibc apparently does not use the GS register to store per-thread data. This means that I had to compile a version of Jikes RVM that won't be capable of exploiting SMP processors. The correct fix to the problem would be to get rid of Jikes RVM's m:n threading. I wonder how much work that would be. It would solve other problems as well, since otherwise any JNI calls we do on such a platform may hang. However, a much better bet would be to finish the self-bootstrapping work that I paused in order to build the Debian packages before Sarge gets frozen.
I found out why I was so unenthusiastic about driving Dimitri up to Boston. I have a nasty cold of some sort -- been coughing up green mucus.
I spent much of the weekend resting.
Am still working on packing up Jikes RVM for Debian. My application to be a Debian Developer is currently holding, waiting for an AM.
I took my son, Dimitri, up to Boston for Easter and to visit with Dylan, his best friend from our old home in Los Angeles.
We might be able to go up and see Dylan again tomorrow or Saturday. But do I really want to drive another four hours each way (8 hours round trip) just so that he can see his friend? Do I care more about my convenience and my enthusiasm for hacking on Jikes RVM, or about my son's friendship? And how much will this matter a few months from now?
I certainly don't need to put in the hours at work; I've been putting in plenty of overtime.
I built Jikes RVM with its optimizing compiler and adaptive system last night, using entirely free tools. Hooray, another milestone. I use a two-stage build process; Kaffe OpenVM makes a Jikes RVM BaseBase* build (one with the baseline compiler only). Then we make an *Adaptive* build using the just-built BaseBase Jikes RVM to expand the templates and using Kaffe to do the Host VM's other work.
I've already merged the code to make optimizing builds into the CVS trunk, including what I hope is full documentation on the process. (I would like to get feedback on the documentation.)
We plan to cut the 2.3.2 release, including these features, next week. (We missed cutting the release last week, due to server trouble.)
There are several next steps. One of them is to add the free builds to the current Jikes RVM nightly regression test suite. Another is to adapt that regression test suite so that it can be run by a remote developer who doesn't have any of the unfree benchmarks (SPECjbb, etc.), and to further adapt it so that it doesn't require you to have all of the the free benchmarks installed. My goal is to let anyone build Jikes RVM using free tools and immediately run regression tests against the just-built VM.
Once the free builds pass all the tests consistently, I hope to work with Debian or another distribution so that we can ship a free working JDK and JRE that use Jikes RVM; SuSE Linux has included a kaffe package for years (at least since SuSE 6.1, which I installed in May of 1999).
Yet another day of staying up late last night and getting up early to work on Jikes RVM. We're prepping for the 2.3.2 release. I'd like 2.3.2 to come out able to make optimizing builds using entirely free tools, not just able to make images that use the baseline compiler.
There's a bug in how the InstructionFormats.RAW file is generated when we host the build under Kaffe OpenVM. Only a few characters are different out of over 840KB. But that's enough to break optimizing builds.
In a fond hope of resolving the problem, I started to make builds using gcj and gij. Well, I just made gij 3.3.3 die with a segmentation fault; this time while building the BootImageWriter. I suppose it's comforting to know that Jikes RVM isn't the only system with issues. I can see, though, why most people who aren't ideologically committed to free software probably use the Sun JDK or a Sun-derived one (Blackdown's or IBM's).
I was interested to read about the Monotone distributed version control system in tromey's diary entry posted on Planet Classpath. It would have been nice to have had something like Monotone when the Jikes RVM CVS server went down earlier this month. I wouldn't want to trust our repository to it as the primary technology (CVS is far older and more stable) but I wonder whether we couldn't easily put together some sort of unidirectional CVS => Monotone gateway . The other direction would be difficult, of course, since CVS doesn't have Monotone's features.
So, I read that the European Commission will place obstacles in the way of Microsoft "using Windows to gain an edge elsewhere". I am excited about what this may mean for greater diversity in commonly-used software, and about the opening up of the protocols that Microsoft software uses to communicate.
Some choice quotations from the article:
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!