Archive for November, 2007|Monthly archive page
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 .
I’ve just claimed my first task (Or “issue” as they call it), and am hacking away at glade while waiting for confirmation.
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.
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….)