Archive for the ‘Uncategorized’ Category

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
Merge
. 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.

Upcoming

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.

GIS

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
tutorial
, 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.

iRATE

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.

Jump

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

GlassFish Oops

I actually went and read through the GlassFish project
web pages
(well, just the main page, since parts like the FAQ
inexplicably require a login and acceptance of the JRL — haha) and I
see I was mistaken. It turns out this is their application server,
not the JDK. So, ignore that earlier entry where I wrote a lot of
irrelevant nonsense.

Instead, contemplate the pointlessness of this partial move when
you can already use jboss or jonas.

I’m sure someone will write to explain how I’ve got it all wrong
again. It didn’t start that kind of day, but evolved that way.

Shenanigans

I read that Sun
tries another approach to sharing Java
today. They apparently are
starting something called “GlassFish” which is somehow a window into
their development process.

Actually from the article it is hard to tell whether this is a new
effort or just the same old one with a new label. But, like many
others, I don’t care any more. I think, at long last, we’re reaching
the point of exhaustion — we’re all tired of seeing Sun’s orbit
slowly decay toward free software without ever actually reaching it.
Also, I find I’m experiencing a kind of brand confusion, with the many
different licenses and approaches that I’ve heard about. It is hard
to keep them straight, and pointless to try.

I don’t know why Sun does these goofy things… they aren’t going
to open their implementation, which is fine. Nobody is really fooled
by their attempts to get folks to help them without getting real
rights in return. The free community and Sun simply have different
desires on this point. Why try to be other than what you really are?

As for IBM: time to step up to the Harmony plate. For instance,
we think you can help us finish Classpath :-). Petitioning Sun for
(our kind of) openness is a proven waste of effort.

Regain

This weekend I looked into Regain a little. This is a
desktop search tool written in java that uses Lucene.

Unfortunately at the moment it is pretty raw. It uses Swing, and
one of its dependencies uses awful reflection hacks to get at
Sun-specific classes — I think to make it possible to have an icon
show up in the Gnome notification area. Needless to say, at least the
GUI isn’t working with gcj yet.

I think the way forward is to reuse the indexer from regain but
write a new GUI using java-gnome. This looks surprisingly
simple.

Other interesting projects in this space are: Lius (additional
Lucene indexers), LucQE (query
extender), and Searchy (search
results aggregator).