After a particularly frustrating marathon debugging session on Sunday, I was inspired to write a poem.
I’ve been getting annoyed recently with Orange’s policy of deleting user accounts from their website after relatively short periods of inactivity. I don’t want to have to log into their website just to avoid having to register for a new account the next time I want to use it.
One of my goals for Lightscript is to be able to perform automatic calibration of moving lights. A concept central to Lightscript’s handling of moving lights is that they should all use the same co-ordinate system, but that requires knowledge of the position and orientation of the lights. I’ve been through several attempts at coming up with an automated way of estimating the pose of the lights, but so far all of the attempts have been met with accuracy issues or other fundamental problems.
I’ve spent a substantial chunk of this weekend upgrading a server which was somewhat lacking in discspace.
It’s a fairly old machine and as such doesn’t have SATA, but that’s not a showstopper. One PCI SATA card later, and a couple of 2TB SATA hard drives, and it’s good to go. In theory.
Except the SATA card was failing to recognise the hard drives.
For years, I’ve had a simple public photo gallery hidden away with a semi-private URL, built with swiggle, which is a very simple gallery program which generates static indexes and thumbnails. It’s quite efficient, but not especially pretty. It’s time to change that.
My slug died. No, not the sort that shrivels up when it comes across salt, but my Linksys NSLU2.
As it turns out, the power supply is known to be a bit flaky. Again, dodgy electrolytic capacitors. Who’d have thought it, eh?
I wanted to revisit writing code in Haskell, and in doing so try to understand the I/O model a bit better. I spent quite some time reading texts and tutorials on monads, and discovered that most of them are utterly inaccessible unless you already understand monads.
Fortunately for me, I came across this blog post which gave a very good introduction to the concepts involved, while being down to earth enough that it didn’t require prior comprehension of monads.