Older blog entries for tromey (starting at number 41)


Work here never ends.


Adaptation. Given my extreme negative reaction to Being John Malkovich (a movie that pushed many of my buttons), I went to see this with some trepidation. In the end I found I didn't enjoy it very much; Malkovich, while personally disturbing, was more expertly made on every level. I found the self-referential quality of Adaptation more irritating than clever. There were interesting parts, but it didn't live up to the hype I'd heard.

Revolution OS. This is playing in town now. I went to see it at a film festival and was disappointed. It has no emotional hook.


Someone leaked a Sun memo about the pitfalls of Java. I read bits of it. It was interesting, though I see it largely as a condemnation of one particular implementation.

Lately I've been looking into bytecode verification again. It turns out that the libgcj verifier has some bugs (and the gcj verifier has rather more). I've been wondering how I could ever have confidence in a verifier implementation. A large-enough test suite would help, but it would hardly be definitive. Maybe someone can write a proof for a program like this. That would be genuinely interesting.

mharris: Interesting diary entry, thanks. It reminded me a bit of the reasons for the egcs fork, way back when. Basically, a limited set of maintainers who were unresponsive in some ways, with processes that didn't scale, and no real interest in changing.

Forking worked great for gcc in this situation. gcc probably has an order of magnitude more developers now than it did then. Bug tracking has improved, patch tracking has improved, and the compiler has a whole has seen much important evolution which would have been greatly slowed under the old model. So the culture of openness has really helped. I wish you good luck if this is the course you decide on.

gcc 3.3

Work proceeds. Today rmathew got his copyright assignment approved, so there are some patches to check in. Plus I need to get started on setting up test builds on various platforms.

Build Tool

Nothing recently, but I wanted to welcome bje to Advo.

I survived another holiday.

gcj 3.3

Work proceeds. As usual, a ton of patches have been waiting for the final stage of the release process. So now I'm spending a lot of time on gcj again. On the one hand this bodes ill for quality. On the other hand, we're pretty careful to test the patches we put in, and these days we have a large (but by no means comprehensive) test suite.

It's nice to see Anthony and rmathew here; both gcj hackers.

The New Year

I've thought a little about my hacking goals for the new year. Many revolve around gcj 3.4. In particular I'd like to get AWT working this year (probably achievable) get serialization working (or at least escalated to "don't break this" for patches), and pre-compile Eclipse ("stretch goal").

I also plan to do some work on the build tool. Ideally we'd have our first release this year. Whether that is possible depends on whether other people help out.

Perhaps this year I'll finally get started on the free software movie. It has been stalled since the funding didn't work out a couple years ago. These days I'm planning a different, low-cost approach: film it myself on DV, edit it myself with software I write (or find, though the state of video editing in the free software world is not that great). Most likely I'll start by working on my script and plans, and then interviewing local free software folks. There are other film possibilities, but that seems like a practical approach, given that it is readily broken down into smaller parts.

Build Tool

Ben got subversion running -- major progress! I bugged him about it yesterday, but it turns out that he has been making progress all along, and I just didn't know. And now the egg is on my face since I'm going out of town and won't have much chance to do anything.

gcj 3.3

The trunk unfroze yesterday, so today I checked in a bunch of pending bug fixes. I've also fixed a few bugs and worked out some of the remaining issues. There's a status page.

Wish List

Lately I've been dealing with a lot of libgcj patches. I write one, test it, back it out, and move on to the next. It would be convenient if, once I was satisfied that the patch was correct, I could submit it to some program that would apply it to a pristine copy of the trunk and the 3.3 branch, run the tests I'm interested in, and then send me the results. That is, automate all the annoying stuff I have to do for every patch.

gcj 3.3

Release season is upon us again, and with it the attendant stress and second-guessing. Have I done enough? Can I fix these last bugs? Should I do one last merge against Classpath? The holidays play into this situation in an unfortunate way.

This time I really don't know where I'm going to find the time to do all the things that need to be done. For 3.1 I basically spent several weeks working on the release full-time. This time around, though, I actually have other tasks I have to attend to. My current plan is to push work onto other, possibly less willing, people.

gcj 3.3 is shaping up to be the best gcj release ever. More platforms, more classes, more bug fixes, etc.

10 Dec 2002 (updated 10 Dec 2002 at 23:43 UTC) »

jbucata: The situation is a bit ironic. I don't believe that IBM, Intel, et al, are process-ignorant. It is more that they aren't always very adept at following processes in place for free software projects. I've heard occasionally that this can happen when the company doesn't allow access to the cvs server (making it much harder to participate fully). So education may have to happen in IS more than engineering; I don't know.

For Eclipse (which is largely run by IBM) I've found that the processes do exist, but they aren't disseminated very well. So, for instance, Eclipse nightly builds include automated tests, but figuring out how to run those tests for yourself is not trivial. My impression is that inside IBM, the releng groups runs the tests and nobody sees much need for anybody else to know how to run them. This is a bit contrary to how things are usually done in the "free world".


Yesterday, after a lot of bug fixing and also a couple of questionable hacks, I managed to get Eclipse to start up using gij. This is pretty exciting! There's still a huge amount of work to be done, though, and for the time being I can only do it in my spare time. I expect progress to be slow.

My long term goal for Eclipse is to make it very useful for free software development. Right now we have an integrated development environment on the client side, and then another one (think sourceforge) on the server side. So the next step is to more fully integrate across that boundary. Some ideas along those lines:

  • Let the project inform Eclipse about its processes. For instance, easy automation of patch submission, bug tracking, etc. Likewise, things like standard build commands, testing, could be set up automatically on a per-project basis.
  • Perhaps if you have a project open in Eclipse it could automatically register you as "online" for instant messaging through the server. Closing the project would deregister you.
  • The project could tell Eclipse about its coding standard, and Eclipse could adjust its editors automatically.
  • The project could list its dependencies and Eclipse could automatically check them out (or otherwise ensure they are installed).
That's just a random brainstorm. I don't know if I'll ever implement any of it. Still, it is worth thinking about. As always, I'm open to ideas -- what would make Eclipse useful to you?


Lilo and Stitch. I enjoyed it, though not as much as Monsters Inc. Parts were a bit cheesy for my taste.

Zaitcev: I've had the same "here's a drop" experience when working with large companies. A single large patch of mixed quality without rationale is more or less what we expect to get from Intel, IBM, etc, on the Classpath project. (Actually IBM has been a bit better and actually split it into multiple logical changes, though still without justifications.) More education is required here. Someone could go to these companies and give talks on the standard development processes.


Lately, class loaders are getting a lot of attention. mjw basically rewrote URLClassLoader. I've been doing some work in this area as well; every time I look here I find bugs and oddities that also spill over into the interpreter. You'd think all these bugs would have been ironed out years ago, but I suppose most people precompile their code and avoid the interpreter.


Analyze That. Not as funny as the first one. I was a bit bored.


Lately I've been interested in converting the city to Linux. I think the first step will be to find a friendly way to approach the city IT manager and probe his perspective, the city's requirements, etc. I've been putting off actually doing anything until after the holidays though.


Today I finally finished my patch to teach Eclipse about the common free software cvs repositories. I sent it in. I expect to have to rewrite it again. Right now it only knows about 7 repositories; I'm sure there are a bunch of important ones I'm missing. We've come a long way! Back in the day, says grandpa, there were no public repositories at all. It's hard to believe how primitive things were in 1990.

Not sure what I'll work on next. Probably humdrum bugs again.

Today wondered idly whether the Eclipse platform could be used as the base for a movie editor. I'm guessing there would probably be some significant problems doing it.


Lots of gcj patches from various people lately. At some point the 3.3 branch will be made and we can start making major changes for 3.4. Now if we can just find somebody to do major work on the front end and on gdb.

Build Tool

Not much lately. Waiting for Ben to make the repository.


Man From Elysian Fields. Many people loved this movie, but I found some of the acting to be flat (the main character) and the characters unsympathetic. I loved James Coburn though. Still, don't bother seeing it.

Elling. Delightful movie, quite funny.


Lately depressed about hacking. Seeing old projects slowly become irrelevant and die is sad. Accepting that all is impermanent is a difficult, ongoing lesson.

My most recent consideration here has been: why is it that Mono seems so much more successful than gcj? There could be any number of reasons, and I'm curious to know all of them.


Die Another Day. Ridiculously bad.

Harry Potter 2. I liked this more than the first one. It was darker, more sinister. Unfortunately I still feel that something is missing, there is a core of flatness to the movie. Nevertheless I enjoyed it as a social event. I wonder how they will film book 4, which is twice the size of book 2, which already made for a long movie. Maybe they'll have to split it in two.

32 older entries...

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!