More tea please.

A must-read

I read the first half a page of A Mathematician’s Lament and knew that I wouldn’t be able to do anything else until I’d read the rest. Read it!

Posted at 9:41 pm on Friday 28th March 2008

UIF Fixing

I spent today working on a bug in the driver for the TI UIF MSP430 programmer. It stopped initialising properly in 2.6.24, but it worked in 2.6.23. I did a git-bisect between those versions to find the commit that induced the fault. I narrowed the search a bit by telling git-bisect to work on commits only in drivers/usb/, as I hypothesized that the bug was induced somewhere in there.

About 10 builds and 20 reboots later, I found the commit in which the problem was happening, and then read some stuff about USB etc (the LWN device drivers book proved invaluable yet again) and subsequently generated a patch. I’ve sent it to (what I think are) the right places.

If you can’t wait for the next kernel release (if it passes review…), then you can rebuild the ti_usb_3410_5052 module by downloading this tarball, untarring it and then running “make” in the resulting directory, and then “make install” as root. You will need enough of your kernel’s sources hanging around to do this. In Fedora, these are provided in the kernel-devel package.

Update (5th April ’08): The patch has made its way into Linus’s tree, so I think it’ll be in 2.6.25.

Posted at 12:25 am on Monday 24th March 2008

Programmable matter, fractal compression, etc.

Some of the things that I did today:

Programmable Matter

I read a 1998 paper called “Programmable Matter Methods” — Programmable matter is a multi-dimensional grid of computing devices with local connections. The term is usually applied to grids that have a large number of nodes (like hundreds, millions or more…) and some of the “Connection Machines” are instances of it.


Look! Those sci-fi films were right!

Image licensed under Creative Commons Attribution-Share Alike 2.5 Generic, sourced from Wikipedia.

Also read “Richard Feynman and The Connection Machine“, which is good. I particularly enjoyed the part about how Richard Feynman used differential equations with terms in that represented “the average number of 1 bits in a message address”!

Fractal Compression

“Once an image has been converted into fractal code its relationship to a specific resolution has been lost, it becomes resolution independent since the image can be recreated to fill any screen size.” – Fractal Compression, Wikipedia.

Was interested to find that Fractal compression is (or maybe was…) employed in RealVideo, and that fractal image compression failed to become widely used because wavelet approaches also popped up. FIASCO is/was an image format that, according to Linux Journal, is better than JPEG at low bitrates. FIASCO looks cool, but as far as I can tell it’s doesn’t really exist any more. There’s also a surprisingly old Wired article on it.

Whilst searching for bits of software to manage a database of papers, I came across Optar, a tool for encoding data onto paper. Maybe I’ll find some applications for this one day… perhaps the schematic of a PCB could be encoded in it and placed on the PCB surface… The authors mention something about photographing the images and then decoding them — they doesn’t say whether that’s actually possible.

Spent more hours on a tutorial on how to fix some Student Robotics hardware. Ended up editing the video using mplayer edit lists.

Posted at 4:03 am on Saturday 22nd March 2008

Thursday, 20th March 2008

Things of today:

What started out as a good day (“wow, inductive debugging”) ended in a nightmare of trying to sodding edit video (“aaaargh, why can’t I just cut some video up”).

Posted at 2:38 am on Friday 21st March 2008


Formica Project Logo

We’re about a month into the new semester now (argh!), and the work is piling up. However, it’s all really interesting this semester. There’s no managementy goo courses that we have to take, so it’s a semester of continuous technology and knowledge pumping. Excellent.

One really exciting course is Biologically Inspired Robotics (ELEC6087). For this we have to build robots that are in some way biologically inspired. I’m in a group with Jeff, Steve, Alexis and Jo. Our project is called “Formica”. We’re going to build a lot of really cool and small robots that will hopefully exhibit some sort of emergent behaviour from simple rules.

We built this prototype over the weekend:

Promica - Prototype Formica

The prototype is made from bits that we had lying around the place, but it’s pretty true to the design that we had in mind for the final platform. The motors are pager motors, the big chip on top is an MSP430 and there’s a Li-ion battery attached to the underside. We spent some time trying to find two pager motors that had similar characteristics, and in the end resorted to removing the motor from my mobile and the motor from my Dad’s old phone (which is the same model as mine). So if you try to phone me at the moment when my phone’s on silent, I almost certainly won’t answer. Jeff had a stroke of genius and extracted the battery from his bluetooth headset (it could be a Li-ion Polymer and not just a Li-ion, I’m not sure). The wheels are formed using a magic tool that Jeff lathed up, I’m sure he’ll blog about that soon…

The concept of having around 50 of these things driving around and interacting is pretty amazing. I can’t wait until it’s a reality!

Posted at 9:18 pm on Tuesday 4th March 2008
One Comment

Formica Project Logo – Version 1.

Formica Logo (Mark 1)

Creative Commons License

Posted at 1:12 am on Tuesday 4th March 2008

Copyleft Pineapple

Copyleft Pineapple


Posted at 7:09 pm on Sunday 2nd March 2008

F9 Alpha Kernel oops reporting

I downloaded the Fedora Alpha 9 live CD ISO and ran it on my desktop. It’s got PolicyKit and PackageKit, which are pretty cool. Just after I’d logged in, I was greeted with this box:


I clicked “Yes” (I’d click “always”, but this was on a Live CD so it wouldn’t really have meaning), and then it popped up with:

Oops Sent

Pretty cool. It didn’t ask me for any of my details, which I think is cool. Going to kerneloops.org reveals that it exists to track which crash signatures occur the most.

Posted at 11:15 pm on Saturday 1st March 2008

Site by Rob Gilton. © 2008 - 2019