Older blog entries for pcolijn (starting at number 142)

31 Mar 2006 (updated 31 Mar 2006 at 06:09 UTC) »
Andy Tanenbaum Talk

This is a bit late, but I thought I'd mention a few things about it anyway. Andy Tanenbaum (of Minix fame) came to give a talk here the other day.

He motivated his discussion of Minix by saying that consumers want PCs that work like TVs; you buy one and plug it in and it works for 10 years. No patching, installing virus scanners, updating virus scanners, re-installing Windows, etc. The goal should be "it just works" for 10 years. Keep that in mind.

He then began to discuss Minix, and in so doing essentially described the OS everyone who takes trains implements. A couple things really stood out, though:

  1. no virtual memory
  2. no paging
  3. number of processes fixed at compile time
  4. complicated-sounding configuration files to specify which process can access which hardware

Numbers 1, 2 and 3 mean that Minix is completely unusable as a general-purpose consumer OS.

No virtual memory and no paging means you force users to have enough physical memory to fit all the applications they're going to want to use in RAM. Using a lot of memory and want to open another tab in Firefox? Close that terminal first!

A compile-time fixed-size process table means you say at compile time that users will never use more than n processes. Tanenbaum must really like Bill Gates and his "640k" philosophy. This one is funny, too, because his reasoning was mainly that he didn't want to do dynamic memory allocation in the kernel. Well in about 5 minutes I came up with a way to have the process tables managed in a user-space program with a fixed-size cache in the kernel (and I'm pretty stupid), so that's really a non-argument.

The last item, number 4, is more interesting. Specifying what hardware drivers can access is not a bad idea, but the implementation sounds really bad; he didn't get too detailed describing it, but essentially said that there are a bunch of config files that "the administrator" will have to set up. If you need "the administrator" to do anything, your OS will never be a general-purpose consumer OS.

Note that I am only holding Minix up to the "general-purpose consumer OS" ruler because Tanenbaum himself did, by motivating Minix in the way he did. For embedded or real-time applications, these design decisions make a lot more sense, of course.

He also spent a fair amount of time bashing Linux, which is to be expected I suppose. He definitely had some faulty reasoning, though: he claims that number of bugs is roughly proportional to lines of code. Ok, sure, could well be. He then claimed that because Linux keeps adding so many drivers, they're adding bugs faster than they can fix them (and even worse, these bugs can affect the entire system since drivers in Linux essentially get free reign). Well maybe, but you don't use every driver in existence on your system! You only use a few. When a new driver enters the kernel, it may well be buggy. But after some shake-down, it's fine, and then other new drivers that get added won't affect you, since you'll never even load them!

31 Mar 2006 (updated 31 Mar 2006 at 02:03 UTC) »
End of an Era

Today I had my last university lecture ever at the University of Waterloo. It's been a long haul, but I've had fun and met a lot of cool people along the way.

To celebrate, I've been coding pantsless in the graphics lab. While this has alarmed some people, I feel it's perfectly appropriate.

Much to my disappointment, however, the monkeys down in the real-time lab are all wearing pants. A disgrace I tell you, a disgrace!

24 Mar 2006 (updated 27 Mar 2006 at 04:56 UTC) »

This happened a while ago, actually, but I'll mention it here for the record. I officially accepted an offer to work at Google in New York when I graduate. Planning to live with dreamage and andukar, which should be pretty fun. And I'm totally looking forward to New York; I hear it's pretty damn awesome.

White Board Fetish

I appear to have developed a white board fetish. At Google I had a bunch in my office and I would fill them up with designs and steps for implementing them. And as I went along I would add little notes about how specific problems would be solved, how the changes would influence other areas of the code, etc.

Before the white boards, I didn't really make many notes at all when coding. Sometimes I'd write a little diagram in a notebook or sometimes I'd put some things in a text file, but it was pretty rare.

I think the biggest appeal of the whiteboards (besides the psychotropic smell of the markers, of course) to me is the "look and feel." Smoother than a blackboard, not as dirty, and easier to read. And they're way better than a (paper) notebook or text file, because they're staring you in the face all the time. No need to shuffle things around on your desk to find your notes, or open the text file, or figure out which window it's in.

In any case, this fetish has led me to conduct much of my recent work in compilers in the graphics lab, despite me not actually taking graphics this term. BTW, if anyone wants free Google pizza the graphics lab is a good place to be over the next week or so, as I have a bunch of Google pizza money to burn before the end of term...


It all started with a request from a_chatterbox to reunite Pooh with his long-lost buddy quikchange. And so it began.

Pooh's excited about the trip!

Aren't flights fun?

  • Flight to Dallas cancelled due to weather; reroute through Chicago
  • Flight to Chicago delayed over an hour due to weather; miss flight to San Jose
  • Get told by American Airlines that there are no other flights to the bay area out of Chicago that night
  • Get told by another kind soul in the same situation that there is, indeed a flight to San Francisco leaving shortly
  • Attempt to convince AA people of same, and fail
  • Attempt to convince other AA people of same, and succeed
  • Mad dash across O'Hare (jeebus is that place giant) to get on flight
  • Stand in line with 30 other people in pretty much the same boat
  • Get on flight; wait while we sit on tarmac for 2 hours due to weather
  • Arrive in San Francisco at 2:30am (5:30 eastern), cab (!) to Santa Clara
  • Pay cabby, 4 hours sleep, knock back rediculous quantities of coffee before heading off to nVidia

Thankfully, I had Pooh's good, kind company for this ordeal. I also read Orson Scott's Ender's Game, which was pretty damn awesome. Though it killed my Treo's batteries.


After interviews, I met up with Saul and Jimbo for some drinky drinky. Somehow, these blokes have managed to find a hick Irish dance pub in Mountain View. It was somewhat alarming to me to discover that such a place exists.

Jim gets his drink on

Needless to say, much beer was had by all, and Jimbo even joined me for some prairie fire (though a proper prairie fire, like you'll get in Calgary, will have a full shot of Tabasco).

San Francisco

After a long sleep and some french toast at the creamery, I hit SF (with my trusty Peet's Coffee of course; they still remembered my order!)

Just basically did some sights (Fisherman's Wharf, Golden Gate Park, Union Square) and then met up with a friend for dinner in little Italy. A nice, restful day before another day of planes and airports.

The city from Fisherman's Wharf

All in all, it was a good trip. I got to quite like the bay area, and it seems I may not be back there for quite some time, so it was sort of a chance see the old haunts and say "good bye".

ipw2200, take 2

So it turns out my previous ipw2200 card was a dud. drheld put the sucker in his laptop and it was just as crappy there.

I got a new one today, and it's working fine. So no more ndiswrapper for me! Although I understand the bcm43xx people are making good progress; jdeboer seems to have it working on is iBook. It's a heroic effort, and I'm sure many, many people will thank them for it. I still don't want to use crappy hardware made by a crappy company that won't release specs, though...

(Says he who currently runs an nVidia desktop machine; at least in their case the hardware is generally good, just no specs... *sigh* In related news, I'm interviewing with them tomorrow, for the Linux driver team, so maybe I'll get a chance to bug them first-hand!)

Done with Via

I think I'm done with Via. My train back from Montréal last night was over 2 hours late. It arrived after the last busses and trains to Kitchener. They did at least put us in cabs, but we still ended up arriving back home over 2 hours late.

This kind of thing happens with any form of transportation, of course. But I think I've been on a grand total of 3 Via trains that were even remotely on time. So they're batting around 15% It's a shame, because I really want to like the train, but no amount of irrational emotional attachment can overcome this level of suckage.

20 Feb 2006 (updated 20 Feb 2006 at 21:25 UTC) »

So I finally broke down and got a cell phone. It's a treo 650, per drheld's suggestion. I was thinking crackberry for a while, but all the wacky Palm software you can get for the treo finally won me over, and the email apparently works just as well as the crackberry email. Of course, here data costs 3c/KiB, so I won't be using it. (Seriously, 3c/KiB?!? How the hell can phone companies get away with this crap?)

Anyway, if you want the number just email me.. not too sure how brilliant it would be to stick my phone number in such an easily Googlable place.


mrwise and I are coming to lovely Montréal this weekend. I'd be down with seeing some Nitiots if anybody's interested...

Snow Day

Today's a snow day at Waterloo. So if you were planning to go classes, don't. They're cancelled.

mrwise was nice enough to alert me via Google Talk before I left the house. He came home and we went out for breakfast, and I'm now lying in bed with my laptop watching the snow blow outside. I also get to miss my super boring Thursday afternoon English tutorial. Yay! There's something so satisfying about eating a lazy breakfast and then spending the day in bed on a weekday...

As Usual

The University of Waterloo is screwing me as usual; I have an exam on the very last day. At least this is the last time they'll be able to do it (assuming, of course, that I do ok on my exams). That doesn't mean I'm not bitter though; it seems every term I'm the only person in my group of friends who has an exam on the last day.


Since I'm also one of the few people I know around here who's left-handed, I suspect this may be a case of discrimination against left-handed folk. drheld and I also suspect there may be discrimination at a certain popular employer of Waterloo students, as we're the only ones around here who haven't received our offers yet.

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