follow me on Twitter

    Blog has moved to, see September, 2003 on new site

    Blog entries for September, 2003

    2003-09-26 (FRIDAY)
    This post moved to

    Our Open Source Architecture announcement is inspiring, if buzzword-enabled. Open source all the way up the stack. I believe this is unique to Red Hat.

    Discovered that the replacement gconf text files backend I wrote early 2002 runs faster and has half the memory usage of the original gconf backend. So we can save a few megs and a fair bit of CPU by just rearranging gconf/backends/ Should be a totally transparent change to users. Feeling kind of silly for doing all the work a year ago yet not reaping any benefits until GNOME 2.6.

    2003-09-25 (THURSDAY)
    This post moved to

    Spent several hours yesterday night and tonight triaging metacity bugs until my eyes hurt. Only got through about 2/3 of them, but the remaining ones are all severity minor or enhancement so I'm not sure if I'll finish. Of course I ended up with far more bugs on the 2.6.x and 2.8.x milestones than we have any chance of fixing in those timeframes.

    Metacity gets surprisingly few people helping out with anything useful, it's really depressing to go through bugs and see so many more people whining for buggy bloat than fixing real issues. I should let people add crack in exchange for fixing bugs. "Fix 30 good bugs and you can add the raise-on-click pref." "Fix 50 and you can add edge flipping." "Fix 100 and you can add a 'focus windows that set input = False' option visible in the control panel and make right click remove the window frame by default." I'm kidding yet I would probably do this. ;-)

    The window list and workspace switcher need love next. I want to find someone to hack on libwnck; that thing seems small, simple, and of interest to many hackers. Maybe Federico will get sucked in...

    Bought Sarah Vowell books this weekend; those are pretty fun to read.

    2003-09-22 (MONDAY)
    This post moved to

    Today Red Hat announced the Fedora Project which is a pretty big deal in my opinion. We have a lot of work cut out for us to enable external contributors, it'll take some time. But we are excited about it.

    Tonight a web site opened a dialog to tell me I had typed my phone number as "NNN NNN NNNN" instead of "NNNNNNNNNN". I didn't even use parentheses or hyphens. Somewhere a developer coded a whole dialog instead of writing a single line of code to just remove the whitespace. Hopefully this person is embarassed. I'm embarassed to be a software developer when I see stuff like that.

    After I fixed the whitespace, it opened another dialog saying I had to fix a date to be "MMDDYYYY" instead of "MM/DD/YYYY".

    2003-09-18 (THURSDAY)
    This post moved to

    Back from a short vacation to go to a relative's wedding. Lots of email built up, and I missed the fun of being on Slashdot on Monday. My comment which was intended to mean "proprietary UNIX will be phased out in favor of Linux for most applications over time" got blown somewhat out of proportion, I should learn to use less colorful phrases. ;-)

    Nice coverage of GNOME 2.4 continues. Sun announced their Java Desktop System. George posted plans for extending desktop lockdown further than it is in 2.4. The file selector plans continue heatedly, and lots of exciting Nautilus changes in the works. A bunch of things that have been in progress for months already are landing in GNOME 2.6, so it's going to look like we did a whole lot in only the 6 month gap until 2.6 comes out. Overall, the Linux desktop world is changing mind-blowingly quickly.

    I hacked on D-BUS a fair bit on vacation and just moved it over to CVS on the new The dbus-object-names branch is looking approximately right; signal connections are the missing piece I want to do before merging to HEAD. Still not happy with any of the possible ways to do signals, but I'll have to suck it up and pick one of them.

    Tomorrow there's a hurricane here, we're inland pretty far but still expect to lose some trees and get really wet.

    2003-09-11 (THURSDAY)
    This post moved to

    This week is nothing but meetings, email, and phone calls it seems like. The only technical thing I did so far was to make 2.4.0 tarballs for my four modules, and I used a bad glib-gettext.m4 and thus they were all broken and Jonathan had to redo them.

    On the plus side, GNOME 2.4.0 came out. The reception of 2.4.0 has been great, lots of friendly reviews and comments, the software rocks, even the release notes were exceptional.

    Also this week, a new developer joined Red Hat. Dan Williams will be working on He's kind of a Mac guy, but unlike some of you "look at my shiny titanium" weenies Dan's laptop is decidedly unsexy, one of those old black powerbooks, about 100mhz. I got to explain the RPM spec file format to Dan, which reminded me that parts of it are pretty inexplicable. ;-)

    2003-09-09 (TUESDAY)
    This post moved to

    Read Blankets this weekend, a nice book.

    Someone working on the HAL.

    Resolved my problem sharing Follow Up between home and work by using the Important flag instead, since that's in imap and I can generate a vfolder from it. Also archived a ton of old mail, bringing Evolution memory usage from 150M to only 60M. I guess if my inbox alone weren't 40M I could get it even smaller. ;-)

    2003-09-07 (SUNDAY)
    This post moved to

    Trying to switch to Evolution. The issue is that I have a computer at home and one at work, and need to read mail both places, with firewalls in between. So I've always just used ssh. People say that imap will resolve this but I'm skeptical; there's just so much stuff in ~/evolution, it seems like when I get to work on Monday important state will be lost.

    I'm especially worried that the messages I've tagged Follow Up won't be available at work, since I can't find any annotations in the mbox files on the server, but I'll be pretty excited if they are. Follow Up promises to be a killer feature for me since it might work better than my mostly-failed system of leaving messages marked unread if I still need to reply to them or take action.

    Evolution really is pretty out of sync with the HIG, and feels sort of needlessly complex overall, so I'm glad to see all the recent work in that area. I feel like a user model diagram for Evolution 1.4 would be pretty mind-blowing at the moment. My calendar is apparently a folder, for example. And I spent some time trying to figure out what Follow Up did, since my immediate expectation was that it would modify my todo list. Instead there's some whole separate concept of "follow up list" - only it seems to be per-folder? I'm not quite sure what "Send / Receive" does either, or whether Evolution checks for new mail aside from when I push that button. Oh, and what the heck does the little envelope with the arrow on it mean? The three message states seem to be "read", "unread", and "little arrow on it" ;-)

    Anyway, it sure is hard to change mail programs. ;-) I've done it several times in the past (mm->pine->gnus->mutt). I'm finding Evolution easier to move to than mutt or gnus were, but I would say Evolution 1.4 is harder to use than pine. I am liking a lot of things about it though. Some of the features such as Follow Up, search, etc. are really nice and promise to save time, and I haven't seen any serious bugs or misbehaviors.

    2003-09-04 (THURSDAY)
    This post moved to

    Mark: nobody coding it so far that I know of, a few people expressed some interest but I haven't seen code. Red Hat is definitely interested. Right now though all I have time to do is try to talk somebody into working on it. ;-)

    Spent Labor Day weekend hacking on D-BUS in response to comments people made at Nove Hrady. Everyone likes this picture. I posted my photos as well.

    In any case, I got object paths working as discussed on the mailing list and also coded up but didn't yet test auto-exporting of set/get methods based on GObject property introspection. At the moment, to write a D-BUS server you simply write a GObject, and register it with dbus_connection_register_gobject(). Properties and signals are then automatically available remotely. To export methods, you have to add introspection data about them by calling dbus_gobject_class_install_info() in your class_init(), which allows D-BUS to marshal existing C functions on the object. The "idl compiler" won't do much; it just creates a static variable definition which is the info you pass to dbus_gobject_class_install_info(). You are also free to type in the variable definition by hand if you like, or to autogenerate it from source code much like a language binding. Comments to message-bus-list.