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!
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.
Some of the things that I did today:
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.
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”!
“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.
Things of today:
- Inductive debug – ‘pinless’ debugging interfaces for microprocessors.
- Fought for much of the day against really rubbishy wireless connections. Turned out that moving to a different channel fixed some things. I think the access point was in range of some other network . Wished that our access point supported 802.11a.
- Spent hours and hours trying various bits of nonlinear video editing software to discover that they all suffer from approximately the same bugs – random freezing and various loss-of-video errors. I tried Pitivi, LiVES, Kdenlive and Kino. I didn’t get to actually running the Open Movie Editor because it involved more random-library-installation-from-source than I could be bothered to tolerate at that point. Maybe I’ll come back to that later. Haven’t yet tried Cinelerra or Cinelerra CV either.
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”).
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:
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!
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:
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.
Site by Rob Gilton. © 2008 - 2019