Older blog entries for tromey (starting at number 32)


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.


Today I finally got interested in actually doing something to Eclipse. I started adding some code to the cvs perspective so that Eclipse will know about the standard free software repositories and make it easy to check out your favorite projects.

I find it is easier to engage if I think about how I can change Eclipse to make it more useful for free software hackers. This isn't a surprise; I've known my agenda for a long time.

Another thought I had was to have a way for a project to specify its coding standard in some top-level file. Then the Eclipse editor would automatically adjust. Implementing this is probably tricky. I wonder why Emacs doesn't already know how to do this.

I'm generally interested in ways to make Eclipse fit with the free software community better. If you have a cool idea, send it my way. Well, send it my way knowing that I can't promise to implement it.


Bowling for Columbine. I think Michael Moore is pretty funny. Plus, once I briefly met him while standing in line at a film festival (the personal event makes someone more likeable). This movie was darker than I expected, and turned a pretty ordinary afternoon into an emotional event. However, I was also disappointed by some of Moore's inaccuracies, and also a few cheap shots he took. Sometimes that can be funny, but it was out of place in this film.

Femme Fatale. I saw this since Roger Ebert liked it. Ordinarily I don't do that, but his essay swayed me. I've seen him speak a couple times here, and that gave me more appreciation for what he does and how he thinks. Nevertheless, I hated this movie. In fact, I think the plot device De Palma uses (I'm not going to spoil it here) should be banned henceforth from film. And books and poetry, too. This trick (if you've seen it, it is the scene where the main character wakes up in the bath tub) overshadowed whatever other enjoyment I got from the film (there was some, I grudgingly admit). In fact I ranted about it all week to my friends and was quite a bore on the subject.

On the subject of movies, from time to time I look into movie editing for Linux. The field is pretty empty. I've considered writing my own editor, which would be pretty fun, but unfortunately time is scarce. It will be more pressing once I've got something to edit, I suppose.

I've been out of town a lot lately.


gcj is getting some good attention lately. I keep hearing from people wanting to use it. Inspired by this, this weekend I did some AWT debugging. I've eliminated all the outright crashes from the test program. It's easy to make progress on this; I just wish more people would give it a try.


The Gleaners. Saw this again and liked it just as much. I'll probably end up buying this one.

I Spy. This got bad reviews, but I saw it and laughed. Parts are dumb, and overall it is predictable, but I enjoyed it. Owen Wilson's goofy persona sometimes wears thin. I picture him playing a Woody Allen-like character in some future movie.

Build Tool

Discussion on the build tool is proceeding nicely. Ben's class is ending, so hopefully soon he'll have more time to work on it; it will be nice once the subversion server is set up and people can play with the prototype. Currently we're mostly talking about front end issues, but also some use cases. Also, Ben's going to give a talk on our plans in Australia (I don't know exactly where).


Super Troopers. I rented this on advice from a person at Video Station. Video Station, btw, is an awesome local video store here in Boulder. The employees are very knowledgeable. I talked to someone who applied for a job there; they give you a movie quiz that most people fail. Anyway, this movie struck my funny bone in a way few movies do. I had to pause the tape since I was laughing too hard. It literally hurt, and tears were coming out of my eyes. Still, I suspect the movie isn't really as funny as I thought; sometimes you happen to see a movie when you're in exactly the mood required to fully appreciate it. Nevertheless, I enjoyed it, especially the character played by the director (who I thought was a fine actor).

Secretary. This is an odd movie; I'm not quite sure what to write about it. I found the ending a bit unsatisfying, since it seemed to be a very mundane, happily-ever-after ending for what had been up until then an anything-but-usual relationship. It absurdly reinforces the dominant cultural values, against its own apparent logic. It is worth seeing, though I probably won't ever see it again. (Watching a movie twice is a real test for it.)


The Transporter. This movie has laughably bad dialog. I literally laughed out loud, probably to the irritation of the mostly adolescent audience. Parts of it were creative, though shot in an over-the-top style reminiscent of The Brotherhood of the Wolf. I enjoyed it the appropriate amount.

Build Tool

Not much work lately. Still thinking, doing some reading, running through various scenarios in my head. Currently I'm composing a message with a strawman for one approach (the "new language") to a front end. Later I may write up another approach (the "reuse" approach). This phase has taken on a sort of circular, conclusion-free flavor that I am not enjoying.

After playing more with ant, I've decided I definitely don't like it. Perhaps I'm missing something, but to me ant seems in many ways less useful and capable than make.


For now I've stopped trying to get Eclipse to work with gcj, and am instead looking at fixing bugs important to a Linux audience. For instance, the Ecilpse cvs plugin doesn't preserve the executable bit on checkout.


Still trying to get Eclipse to work with gcj and/or gij. This is a slow process. libgcj has some bugs, and some missing features, and unfortunately Eclipse seems to touch them all. I do think I've finally run into a bug in Eclipse and not libgcj, though it is still too soon to tell.

Eclipse is still a weird parallel universe. They do everything backwards and then explain why. For instance, builds don't stop when they hit an error. They just keep going, and the build exits with status 0. This is explained as "we have too many plugins to stop if one gets an error". Ok. So, you write a script to work around the problem...

Build Stuff

Alexandre is releasing the new automake today. I haven't worked on my new build tool in more than a week now. Bummer. I'll start again once Ben gets the subversion server set up.

Last week I did start the C tool factory. I also wrote a couple new variable types. So now the CC variable is used to find the C compiler, and then the tool factory instantiates the correct tool (currently only gcc exists). So, the prototype has already eliminated the need for depcomp.


My second class started last week. It turns out that the first class didn't cover enough material. So now I'm behind.

Build Tool

Not much work this week. However, I have done some thinking about the front end. My current plan is to build things so that all work -- not simply the work of running the build instructions, but also the work of elaborating the tree -- will be done in parallel. This requirement is a consequence of allowing one step of the build fill in new dependencies for a subsequent step. I've also thought a bit about requirements for the lexical structure of the input files.


What's Up Doc?. Watched this again, probably the 5th or 6th time. I love this movie. It is a nice homage to the early screwball comedies, and is hilarious besides. Some people I know won't watch it since it starts Barbra Streisand; fortunately I'm not victim to that particular ideological narrowness.

Il Mostro. Another Benigni comedy. This one wasn't as funny as Johnny Stecchino.

Eclipse and gcj

As often happens, someone sent in a patch for one of the gcj bugs I was planning to fix. That's some odious debugging I don't have to do :-).

SWT, as it turns out, is not 64-bit clean. And changing it to be so looks to be a fair amount of work (which, eventually, I'll probably have to do). I find this irritating; it isn't hard to write 64-bit clean code from the start.


Blood Work. This movie was entertaining enough, but not one of Eastwood's better efforts. I did enjoy the fact that he owned up to his age and played an aging cop in poor health -- a nice touch of reality rarely seen in Hollywood films (yesterday I saw in The Onion: "Woody Allen's Third Wife Born").

In one scene, Eastwood is interviewing a computer programmer in his cubicle. On the shelf behind the programmer is a copy of RHL 6.1. That's nice, but even nicer is that there is also a copy of the autobook. It is blurry, but I like to think that's what it is.

American Astronaut . I went to see this again last night. This time Cory McAbee was in town to promote it. He also gave a concert (I didn't attend). He's an interesting and charismatic guy. Anyway, I learned some things about the movie, and I always like hearing from the directors and learning about their processes.


There's Something About Mary. Saw this (again) at the outdoor theater this week. It was funny, though not as funny as the first time I saw it.


More work on making Eclipse build. I fixed a few random bugs and made stack traces print interpreted frames nicely. There's nothing like compiling a large application to shake out the bugs. Next we have to fix class loading. At last.

Last night I looked at AWT again, a little. I didn't have time to make any progress; I was just reorienting myself.

Build Tool

I've started on the logging interface and I've done some more internal cleanups. I've also started thinking about the front end design (not syntax, but available functionality).

Eventually I'm going to want someone to read through the design and the ideas and help me see if something obvious is missing. I frequently prefer working in a collaborative mode, where I have someone to help with decisions and tradeoffs.


Tadpole. I loved this movie and laughed out loud quite a bit. (I'm a sucker for movies shot on DV.)

Build Tool

Last night I looked into making the build tool impervious to comment and indentation changes in C source. This turns out to be quite easy conceptually: you simply base the file's signature on a tokenized form of the source file. This is feasible if your tokenizer is relatively fast. I'm putting off writing this code, since it isn't entirely trivial and there are more important things that must be done first. I imagine it would be most useful to enable this by default for .h files in the project, and use a (presumably) more efficient text-based scanner for other sources.

I've also figured out how to make "config.h" files work well. The idea here is to change cpp to output more dependency information. Then config.h can compute its signature based on the defines actually inspected by a given compilation. This means that, say, adding a test to config.h will only cause a rebuild of those files which actually use the new define. Something like this would be nice for large projects.

Both these ideas are easy to implement in the current framework.

I've been re-reading the Odin paper again. I always forget how different this approach really is. Odin doesn't put intermediate files like a .o into the build tree. They exist only in the cache. I doubt I'll be going that route. For one thing, I've found that I occasionally look at the .o files to debug some problem or another. Also it feels "too different".

Tonight I'm just working on general cleanup.

23 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!