The self-planted rumors are true!

So over the past few hours, I managed to put together a new Galago release. There was a lot done in this release, and I wouldn’t be surprised if I broke stuff, but at least now it should work with both D-BUS 0.23.x and D-BUS 0.3x. I have neat things planned for the next release, but as I’m basically going to be away from computers for a week, spending time with Jamie, I probably won’t get to any Galago hacking.

Releases of this magnitude take forever.. There’s just so many components to package up. I need to get a small release team together. Any packagers want to package things up for Fedora Core or some other distro?

I also need to find a sane way to announce releases for several independently versioned apps and libs at once. Shame I can’t really give them each individual release names without being too confusing. Hmm, and I need to get screenshots of the contact chooser dialog up. Lots to do still.

If you’re going to invest, don’t invest in llamas

The Motley Fool had some great 401(K) advice. They say that if your 401(K) lets you invest in llamas, consider moving to a job where the owner is not insane, as llamas cannot possibly help your retirement. I think they understimate the power of the llama.

Galago with D-BUS 0.30

I’ve been hacking a bit on Galago’s D-BUS 0.30 support the past couple of days, and although it’s not yet complete, good progress has been made. Most things now work, with the exception of a few bugs here and there.

Thanks to D-BUS 0.30’s new struct container support, I can really start to clean up the protocol. However, for the time-being, not much protocol-wise has changed. I’ve been developing a small abstraction layer to minimize the number if D-BUS versioning checks in the code. You see, I’m not dropping D-BUS 0.23.x support just yet. Not until more desktops have 0.30+ installed.

Galago in VMware Workstation 5

I do all development nowadays on my laptop, which runs Ubuntu Hoary (containing D-BUS 0.23.x). I needed to be able to quickly and easily move back and forth between this and a distro with D-BUS 0.30.x support for testing, and I certainly didn’t want to set up a new distro on one of my other computers.

I ended up installing Fedora Core 4 test 3 inside a VM using VMware Workstation 5. It’s working beautifully, and just sits on one of my virtual desktops taking up a good portion of the screen. The theme and everything matches, so for the most part it doesn’t even feel like I’m using another virtual computer. I’ve been able to make a D-BUS 0.30 change, submit the code, switch virtual desktops, and make sure the 0.23.x support still works. And vice-versa. It truly makes this kind of development a lot easier to deal with.

Also, since I’ve been using my laptop and taking that to work with me, I’m able to just click Suspend on the VM when I need to power down to travel with it. Gotta love that. I wish I had suspend working on my laptop itself.

The secret is in the easternmost peninsula

I’ve been hacking away at various pieces of Galago lately at an attempt to improve the API and Gtk+ widgets. This is leading to some very cool applications and utilities I’m developing. Hopefully if I can get some of this set up the way I want soon, I’ll get another release put together.

A wiki has been put up containing some installation documentation, a preliminary FAQ, and other documentation. It’s also hosting the wiki for Project Soylent, which we’re starting to develop some decent plans for (they’re not on the wiki yet, just in some discussions).

My latest cool Gtk-related Galago work is the Contact Chooser. I love this thing, seriously. It’s not finished yet, but is close, and is simple and easy to work with. The screenshots are fairly self-explanatory.

Contact Chooser with MSN contacts

Contact Chooser with people list

Contact Chooser with a person's accounts

If you haven’t guessed, it’s a widget and dialog that resembles the Gtk+ file chooser, but it’s designed to select contacts. The gnome-presence-applet will be using this fairly soon. I need to work on some of the speed issues, but they’re not too major.

libgalago got some major code cleanups these past couple of weeks. A lot of the communication code was abstracted, and as a result, several hundred lines of code have been removed. This will dramatically ease the porting effort to D-BUS 0.33. I plan to keep compatibility with D-BUS 0.23.x as well. I’m not sure when exactly all this will be done, but definitely before the upcoming stable release.

I’ll post some screenshots of the design we’re considering for Project Soylent once we have something I feel is worth demoing.

Galago: Hey! Where’s the cream filling?!

I felt especially motivated today and started work on an API I came up with in the shower. I spent hours hacking on libgalago and, when I was done, I had reduced the codebase by over 800 lines, all of which consisted of D-BUS 0.23.x-specific communication code. There’s now a much cleaner API abstraction over D-BUS, which could easily in the future be expanded to not be D-BUS-specific, if that ended up becoming important (say, a Windows port of MacOS X port without D-BUS). Furthermore, it should now be much simpler to get Galago working cleanly with D-BUS 0.31+. I’m not going to be able to work on that right away, but it’ll happen sometime before libgalago 0.4.0.

The abstraction still has some work to go, but most of the codebase for libgalago has moved to it. I still don’t know what I’m going to do for galago-daemon’s D-BUS 0.31+ support, but it’s probably not as huge an effor as I’m thinking. Worst case, I do some more abstraction work, but it won’t be as bad as libgalago’s.

Also, I hacked up contact-lookup-applet a few days ago to check for libgalago at compile time and to use Galago for the Instant Messaging section of the Address Card dialog. If Galago’s dead due to some bug, it falls back on the default implementation of just showing a protocol icon. There is a patch available for now, and I’m hoping that perhaps support can be added to CVS at some point. Next stop, gnome-present-applet UI work and Evolution.

Contact Lookup Applet

Galago Release and SCO

Well, I finally did it. The 0.3.0: Wrath of Squirrel release of Galago is out! No, seriously. It needs some testing, and I have a bunch of neat little projects in the works. If you’re in the Silicon Valley area, I’ll be giving a presentation at SVLUG in the near future. That is, if I can get everything working in time.

There’s been some concern of code theft in a project I’m involved in, so we put in place an SVN repository wrapping my Source COde authentication tool. This is an old project of mine, and for those interested, you can read about it. With SCO, you’ll never have to worry about code theft again.

Weekend of Yay!



So I had the most amazing weekend. My girlfriend Jamie came down to visit. We hung out for a bit on Friday and then went to a nice Japanese restaurant near my apartment called Fuki Sushi. It was a very nice looking place, decorative, and the waitresses were even wearing kimonos. Next time we go, we’re going to reserve a spot in the back where we take off our shoes and eat sitting down on the ground at a table. The rest of the night, we just cuddled, watching anime and Dead Like Me.

Saturday, we got up and, after a while, took a tour of where I work. While there, we played some DDR and had some snacks. We then headed to the other building our company owns and watched some ducks splash around in one of the ponds. We walked around in there and saw that building, and just kind of sat around talking. Next, we went to Frys Electronics. While there, we picked up a copy of Soul Calibur 2, which we played later that night. She kicked my ass.

Our next stop was to a furniture store that I went to in November. The people who ran the place actually remembered me, and even remembered where I moved from. We were a bit shocked there. Anyhow, I picked up a couple of book shelves and a nice little wine rack.

For dinner, I took her to The Cheesecake Factory. Despite the 50 minute wait, it was really good, and she seemed to like it, especially the cheesecake 🙂 We spent the rest of the night playing Soul Calibur and just kind of goofing around, talking about things, etc.

Sunday morning, she had to leave. We had a nice breakfast before she left, but it was hard to say goodbye. All in all, though, it was a great visit. We both enjoyed ourselves immensely, and I can’t wait until we do it again.


I’ve been playing with Fyre quite a bit lately. It’s a very awesome program, and they just released version 1.0.0. Cluster support and undos were just added (thanks scanline and purple_cow!). It’s a great way to waste some time 🙂

Electric Storm
Electric Storm


I’m also contemplating putting out a Galago release soon. It’s been kind of semi-frozen for a long time. Work’s been done, but there’s not much else to do until people start playing with it. So I’m going to test it with D-BUS CVS and see how it works, and then start putting together some autopackages together. I need someone to build Ubuntu debs. I’d rather not spend much time on that myself. If anyone’s interested in packaging for any distro, please let me know, and feel free to drop by #galago on

New Galago Hosting

I finally finished the transition to my new Linode account for Galago’s website and SVN repository. It should hopefully be more reliable, as I’ll have direct access to all services and account maintenance.

If you had an account on the old SVN repository and need a new account, please contact me with your username/password, and I’ll set it up. Also, please update any bookmarks or trees. The new site URL is at, and the SVN URL is

Various Updates

So a few things have taken place lately, and I haven’t blogged about them because I’m just really busy (or lazy, depending).

Galago and the fd.o desktop notifications reference implementation that Mike Hearn and I wrote have been proposed for GNOME 2.10. As I’m still new to this whole process, I don’t know exactly what to expect, but time will tell.

For the first time in a long time, I actually wrote up birthday and Christmas wishlists, as I usually get asked by everybody every year. I figured I might as well post them, as I find it useful to look at other people’s for ideas. I have them on Amazon, ThinkGeek, and

At sri’s constant urging (it’s appreciated!) I’ve been working on a couple of articles for GNOME Journal. Hopefully I’ll actually be happy enough with one of these and have it finished by tomorrow.

And I guess that’s it for now.

Galago .NET bindings and other news

I am pleased to announce that due to some, um.. gentle nudging on Nat’s part, work on the Galago .NET bindings has started. There isn’t a whole lot there yet, but it’s getting there. I hope to have something usable this weekend, when I actually have time to hack on this.

The Galago release is still being held up by two (possibly very related) critical bugs in galago-daemon. Once I find those, and finish up the avatar support (almost done!), it’ll finally be ready to release. The Evolution integration will be finished later (although I’m near completion), and I’ll be providing packages as soon as that’s done.

Impending Galago release

Welp, I’ve been thinking about it, and with everything coming up in my near future (possible full-time job, and if not, school), and with the current state of Galago, it may be time to do an initial release. It’s Mostly Stable (TM), and the best way to get some bug reports in is if people use it. After I evaluate the possibility of getting some certain code working some time this next week, I’ll be making my decision regarding its release.

Unfortunately, the Evolution integration won’t be part of the first release (although the Evolution-Data-Server feed will be). I plan to build some custom packages of Evolution and E-D-S based on the unstable 1.5.x releases and my patches a bit after the initial Galago release. We’ll see how that goes.

I have some scary-neat ideas coming up for some of this technology.

Update: Happy birthday Todd!