Wed 13 Jul 2005

  • bugs: There are forty bugs against the screenshooter! It just takes screenshots, for heaven’s sake — how can it be that buggy?? It looks like I’m definitely going to spend some time going through these bugs soon. The highlight of these is a patch from Dan Winship to draw the cursors in the screenshots. Awesome!

  • cooking: After the disasterous All Star game, we made a fruit tart. The crust came out really nicely and the fruit was beautiful. Unfortunately, we accidentally bought tiramisu marscapone instead of plain marscapone which gave the tart a slight coffee flavor. It wasn’t bad, per se, but it tasted a little weird.

  • bookworm: Zana has been bugging me for a long time about adding better syntax checking to bookworm. Instead of doing this, I spent a couple nights teaching her Python. She picked it up really quickly, and she spent most of tonight adding a bunch of sanity checks to the code. It should fail a lot less now.

    Tomorrow, we’re going to tackle the overview dialog and get that going. We’ll see if our relationship survives me teaching her about GtkTreeView…

Tue 21 Oct 2003

  • bookworm: It’s getting to be in pretty good shape. There aren’t too many crashers that I know about, and Zana’s definitely able to add more books. I also have another potential user, bringing the grand total of known users to two!

  • computer: I bought myself a new computer! It’s the first desktop machine I’ve had in a long time and I’m pretty excited about it. I don’t have a monitor or keyboard for it yet but I should have one soon.

Fri 10 Oct 2003

  • work: I’ve been wrestling with rhgb for the last week or so. I’m still not really satisfied that we’ve gotten all of the kinks out of it, but it’s much better than it was last week. We’ve gotten it to the point that it doesn’t slow down the boot much more than it booting without it (on the order of 6 seconds on my test computer.) I’m much happier with the approach we’re taking now that kudzu doesn’t conflict with the X server. With some luck we can get a nice GTK+ front-end to kudzu in the future.

  • book: I am reading ‘Changing Planes’ by Ursula Le Guin. It’s very light and easy to read, and I am enjoying it much. It is also entirely predicated on a pun. This is more in keeping with a junky Piers Anthony novel than her other books. Additionally, it is explicitly airport reading material which leaves an ever-so-slight bad taste. Perhaps I should be saving it for a trip somewhere.

  • Bookworm: Everytime I think I’m getting closer to finishing this, I find a new bit that needs fixing. Zana is getting quite impatient. This weekend, it will be usable.

  • GNOME: There’s an upcoming summit in New York. I hope we get a decent turnout. It’s very last minute, though.

  • google: I’m losing the google battle for the term ‘Blandford’ to my Dad. I need more links to my page.

Wed 01 Oct 2003

  • Bookworm: Did a lot more work on this tonight. Found a tricky little bug in Library.py that I have now fixed. I feel like I could have done a nicer job of the overall design in places, but I’m pretty happy with how the code is looking. I got it so that adding a new person to the database through the UI completely works. Next is to finish off a Person/Job linking dialog and to finish dehydrating the new book dialog. Then Zana can start adding books. But as I have a release team meeting in seven hours, I’m not going to finish tonight.

  • Python: Gosh, the combination of python/glade/gtk+ is really nice to work with. I wonder why no-one has written a book on this. I wonder if glade is the weak point here — it’s interface has something be desired. Still, this would be quite a useful book to have. It would bring a lot of development to GNOME.

Sun 31 Aug 2003

  • GNOME Lore: Apparently not everyone in the GNOME project knows what a Soptimization is. It’s a %0.001 speed up of code at the extreme cost of readability.

  • Bookworm: Elliot Lee’s wonderful db to Python class code is really making this easy to write. I’m almost at the point where I can make a semi-public release. I might even post screenshots.

Mon 25 Aug 2003

  • GNOME: Had a surprisingly productive day building packages. Libtool still makes me contemplate taking up self-flagellation as a hobby, though.

  • Maintenance: I had to leave work a bit early to get my car from the repair shop. A gasket in the oil tank started leaking. As is typical with the problems with cars, it was $15 to get a replacement part and $250 to install it.

  • Bookworm: With the house much more under control, I’m back to working on Bookworm again. I’m really not happy with the interface, but it’s functional. A surprisingly large number of people (like three) have asked for it recently, so I am going to try to get it somewhat usable. I had an enjoyable discussion with Seth about the nature of Assistants, and how they should work in GNOME.

Sun 25 Aug 2002

  • work: Been a really hectic month. I’ve been working 12-15 hour days the last month or so on the next Red Hat release. It’s somewhat therapeutic to go through a bug list, and just close as many as you can. On the flip side, these hours are getting very old. Zana’s been very heroic putting up with it, but we both are going to need to take a break after this.

  • Void/Limbo: The beta’s have been surprisingly well recieved, a few small flame wars aside. The things that we expected to get flamed on (UTF-8, new gcc/glibc etc) were not remarked on. Everyone seems to get worked up about the pixels. On one of our testers list, there’s a thread complaining about us making GNOME look like KDE. On another, there’s a thread about us making KDE look like GNOME. People are also complaining that we’re copying Windows XP and OS/X. Maybe we’re doing something right, if we’ve riled up this many people.

  • bookworm: I have no time to work on it, unfortunately. I need to port it over to use the pgdb module, and clean up the UI a bit. Zana has been pestering me to finish the ‘Add Book’ druid so she can actually use it. Need to finish the next RH release…

Sun 04 Aug 2002

  • typography: At the GNOME Boston Summit, Owen gave an excellent talk about the parallels between typography and gui design. He made the point that a lot of the rules and conventions that typographers have are generally applicable to ui design. Typography as a field has had 500 years of trial and error to determine many of their principles. Computer interfaces have had only twenty or so. We are missing a lot of the vocabulary needed to describe various conventions and interface elements. Inspired by this, I went out and bought a copy of “Elements of Typographical Style”.

    This is an impressive book. I am thoroughly enjoying reading it, and am learning a huge amount. It gives rules (and more importantly, rationales!) to many of the things I do when desigining a dialog.

    It also raises the issue of what the important elements of an interface actually are. Consider an error dialog. It has a primary text message, a secondary message, an icon, and some buttons. It may also have extra details. Good error dialogs will also provide a way to fix the issue. This is crying out for some form of ‘logical’ markup, along the lines of docbook or latex, or even gtk_message_dialog_new (parent, flags, type, buttons, message);

    This approach breaks down the moment the interface gets sufficiently complicated. Every UI I’ve seen that tries to automate it’s UI has looked dreadful, and has been pain to deal with over the long run. Still, there are plenty of elements that exist on a larger scale than the current widget level. That seems to me to be the next place we should be looking into. I’d like to spend some time adding a set of ‘style sheets’ to the GNOME hig. I’m hoping to have a week or so to dedicate to this at the end of the month.

  • War Craft 3: Sucking away my life and my time. I can feel it… Weirdly enough, you start out playing a bad guy.

  • bookworm: I tried to work on bookworm again. I ran into problems serializing data, and creating new objects. My beautiful (and copied from Elliot) Library.py model is breaking down a bit. I can’t really create a new row in a table and then fill it — I have to insert some of the data simultaneously at creation time. This is a pain, as I’d hoped to be able to do:

    obj = library.create_object (‘Library.book’) obj.name = ‘Pride and Prejudice’

    I will have to do:

    obj = library.create_object (‘Library.book’, name=’Pride and Prejudice’)

    While this is shorter, I may not know all the information at creation time.

    Additionally, there’s no way to nest transactions (not too surprisingly) in postgresql. I would like to do:

    library.begin_transaction () obj = library.create_object (‘Library.book’, name=’Pride and Prejudice’) library.begin_transaction () obj2 = library.create_object (‘Library.person, name=’Jane Austne’) # whoops library.revert_transaction ()

    library.begin_transaction () obj2 = library.create_object (‘Library.person, name=’Jane Austen’) library.commit_transaction ()

    obj1.author = obj2 library.commit_transaction ()

    Will spend tomorrow thinking how best to do this. Elliot does it by serializing his transactions, and committing them all at once. He doesn’t need to access his information in the middle though, which lets his transactions be write only. I don’t want to replay the transactions to determine the state. Or rather, I don’t want to write the code to do that. This simple little project of mine is starting to get complicated.

Sun 07 Jul 2002

  • sick: I’m a bit better, and will try to go to work tomorrow.

  • music: Zana and I got a fantastic new set of speakers a couple weeks ago. Sibelius Symphony no. 3 (performed by the London Symphony Orchestra) was on the radio tonight. It was wonderful to sit back and code to it.

  • bookworm: I spent the long weekend working on a new project. As I wasn’t feeling well enough to do much else, I thought I’d try to learn something about databases.

    Zana and I have been using a spreadsheet to organize our books for the past couple years. As good as gnumeric has become, it’s very clearly the wrong tool for the job here. We can’t sort the books in any meaningful fashion, let alone make any interesting queries.

    The result was that we spent the last couple days setting up a postgresql database and entering some books. I’ve been writing a frontend to it that we’re calling ‘bookworm’. It’s taken a bit longer than I wanted to write (partially because I’m sick), but it’s starting to look almost useful. I’m getting done with the ‘person’ dialog. I’m not sure who else would be interested in this code (other than possibly Federico), so I’m not sure if I should check it into GNOME CVS. Still, it took my mind off my headache.

  • music (redux): Sibelius finished. Now I’m listening to Shostakovich’s fifth. This is a great piece to listen to while recovering. It fits my current mood a lot better, too.