Older blog entries for walters (starting at number 36)


I am worrying more and more about school. If I don't get a 3.0 this quarter, I get put on academic probation, and that's very bad. I got an 83 on this second midterm in CIS 755; an OK grade, but I need to ace this class in order to get my GPA up high enough. And the math class is still killing me. Sigh.

Free Software

gnome-speech was ACCEPTed into Debian, yay! Also got my build system patches to it and Gnopericus applied upstream.

Been working on my GNOME Stream API proposal a bit more. It's still being debated on gnome-devel-list.


Got my car towed from my own apartment's parking lot...again. It cost me $100. That kind of set a bad tone for the rest of the day. It's my fault of course for leaving my parking pass in another car...but...damn. $100. You'd think they'd learn to recognize the cars here and not tow resident's cars, too. Gah.

Went out to dinner with the 'rents tonight, it was good. Had some excellent pasta.

Free Software

I registered as an associate member of the FSF the other day. I like donating to the FSF; they do all sorts of good stuff. But one bonus of becoming a member is this nifty bootable business card. So while I'm sure this card is targeted for i386 machines, I decided to stick it in my laptop (a tibook), just to see what was on there. Unfortunately, while my CDROM drive accepted it after a few tries, my laptop likes it so much now that it refuses to eject it. My laptop also makes this evil whirring sound whenever I try. I guess it's too small for the tracks or whatever to get a grip on it and push it back out. Unfortunately I can't see any alternative way to eject it. Looks like it's got to go back to Apple repair...sigh. They'll probably reinstall MacOS again just to punish me.

While waiting for AAA to come jump-start my car (oh yeah, the battery died too), SyntaxPolice and I did some more apt hacking. We actually got our tree to compile. Woo. Still lots more to do.

Uploaded gnome-speech to Incoming. I also finished fixing the Gnopernicus build system. Yay. Just have to wait now on Akira to upload the CVS version of at-spi before I can upload Gnopernicus to Debian.

Spent a bit of time working on fontconfig. I debconfiscated it, updated it to 2.1.90, merged some patches, and cleaned up some other bits. Hopefully it will help alleviate the growing bug list.

Thanks thom for pointing out the XML-RPC Advogato interface! Very cool.

Oh, and finally: I think Erroneous Button (on the toolbar) is the funniest thing. I decided I need one in every application I use.

Free Software

I hacked a bit on apt with SyntaxPolice tonight; we got a bit farther on our project to add secure updates. It involves a lot of conceptual changes to the code, and the apt source tree is confusing as hell. I mean, really...is it necessary to have two classes named "Type"? Grrr. As far as I can tell these classes just create other ones; that seems like the Factory pattern to me. I would have named them like SourceListFactory and IndexFileFactory.

Also got a bit farther packaging Gnopernicus and gnome-speech. Both had fairly broken build systems, but I fixed gnome-speech's, and I'm mostly done fixing Gnopernicus'.

I didn't get any netRhythmbox hacking done so far this weekend, unfortunately.


Watched Jesus Christ Superstar with some friends. It was fairly entertaining. I especially liked the Jewish guy with the glasses, the gut, and the gold.


So, now that I'm putting more time into writing these diaries, I'm starting to wonder; what will I do if Advogato dies? Anyone know if there's a good way to back them up? Also, I think it would be neat to have a diary-like thing on my main website and just mirror it here. Anyone know if I can do that automagically somehow? What (free) software do people use to do stuff like this?


This math class is really killing me. I have spent at least 12 hours so far on a single homework that was assigned just for a week. But I think I'm finally getting it. There was one question that asked about computing the chromatic polynomial of the cube graph (Q3), and since that would have taken way too long to do by hand on paper, I ended up writing an OCaml program to compute it. It probably took me longer to write the program and get the answer rather than to just do it by hand, but writing the program was a lot more fun.

Speaking of OCaml, I am getting back into it. It's a very very cool language. A few weeks ago I wrote this simple Lisp interpreter in OCaml for CIS 755. It weighs in at about 375 lines. OCaml is amazingly powerful at stuff like interpreters (and in general, manipulation of highly structured data).


I went over class inheritance yesterday. This time I decided not to use the prepackaged slides; instead I just taught it my way. I think that ended up working out pretty well; the slides are just too boring. One person asked some good questions, and that's always a good sign. I am getting much more comfortable with teaching, and with my students.

Free Software

School has been keeping me so insanely busy that I haven't had much time to hack on the stuff I want to. My email queue is getting depressingly long. I'm going to devote a lot of this weekend to catching up. netRhythmbox, creating a GNOME stream API, packaging Gnopernicus for Debian, hacking on apt with SyntaxPolice, and more.


Just got back from lunch with SyntaxPolice. I had forgotten how good Mark Pi's is. I am resolved to try their tofu stuff next time I go.

I am getting more interested in snowboarding recently. I just wish that buying equipment wasn't so insanely expensive. Getting an OK board, bindings, and boots will run you generally at least $500. Probably I will save up some money over the summer, and see about next winter.

Last week was pretty crazy, and I didn't go to the gym at all until yesterday. It felt great though to finally get some good exercise in. I am going to try to get back into going every other day, instead of just two times a week or so.

I've been getting a number of netRhythmbox crash bugs, but they've resisted my attempts to track them down. Very frustrating.

So, my most recent project is to try to get a decent stream API into GNOME. I wanted to be able to load .pls files over HTTP in netRhythmbox, and parsing just became an enormous pain using the straight GnomeVFS API.

I finally got Gnopernicus to build; I am planning to get it uploaded to Debian RSN. It requires a CVS version of at-spi, though. It would be nice if these people made releases.

Added two new email addresses to my collection: walters@penguinppc.org and cwalters@gnome.org. I love collecting email addresses! Although, I guess there is a drawback to this: someone recently decided to send a bug report to every single one, because they couldn't decide which one to pick. Hm.

I am totally in love with both the "Smokey Blue" and "Spheres and Crystals" GNOME 2.2 themes! A big kudos to their authors for making my desktop look sweet.

School has been going fairly well. This math class has turned out to be much harder than I thought it would be, though. I thought medium-level graph theory and combinatorics would be easy, but there's some subtle stuff there.

Teaching is still fun. My students are particpating in class a lot more, which is nice. They seem to be learning things faster; I felt they understood arrays right away. It's really a gratifying experience to help people learn.

Well, back to math homework...

A whole lot of stuff has happened since my last diary entry here. Wow. I really wish I kept more up to date with this.

Way back in October I started The Debian Desktop subproject. Now it's a while later, and it's been a mixed success. Some patches have been made, and maintainers are now much more aware of end-users. But we haven't made the killer breakthrough that I was hoping for.

I got a job in grad school: teaching an introduction to Java. I don't like Java that much personally, but it is a lot of fun to try to get people interested in programming. I couldn't argue with free tuition or the stipend, either :)

A while back I mentioned that I was starting on Internet Radio support for Rhythmbox. However, after I had the rough outlines of the code committed, the Rhythmbox maintaine committed on a completely new user interface; this made my code not work at all. So I kind of stopped hacking on it for a while; about a month maybe. But I kept wanting to listen to internet radio, so after a week or two I grabbed snapshot of CVS from before his UI rewrite commit, and started using it. Then I got annoyed by some bugs, and fixed those. My changes started to get large enough that I wanted to use version control. During all of this time, the Rhythmbox maintainer's only focus was finding the perfect UI. I kept working, because I personally wanted a working music player to replace xmms. It was not long after that I realized it was turning into a very different branch, almost a fork, although I hated to use that word. But now the worst scenario has occurred: the Rhythmbox maintainer has retired, leaving me with the branch. I really wish things had turned out differently. I think there is still hope that we will merge. Having two music players for GNOME is stupid. I certainly didn't imagine ending up as the defacto maintainer for Rhythmbox, and I'm not sure I have the requisite skill to even do it. I just wish jorn had accepted releasing the branch as Rhythmbox 0.4.5, and then we could have focused on merging all of our work in CVS. But now we kind of have the worst of both worlds. It is a big mess. I don't know what's going to happen from here.

Well, the last two days have been some intense hacking. I finally finished the Debian GNOME 1 -> GNOME 2 transition scripts. It even asks you now when you log in if you want to keep your settings. See a screenshot here.

Well, grad school is interesting. I was originally thinking about doing research on programming language macro systems (I wrote a paper on this topic). However, I had to attend this mandatory seminar class, which I thought was going to be really boring, like professors blathering on about their boring research. Some of the presentations were, in fact. However, some were interesting, and this one on data mining in particular was totally fascinating. I asked the professor the next day if he had any research positions available, and we're due to meet tomorrow. Hopefully something good will come of that.

It's unfortunately getting a bit cold to rollerblade, which is disappointing. I like the fall a lot otherwise.

Lately I've been hacking on the Debian GNOME 1 -> GNOME 2 transition scripts. Somewhat boring work, but someone's gotta do it. I think I'll be done in the next few days, and then after that GNOME 2 can move into sid. Woot!

Whee. Long time no diary entry. Well, I've been busy :) Since the job market sucked so bad, I took most of the summer since graduating off, and I've spent a lot of time hacking. I've really gotten back into GNOME, in a big way. I'm trying to get away from using Emacs for everything.

So what have I been hacking on? Well, my current favorite project is Rhythmbox, which kicks XMMS' ass all over town. I'm presently working on internet radio support, for which I've had to hack GStreamer. Let me just say that GStreamer is an amazing piece of software.

However, during the above project, I've been distracted by NetHack more than once. While playing using the GNOME frontend, I realized that it was one of the few remaining GNOME 1 apps left on my desktop. So I started porting it to GNOME 2, and I'm pretty much done.

Other than that I've been excercising a lot, especially skating. I got new detachable rollerskates that just totally rule. Many people on campus have asked me about them.

That's it for now. It's about 5am, and time to sleep....

So, I graduated. Hire me.

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