Mon 03 Mar 2003

  • GTK+: Spent a couple days this week getting the GtkTreeView to work in a RTL locale. It was the last major widget in need of support added – though it showed some RTL bugs in other widgets. As an added bonus, I also got column expanding working, which should make Seth very happy. I’m pretty excited at how well it worked, though we need to do a bit more work to be fully RTL compliant. It would be a good target for 2.4.

  • Mime: I’m now tasked with fixing the mime-system in GNOME. fun.

  • Life: Had a very pleasant day with Rosanna. We went on a walk with the dog down the Bolin Creek trail. It was a wonderful 60 degrees outside, and though it kept threatening to rain, it never quite did. It was a good change from ice storms. We also saw some bird houses painted Carolina blue. Zana correctly guessed they were Eastern Bluebird houses. Two points to her. We ended up walking to Cafe Driade along the way. They have simply the best Cappucino in the Chapel Hill area.

Fri 14 Feb 2003

  • Life: I’m going to ask for a transfer to the Red Hat office in Massachussetts. There are a lot of little reasons for asking for this change. None of them are quite big enough to push the move by itself, but as a whole, they add up to being quite compelling. I’m going to miss a lot about living down here (mostly people), but I’m not going to miss the Commute. Simply put, I was spending eight to ten hours a week in my car. My waking hours are too precious for that. Once I’d decided to move, asking for the transfer became a lot easier.

Fri 07 Feb 2003

  • Culture: As a change of pace, last Sunday I went to the Opera with Zana and Owen. The NCOC was playing Saint-Saën’s “Samson et Delila.” It was a lot of fun to dust off the suit and go out for a change — certainly more compelling than the Superbowl last weekend.

    After the Opera, we went to Barnes and Noble in Cary for a bit. While there, I found a copy of The Art of the Fugue played by the Julliard String Quartet. This piece features prominently in “An Equal Music”, my current book. I think this recording inspired the author a lot. In the book they have to have a special viola made to play a fourth below the normal range, echoing a comment made in the liner notes. They both go into the (admittedly much discussed) numerology of the Art of the Fugue. Either way, I’ve been listening to the music on my way to work every day. They’re just about the perfect length — I finish the first disc just as I get to the office and I finish the second disc close to Carrboro. It almost make my current commute pleasant.

  • Pirates: Speaking of the Superbowl, Zana and I through a Superbowl party last Sunday. As the game featured the Raiders versus the Buccanneers, I decided to hold a pirate themed party. Lots of fun was had by all but the Raider fans. I put a copy of my invitation up at: http://jrb.webwynk.net/files/pirate.html

  • Cars: Bad month for cars. Havoc, Garrett, and my brother all lost the use of their car after they were hit. Be careful driving.

  • Anders and Richard: They have a cool, secret project. I can’t wait until they check it in to public CVS.

Sun 02 Feb 2003

  • Entertainment: Not a very productive day, but a very fun one. I went out to see Chicago with the Foxes today. We strangely ended up carpooling in one car to downtown Chapel Hill for dinner and coffee. Then, we headed away from town to pick up the car, which Zana and I took right back into town.

    Chicago was fun. Catherine Zeta-Jones was much better than expected, as she is much more talented singer and dancer than I had known. The rest of the cast were better actors than singers. Still, the music and script carried them along well. The one disappointment to me was Queen Latifah as Mama Morton. If there was one role that called for a big, brassy delivery, that was it. However, she didn’t sing nearly as aggressively as I would have hoped for.

    Nonetheless, I can’t help but compare this to musicals of the past. The film was slicker, the quality of the editing and sound was much better. The acting was as good or better than any of the musicals I’ve been watching recently (especially the super-smarmy Richard Gere). But gosh darn it, the singing and dancing just wasn’t as good. Fred Astaire, where have you gone!?!??

  • basketball: Sometimes, it’s nice to just sit back, relax, and watch the Lakers win.

Fri 31 Jan 2003

  • themes (interlude): Before I talk about how the theme capplet went wrong, let me mention that I’d been wanting someone to make a themes:/// vfs layer. I’d done a lot of the work needed. Someone needed to just take the work done by James and that in capplets/common/gnome-theme-info.[ch]. I tried to recruit some people to do it, with limited success. I had a few nibbles, but no bites. Then, some guy writes ‘themus’, checks it in to GNOME CVS. It has a lot of work to go, but is a good start. More importantly, the guy who did the work is energetic and enthusiastic.

    And, most importantly, we now have modules named ‘fontilus’ and ‘themus’ — the two founders of GROME.

Thu 23 Jan 2003

  • Christmas: It’s been way too long since I’ve updated this. Christmas is done with. It was fun, but short. I am not sure I know how to vacation anymore as I spent much of it worrying about various GNOME and Red Hat responsibilities. I knew I should relax, but wasn’t really sure how to. To make matters worse, a close family friend was struck by a car on Christmas day. We spent much of it in the hospital waiting room.

    Christmas was also tempered by the fact it is likely to be my last one in Los Angeles. My dad recently got a job heading a new astrophysics facility at Stanford University. He’ll likely be moving to Northern California in the Fall. More info at:

    http://news-service.stanford.edu/news/2003/january22/kavlifinal-122.html

    This is great news for him, and I hope he is able to make the most of it.

  • toy: I got a danger phone for Christmas. This is a great, great toy! I love it!!! It is also obviously much closer to what the future of cell phones will be like then my Nokia. Good job guys.

  • themes: So, my theme capplet was basically a bust. I have gotten a lot of complaints about it — mostly private. People don’t like the way it acts, and quite frankly, I don’t blame them. The current UI is definitely a big compromise and it shows. I was very aggressive in trying to get it into GNOME and I probably should have backed off. Unfortunately, the old stuff wasn’t much better and wasn’t really worth reverting to. So what went wrong?

    The big problem was trying to fit the theme capplet into ‘The Capplet Way’. Before I go on a little more, I should probably explain this as it has never been explicitly written down. When Bradford and I first started on the control-center for GNOME 2.0, we decided to make the capplets instant apply at the urging of Seth. Despite being a little dubious we gave it a shot. The results were surprisingly pleasant — especially for things like the mouse capplet. After playing for a while, we came up with the following rules:

    1) Every update of the capplet must be triggerable externally. This means that the capplet can’t necesserily validate the data that gets set.

    2) No change by the capplet can be limited to a local scope. This means that, if the user modifies the capplet, it must immediately propagate. Along those lines, capplets must be as stateless as we can make them. It must always be possible to close a capplet and restart it without it affecting the user.

    3) Every change must be easily ‘revertable’ by the user. That is, if the user selects ‘left handed mouse’, they must be able to switch back to ‘right handed mouse’ just as easily. There is no need for a ‘revert’ button as they can just put the state back themselves.

    Every capplet I’ve written thus far has followed these rules, and I have been extremely happy with the results. We have nice, maintainable code, some beautiful dialogs, and an understandable system.

    Lets look at each of these in the context of the mouse capplet. This dialog itself doesn’t actually control the mouse — that’s done by gnome-settings-daemon. It doesn’t have any exclusive control over the settings either. I can have any number of mouse capplets running at any one time. It’s function can always be replicated by gconf-editor (or xset, in some cases). For simple boolean values (such as the handedness of the mouse) this is very straightforward. When the value changes, you update the UI. When the UI changes, you update the value globally.

    (As an aside, one of the problems with this example is that people had trouble figuring out that they had to right click on the toggle button to switch back from left handedness. We solved this by making the button respond to both clicks. Even simple examples sometimes aren’t.)

    Getting the theme capplet to fit into this mold was hard. It was also much more complex than any other capplet written thus far, with the possible exception of the mime capplet. I had all sorts of problems with it, most of which I’ll document later when I’m more awake and able to do it justice. Stay Tuned!!!

Sat 14 Dec 2002

  • power: Zana and I lost power for four days. It wasn’t a lot of fun.

  • Travel: Everyone has a place they want to go sometime in their life. I would love to go to Iran. I’m not sure why I find it so appealing — it’s not the current regime that is interesting. I’d just love to see the ruins of Persia. Turkey is also high on my list of places to visit. I don’t see myself doing this any time soon, unfortunately.