I've been doing some research lately on a new laptop. I think I am going to give up on Apple. The iBook is nice, but I'm looking for something with a larger screen. The Powerbook is just overpriced.

I've been looking at PC laptops again. In particular, the Gateway 450XL has caught my attention. It has a nice screen (1440x1050 resolution too), integrated wireless and integrated ethernet, plus you can swap the DVD drive for a second battery. Oh, and the Radeon in it supports simultaneous dual-head display! It would be sweet to hook the thing up to my 19" monitor at home and do some coding.

So I went to the local Gateway store, armed with a Knoppix CD, to see how well Linux and XFree worked on it....and, wow, Knoppix was impressive. It autodetected the ethernet, DVD, mouse, USB, and Radeon card, and got X up and running perfectly, in beautiful full-resolution accelerated glory. All the hardware just plain worked. The Gateway sales rep's eyes definitely bulged. I myself resolved to make sure Debian's next installer gets this kind of autodetection ability.

The only issue I encountered was that it did freeze twice, but I am going to put that off as beta software, or maybe ACPI/APM weirdness. Now I really have my heart set on this machine, especially if I can get sleep to work. And I still need to find out if the wireless chipset is supported by Linux, I forgot to do that. But barring that it looks like an awesome machine to run GNU/Linux on.

The other minor downside for me is that it is a bit thicker and taller than my PowerBook; it wouldn't quite fit in my (admittedly rather small) bag, which is disappointing. My Powerbook just barely fit. The 450 is still a pretty lightweight machine though.

Incidentally, someone really needs to make a version of Knoppix that uses GNOME instead of KDE though.

Free Software

My D-BUS Debian packages just got ACCEPTed into the main Debian pool, yay! I also just uploaded a new version of gucharmap. It's a damn cool piece of software, you should check it out. Hm, my list of packages is getting a bit long.

School

Just got done with two of my hardest finals, only one more to go! I am really looking forward to being done with this quarter and getting back to some major free software hacking.

Teaching

The downside of course of finals week is that I have to catch up on the class I'm teaching; I still have 3 labs to grade, plus grading the final is going to suck. It took me hours last time.

Saw my ex-girlfriend of several years ago while crossing Woodruff Ave today. We had a pretty traumatic breakup, and it's always kind of a shock to see her around campus, since I almost never do. I don't really have any hard feelings anymore, but I think she does.

She was driving her big-ass Ford Explorer SUV, and I was going to cross the street. The light was green in her direction, but traffic was stopped, so I could have walked across in between the cars. After a few seconds the car in front of her started moving a bit, but she stayed in the same place, and kind of looked at me expressionlessly, as if offering to let me walk in front of her car to cross the street.

I almost started to do that, since I was in a hurry, but right before I stepped out in front of her car, I realized that she wasn't offering to let me go in front, she was daring me to. I decided it would be a good idea to wait for the crosswalk signal. She drove off.

Hacking

Yesterday, I took my laptop to MacMobile, a local Mac repair place. If you're in Columbus, Ohio and you need your Mac repaired, I highly recommend them. They expertly extracted the mini-CD stuck in my drive, which put me out about $70. Seems fairly reasonable.

Then I mentioned the real problem, which was it crashing. Of course when he booted it up into MacOS X from an external FireWire hard drive, it ran perfectly. But Linux still crashed while trying to mount my XFS partition. One of the techs suggested filesystem corruption, and I realized that I'd never even thought of that. XFS has been rock solid for me for a year, but it was possible. So I decided to take it home and try reinstalling Debian on it.

First in order to do that, I needed to install MacOS X to download the Debian installation bits, so I went ahead and did that. While I was in MacOS X, I tried beating on the computer by ripping a CD with iTunes, copying files around, etc. It ran perfectly.

I was at this time almost totally convinced the problem was software, so I tried installing Debian. The installer hung halfway through. MacOS X continued to work perfectly. I was starting to feel like my laptop had decided it only wanted to run proprietary software. Then, the next day, MacOS X hung hard when I tried waking the computer up from sleep, and it's fairly repeatable. So now I'm convinced again it's hardware. Damn.

SyntaxPolice: Thanks for the links to PC laptops. I think I'm still wanting to buy a Mac, mainly because figuring out what PC laptop hardware has Linux and XFree drivers is a big pain in the ass. Plus the Mac battery life rules. I dunno though, if someone pointed me at a PC laptop in the $1200-$1700 price range with integrated ethernet (and maybe integrated 802.11{b,g}, that had good Linux/XFree drivers, I might consider it.

School

Got my midterm in math back yesterday. I'd studied a lot for it, but since I really need to do well in this class in order to stay in school, I had a bit of anxiety about getting it back. When the teacher handed me the test, I flipped it over, and on the front was a score of 44...out of 100. I felt this complete and total sense of failure. I didn't even bother to look at the rest of the test; I just stared a the wall in front of me, thinking about how I was going to get kicked out of school and wondering what I would do.

But after a minute or two I sort of shook myself out of my brief melancholy, and decided to see what I had done wrong. That's when I noticed that the handwriting didn't look much like mine...in fact, it wasn't my name at the top of the test. I felt a sense of relief that was much like an equal but opposite reaction to my first. It turned out that I got an 85, which is good enough for me. Maybe I won't be kicked out of school after all.

So, less than a month after the warranty ran out, my laptop bit the dust. It doesn't even boot up 4/5 of the time, and when it does, Linux freezes early in the boot process. It's definitely a hardware problem, probably the mainboard or the G4 processor. I'm looking at $1000 to fix it, which really, really sucks. Luckily I managed to get more or less all of the data off during its slow spiral of disintegration, but it still sucks. I kind of thought of my TiBook as my shiny silver sword in the fight to advance free software.

I have a tough decision to make. If I pay the $1000 to fix it, it still won't be under warranty, so if it breaks again, I'm screwed. Given how heavily I use my laptop, I'm starting to think it makes more sense to get one of those cheap iBooks and have the warranty. But then again I would lose the extras I put into my old laptop like the 1G of RAM. Plus the iBook doesn't have a nice big screen like my TiBook does (did...). Sigh.

Free Software

I spent a bit of time getting my old PC (dual P2-350) set up as my main hacking station again. Probably what took me the longest in setting it up was recalling how to set up Postfix/TLS in order to send mail, which was a bit of a bitch. But everything seems to mostly be working now. That's one nice thing about free software; I can get every application I use from the Internet.

Used the workstation setup to squish fontconfig bugs. Seems the recent upstream change to not include bitmapped fonts in fonts list affected a number of people, so I added a debconf question.

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.

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.

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.

Life

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.

Advogato

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).

Teaching

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.

Life

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.

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.