Archive for November, 2007|Monthly archive page

GHOP

So, (Yes, I know I started with so, it was deliberate), I just read about Google’s GHOP and signed up.  By working on open source projects we all love, I can earn cold hard cash, supposedly – cool.  There are a number of tasks – for one you get a T-shirt, for each three you get $100 up to a max of $500.

Designed for over 13s but before university, it’s a brilliant way to get some of the many teen computer enthusiasts into open source coding by giving them an incentive and some bite size chunks.  For me, it’s a great way to spend my free time whilst making decent money and having fun.  It’s a pity the projects and issues available are limited – the only ones written in C/C++ are glade and apache, and apache has very few code issues.  I’m mostly looking at GNOME, as I know and use it, and it should be a good way to learn GTK programming too.  Oh, and now I can spell mnemonic perfectly :D .

I’ve just claimed my first task (Or “issue” as they call it), and am hacking away at glade while waiting for confirmation.  :)

Cello pickups

Well, I got my cello pickups, more or less put them together (selotape…) and borrowed (stole) a smallish guitar amp.  It sounds pretty decent as a rock-distorted guitar, or like a bass guitar, depending on where I put the pickup and how I configure the amp.  Pity I can’t get a decent acoustic cello sound out of it.  Hopefully I’ll be able to whip out my soldering iron at some point and fix up the joints.  Also a decent cable and preamp would probably help.  If anybody knows anything about amping acoustic instruments or analog electronics and building a preamplifier, give me a shout.

Adventures with kexec

You may know, my laptop is in a rather horrible state – it has no harddisk, and the BIOS only boots off harddisks and CD-ROMs.  It seems difficult/impossible to find a replacement harddisk due to the strange size and connector.  So, I use a PCMCIA (PCCARD) CFCard adapter for a root filesystem and knocked together a boot CD for the kernel and initrd.  In the initrd I wrote a custom linuxrc script to bootstrap PCMCIA, mount the root fs, and hand over to init.

The obvious problem with this solution is, every time I want to update the kernel or change a compiled in feature, I have to reburn the boot CD, which gets boring very quickly.  I heard about something called “kexec” a while back, and suddenly realized this morning (While hung over after a party and having been woken up at 9AM to help with heavy lifting…) that kexec could solve a number of these problems.

What I do is, the boot CD loads up PCMCIA stuff, mounts the PCMCIA drive, then finds a new kernel and initrd and uses kexec to then boot that newer kernel and initrd.  Therefore, all I need to do to update my kernel is copy the new kernel to /superduperbootcd on the root filesystem – dead easy.

There are a couple of drawbacks, mainly that going through two partial boot cycles takes a while, and any bugs in the kernel which appear during the first boot will need me to burn the boot CD again.  But it’s still quite a neat solution, very cool, and a reason I love linux.

Speaking of bugs which appear during booting, occasionally my kernel segfaults on boot, before it even executes INIT – the backtrace mentions sony_laptop_init, or something similar.  Has anybody heard of this bug, or know of a way to fix it?  It seems more common when my power cable is not connected, but that could just be me.

(Waiting for my pickups from rapid….)

Cheers

Follow

Get every new post delivered to your Inbox.