Archive for July, 2005

O’Reilly Open Source Conference

I’ll be at OSCON all next
week, and on Thursday I’ll be giving a talk about the state of free
JVMs. Come by and talk to me if you’re in the Portland area. I’m
really looking forward to this conference, it is the first really big
one where I’m giving a gcj-related talk.

Patch Tracking

Thanks to the omnipresent Dan Berlin, GCC has a patch tracker.
We’ve needed one of these for a long time.

I was hoping monotone would fill the role — what better to track
patches than a version control system? — but that, unfortunately,
still seems distant. Still, that is where I would rather see things
go; it is very convenient to have everything directly in version
control. It seems to me that the difference between patches being
submitted and those checked in is really a matter of approval and not
a difference in how we want to manipulate them, and that having two
different systems to handle patches whose only difference is an “OK”
from rth is clumsy.

Not Automake

I saw a note about gaudi on
Planet Gnome recently. This is an automake-like program written pure
using GNU make constructs. I think this is a great idea whose time
has finally come — let’s just kill the other make variants. Ten
years ago it made sense to cater to weird system; I even did automake
testing on an Ultrix machine. Nowadays, well, we’re better off making
the world follow us.

I think this will never be my ideal build tool, unless someone
adds a second syntax to GNU make to make it less insane (not to
mention some feature upgrades like file signature tracking). But,
with work, this tool could be a viable and better-performing
replacement for the autotools.

What I would like to see is the various configure checks rewritten
as make rules. This sounds crazy, and it kind of is, but it would
have some very nice benefits. First, it would mean that configury
would be parallelizable. Second, done properly (meaning: no more
recursive make invocations), it would mean that even in big
multi-configure trees you could just do each check a single time.
Third, it could simplify maintenance — remove a dependency and the
corresponding configure checks would disappear.

The Last Shot

A cute and sometimes funny film based on a true story about the
FBI making a movie as a sting operation. They kind of tacked a
Hollywood ending on it though.

The Wedding Crashers

I love Vince Vaughn and his crazed raconteur style of humor. Also
I have an unfortunate affinity for goofy, slapstick movies. This
movie didn’t disappoint on either count.

Fun fact: this movie inspired a Colorado representative to
introduce a bill making it a crime to falsely claim to have won a
purple heart. Colorado lawmakers are a really bad bunch; in fact I’ve
noticed before that most of the “national” news coming out of Colorado
is typically demented or sadistic.

The Bad News Bears

Even though they left out the controversial line about smoking
pot, there is plenty left in there to offend. I saw the original a
long time ago, I don’t remember it being quite this outrageous. I
enjoyed it, though the one joke gets fairly old after a while.

Big Classpath Merge

I finally checked in the Big Classpath
. This has been hanging over my head for quite a while; I’m
happy to have it all checked in. This should greatly reduce the
amount of time we spend merging fixes between Classpath and libgcj.
Now you should be able to check out Classpath directly into your gcc
source tree and build that way.

Fantastic Four

Marvel never had the best comics, and this translates pretty well
to film. Or, in other words, this movie was pretty bad. Avoid.


At the theater I saw a poster for V for Vendetta. This is one of
the few graphic novels I own, and I’ve always hoped they would turn it
into a movie. I hope it lives up to my expectations.


I mentioned Jump
in passing last week and a helpful reader pointed me to its successor,
uDig. uDig looks pretty
cool. It is written as an Eclipse RCP application, which is fun.
Read the
, some screenshots are there.

My correspondent (I’m not sure of the etiquette here so I opted to
keep him anonymous) also writes that this won’t work with Classpath
yet, as we don’t have Java3D; but he adds: “However, no one expects
that situation to last indefinitely and we are all looking forward to
escaping the java trap.” How nice to hear that.

Batman Begins

Although parts of this movie were goofy — such as the glaring
logical inconsistencies in the villain’s reasoning, or Bruce Wayne
pointlessly hammering boards over the well behind his burnt out
mansion — I still thought it was the best of the Batman movies. I
enjoyed the atmosphere of this film, which was spookier than the
others. Also I liked the casting choices.


On the recommendation of Anthony, who was visiting
late last week, I played around with iRATE a bit. iRATE is a
collaborative music rating program. It plays (freely available) songs
for you and you rate them; over time the music you hear “gets better”
as it tries to pick songs that it thinks you will like. This seems
like a good example of the kinds of user-information-based
applications O’Reilly was talking about last year or so.

iRATE is written in java and uses SWT. It runs fine with gcj.
However, while looking over the web site I noticed that it has a JNLP
launcher, so I spent some time trying to get this to work.

What a pain that turned out to be. First it found some lurking
bugs in our HTTP protocol handler code (and there is at least one
sub-optimality remaining; though it is somewhat tricky to fix well).
But what really stopped this project turned out to be a kind of clash
between our AWT peers (using Gtk) and SWT (also using Gtk). The JNLP
code brings up a window to tell you about the progress it is making
downloading your application. Then once iRATE is available, it starts
SWT. Unfortunately the two, somehow, disagree and the result crashes.
What makes this particularly sad is that it works fine on the
proprietary JDKs simply because they don’t use Gtk and thus there is
no clash :-(

I’m sure we’ll fix all this somehow. It is a bit
discouraging… but we’re very close to having an actually useful
application web-startable. That is pretty cool.


A other cool java program I heard about recently: Jump, a big GIS