Recent blog entries for Darin

OK. I really blew it by staying home for LinuxWorld Expo. Not only would I get to see people oohing and aahing over Nautilus, but I would get to meet tons of people face to face. People I've wanted to meet for a while.

And Bud said they would have wanted to use me for some press briefings, which would have been great.

I must not skip any further major trade shows. Especially ones where all the hackers show up in person. It's fun to just sit here at home and work, but I really need to meet these people and connect a little more, like I did in the old days at MacWorld.

We put that Nautilus pre-release to bed a few days back, and now we're back working on fleshing out all the features. Then we get to my favorite part (I admit it). Fixing all the bugs.

I like the publicity the company is getting. LinuxWorld Expo was also useful to us because it forced us to get everything together enough to put out a preview release.

I'm having a great time with all the people at Eazel and the other hackers who help out with Nautilus or just hang out on #nautilus on IRC. The free software world has a lot of the same nice things about it that I always loved (and still love) about the Macintosh software community. Nice people. Recognition for what you can do, what Andy calls the meritocracy.

So our mission at Eazel is to do stuff that makes Linux easier to use and suitable for average desktop users.

And it's hard to remember that, when we're slogging away at Nautilus. Because Nautilus is just a piece of that puzzle, and Nautilus 1.0 is not supposed to be the be-all, end-all anything, just the place to start on that mission. On the other hand, Nautilus is already a lot better than it looks from screen shots. That much I am sure of.

On a separate topic, the way you connect to CORBA from C really sucks when you have another object system right next to it. It would be nice and pretty easy to make a way to use CORBA directly with GTK objects, without having to code to the OMG-style C interface as an intermediate step. Something like this would be a much better basis for developing Bonobo. Instead, in Bonobo, every single class has to do this by hand.

Anyway, it's also a bummer to find what I consider design problems in GNOME VFS and realize that the politics of convincing everybody is the main reason I can't fix them quickly. In particular, the GnomeVFSURI class is an unwieldy interface for dealing with a simple URI string, but I don't know what I'll do about that or when.

Too much to do! Too little time!

OK. I feel way guilty. I mean, what's the point of having this account if I don't use it?

Nautilus hacking has been a lot of fun lately. The version of Bugzilla that Ramiro and I hacked on has been adopted by Helix Code too, so that's kind of nice (although I feel guilty for forking it).

I'm learning more about CORBA all the time, and this turns out to be useful and important in working with Bonobo.

Anyway, I'll put in entries more often. That's my promise to myself.

Our April milestone is done, and that nasty storage leak is gone. That was a satisfying way to spend the morning.

The afternoon was spent with some coding and some meetings. I checked in two small bug fixes to Bonobo, along with a huge tweak were I got rid of some \n characters that were annoying me. Overall a nice day of coding.

A satisfying day.

I got a lot done. Especially satisfying is the fact that every single FIXME in Nautilus now has a Bugzilla bug. We can see the size of the job much more clearly now.

I am pretty happy with Bugzilla. Besides a bit of customization for Eazel purposes, I've also fixed a lot of bugs in it. But sadly these bug fixes aren't rolled back into the original. I'd like to do that at some point.

I'm really enjoying the other members of the Nautilus team and the folks who hang out on the #nautilus IRC channel.


Well, I'm just so damned corporate and team oriented. I'm pretty excited that we worked to define a new version of our April milestone for Nautilus and we'll be able to get it done for next week. I had a lot of fun actually visiting the Eazel offices this week. It's way different to deal with people in person. But IRC still rulez. I think.

And I do love fixing bugs. A big project like the one I'm working on always has something broken to look at. I must admit that our current strategy of getting all the features we intend roughed out before fixing many of the bugs might not be right. I can imagine another strategy where you don't add any features until all known bugs are fixed, but I've never tried that before.

Nautilus has a long way to go, but it has been a ball so far.


I wrote a Perl script today to make my ChangeLog entries for me. I can't believe I've been doing this by hand for so long. Looking up all those function names for functions I've modified and everything. I want this a lot more automated before I'm happy. I'd like to have a graphic diff alongside a half-written ChangeLog entry before I do anything at all.

The good news, a productive day.

The bad news, I won't get all the things I promised done by our Wednesday deadline.

But a visit to the Eazel office in person will be fun. And I'm doing that this week. It will be nice to meet some of the new co-workers face to face.

Spent much of the morning writing a simple Perl script. We have so many FIXME comments in our code. I figured we should come up with a way to correlate them with bugs in our bug system. Now I have to write new bug reports. More than 100 of them!

I can't believe it's Wednesday already. We have our Eazel company meeting every Wednesday, and each one seems to come so fast on the heels of the last one. I attend these meeting by phone from home, so it's kinda tough for me.

This morning was hair-raising.

Federico got the new version of GdkPixbuf checked in. But he forgot about the feature we needed for Nautilus. I was really worried for a little while. Eventually he sent me mail and said he'd take care of it. What a relief.

Well after I updated the GdkPixbuf use in three modules (gtkhtml, eog, and nautilus), I went back to async. metadata in Nautilus. And I managed to make it work! I'll be checking in today.

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