New toy and toy nano


Over the past year or so my old Dell Inspiron laptop had been dying a slow and painful (mostly for me) death. First the hard drive died, then we noticed that the bottom right portion of the screen was getting burnt due to the extreme heat the machine was putting out in that general vascinity. Now my wireless network card needs to be restarted everytime I plug in the power or it won't work. Oh, and of course after two and a half years, the battery is also dying (and I didn't qualify for the latest Dell battery recall :-( ).

So, I decided it was time to get a new laptop, just in time for starting grad school as well.

The Specs: MacBook Pro 15.2", 80GB Hard Drive, Intel Duo-Core 2GHz, 1.5GB Ram.

I've never used a Mac before for an extended period of time, thus far I must say that OS X is quite nice. Dashboard and Expose make it pretty nice to use (though nothing that I can't get with Xgl in Linux), but as a development platform, it still doesn't beat Linux. Here's some of my thoughts, point form:

  • In Linux, all the software I use is free. I'm going to have to get used to paying for software again.
  • It Just Works - So far at least. As soon as I need to install software when I get a new device I won't be too happy :-) (like with Windows, where every new device wants you to install a cd worth of "lock-in ware".
  • iTunes is nice. A little bit silly that I need to hack my iPod in order to copy songs from it to my computer.
  • I also like iChat
  • Oh yeah, and I think the best gimmick, by far, is photo booth and the built in webcam.
  • I still haven't figured out how to use all the power saving stuff (how can I make my network connection persist even through sleep mode?)
  • I've had programs lock up on me at least half a dozen times since I started using it two weeks ago.
  • Why the hell don't the "home" and "end" keys work in single line text boxes?
  • The features of the trackpad make it much nicer to use than any other laptop trackpad that I've used.
  • I need to run most of my remote development through the X emulator, too bad Darwin doesn't have native support for remote X connections. That would be nice.
  • It's tough to beat apt (or even portage) when it comes to package managers and Apple doesn't even make an attempt at it. Which means I'll still have to do Windows style software installations (i.e. google search, sorting through countless share-ware and trial-ware applications before finding something open source that works twice as well, followed by manually downloading and installing several of them (and in some cases finding installing their dependencies as well). This gets to be a real pain when compared to apt-get install or emerge.
  • The remote control is nice, but it would be even nicer if I could using for something practical such as switching through slides in Open Office (or even Powerpoint for that matter).
  • And the keys on the keyboard light up when you're in dim light, how cool!

There was also a deal that I basically got a free 2GB iPod Nano with the purchase. So I got one. Apple has a real knack for making things look nice. It's feature set pails in comparison to my iriver though. Plus I'm always playing with the volume because I love fidgeting with the circular volume control ;). I still haven't figured out how to delete songs from my Nano, other than that, it's pretty easy to use.
I'll still be running Linux through a virtual machine to do most of my serious development and any remote development. OS X is ok for some, but it kills my wrists not being able to easily use emacs-style shortcut keys when writing code. But I think I'll still be using OS X to do most of my day-to-day work.

PCI Delegation in Xen


I haven't been able to find any existing documentation on this, and since I had it working properly on a test server that I recently killed (and then I had to figure out how to do it again), I figured I'd document it here, for myself, and anyone else who's looking for it.

Disclaimer: If you don't know what Xen or PCI Delegation are, you can probably stop reading here.

PCI Delegation lets you hide PCI devices from your Dom0 system and access them directly in a DomU system. The first thing you'll need to do is ensure PCI backend is enabled for your Dom0 kernel and PCI frontend for you DomU kernel.


To hide a device, you'll first need to note the PCI id of the device, run lspci to find this out. It's represented by the first column in the listing. In my case, I'm trying to hide one of my ethernet cards, my output looks something like this (non-relevant information snipped):

06:07.0 Ethernet controller: Intel Corporation 82541GI/PI Gigabit Ethernet Controller (rev 05)
07:08.0 Ethernet controller: Intel Corporation 82541GI/PI Gigabit Ethernet Controller (rev 05)

So the id I want to note is 07:08.0.

Now, add pciback.hide=(07:08.0) to your grub.conf kernel line, mine looks something like this:

module /vmlinuz- root=/dev/sda7 pciback.hide=(07:08.0)

When you reboot, your Dom0 system will no longer be aware of the specified PCI device. Run ifconfig ethX to verify this.

All you need to do now is add the device to your DomU system. In your Xen config file add the line:

pci = [ '07:08.0' ]

You also won't need any vif lines unless you still want virtual interfaces within the same DomU. Boot into your Dom0 and run lspci, you should see your PCI device listed there now.

Miles per hour!?


Ariane and I have been in Seattle attending Drupal Camp for the past couple days, it was pretty sweet (I think this gives Ariane official geek status now ;-)). We've been boycotting the states since Bush came in, but decided to break the boycott for this event, which was worth it. It was just a bit scary driving through the border after hearing a few horror stories. Anyway, after we crossed the border the speed limit changed from 100 to 60, wtf, Ariane's car doesn't even have MPH! I guess if we got busted for speeding I could honestly tell the officer that I had no idea how fast we were going.

Drupal Camp was sponsored by Rain City Studios, Bryght, and CivicActions. It was a wicked event, and tons of great people were there. I think I even learned a thing or two about Drupal! There were a variety of sessions, mostly about theming, modules, and general drupal coding/enhancing, there was even a geek yoga session :).

Photo taken by Kris Krug

There was a bit of confusion with our accommodations (to say the least) so we're back a day early, and now I get to go in to work for a day before heading out to Hope for Scotty's birthday party. We brought back 7 different selections of US beer (our max 48 bottles) that we can't get in Canada, so we'll be bringing some of that out for the festivities.

US Beer

Heading East


It's starting to look like it'll be a good summer... maybe I'm just saying that since we've finally had a few nice days. Ariane and I will be heading out to NB on Saturday for a week to visit my brother and his organic farm mates. They all moved out there at the start of February to try and start an organic farm. Pretty crazy, I know! So far my schedule for the summer is looking like this:

June 10-18 - Vacationing in NB and PEI.

July 1, 2 - Scotty's B-day in Hope

July 20, 21 - Identity Open Space. The Internet Identity stuff is somewhat related to what I'd like to study in grad school so it should be an interesting event.

July 22, 23 - Camping near Kamloops (Lac le Jeune). This should be a pretty good trip, but I may need to go camping a couple more times to get my yearly fix.

July 24-28 - OSCON and potentially the Oregon Brewers Festival :-). OSCon is looking pretty good this year, covering a lot of new web technologies as well as a few sessions that cover more structured web development practices.

July 31 - Aug 3 - New Media Workshops at SFU Harbour Centre. This one will cover things like the web as a platform, how to distribute content via blogs, wikis, and podcasts, and ways to earn revenue from the internet.

Aug 4-6 - Vancouver Python Workshop also at SFU Harbour Centre.

Aug 18-20 - Saskatoon for Ariane's friends wedding reception.

Aug 25-27 - BarCamp Vancouver - I'm looking forward to this one. The name is a play on Foo Camp if you've heard of that. The basic premise is that all attendees must contribute in some form or another. It's "an ad-hoc un-conference born from the desire for people to share and learn in an open environment. It is an intense event with discussions, demos and interaction from attendees."

Benchmark Software


Anyone know of any good benchmark software that runs on Mac OSX, Linux, and Windows? I'm putting on a demo for the SFU Open House coming up next Saturday (June 3rd). We've got some equipment donated from Dell and Apple and I'll be running benchmarks on them throughout the day to compare between Linux, OSX, and Windows. I've looked around a bit but not found anything that's good that runs on all three.

I've given up on looking for now and am writing my own in python, I just basically need something that will look flashy to the user. Maybe have some kind of "billboard" type thing projected on a screen to display the scores. If you've got any ideas for me to make it cool. Oh yeah, and you're welcome to come by the open house and check stuff out, there should be lots of give-aways throughout the uni.