Monthly Archives: April 2008

Echonest

boomfab.pngWrote small Common Lisp library for accessing the echonest music analysis API. All the other APIs are jealous.
Writing this was fun because I got to use Relax NG for the first time in actual code. By inspecting the XML that comes back from echonest I guessed at what the schema was and wrote it up in the compact form of RNG (see here). Isn’t that easy to read!

Inserting the library cxml-rng for validating your XML given a Relax NG schema and inserted it into the SAX pipeline took less than a half dozen tokens (see here). My reward: is that the handler that loads the XML into a useful data structure doesn’t need to be as paranoid. How relaxing!

Bamboo Mast Year

Facinating article about a mast year in bamboo. Rat’s thrive and the following year people starve.

… Mizoram and Manipur … rats … army … teach … eradicate … flowering … bamboo … increase fertility rates … population explosion … crops … severe famines … the mautam in 1958-59 … triggered an insurgency … redrawing of boundaries…. Bamboo Flowering and Famine Control Schemes … rat tail … bounty … 200,000 rat tails… registering more tails… hunger currently prevail … grain production falling by 87% …collapse of the administrative machinery … refugee flows … worst is still to come….

Tip of the hat to Koranteng Ofosu-Amaah.

Lilacs out of the dead land

Brad DeLong is puzzled:

“I am supposed to be smart. I should be able to find a way to use all of these in a way that is truly useful…”

And then goes onto enumerate a very small selected subset of the numerious sites that are building out interesting user facing services: Tumblr, Evernote, Jott, Sandy, del.icio.us, and Skitch.

Me thinks: These tools are what in the software industry we call features.  Each firm is taking a swag at building out a feature in the hope of being acquired when the roll up happens.  The firm’s motivations to enable cross application integration are weaker than the end user’s.  The firms are striving to retain options.  We haven’t reached any sort of consensus about where the locus of the roll up will be.  We haven’t solved the authentication problem that’s a foundation for the whole problem.  Many highly contested issues here.  The shake out won’t be pretty.

It’s only very peripherally about you Brad.

Misc Freebsd Notes

Random things from the recent past, for the record.

The setup I described some time ago for taking regular snapshots of the file system corrupted my file system in obnoxious ways.  This is appears to be a known problem for some other folks.  Doing repeated fsck didn’t resolve the problem; deleting all files from the snapshots and then doing the fscks did.  I’ve turned it off; which is a bummer.

I have this “HP Media Center PC”, a “HP Pavillion a1125c”, inherited from an elderly friend who was clearing out assorted junk.  Rumor is it was the victum of a power surge via the Ethernet; and the Ethernet certainly doesn’t work.  I stuck a cheap Ethernet card in it.  I’ve no idea who to blame for the resulting “elm kernel: dc0: watchdog timeout” messages in /var/log/messages.
I setup Music Player Daemon on a machine, which is very nice.  I then setup Firefly so the same collection can be played from the Macs around the house.  It’s nice too.  Avahi provides the mDNS support to make that visible to iTunes.  Avahi complains (a lot) about “avahi-daemon[1224]: No slot available for legacy unicast reflection, dropping query packet.”  I haven’t puzzled out how to make it happy.

I setup netatalk so as to get an Apple File Protocol deamon (afpd) that would let the family add things to the Music Library.  The deamon, afpd, complains when launched “main: atp_open: Can’t assign requested address,” this message went away when I disabled the old Apple datagram protocol support, via -noddp.  Now it only emits that error message occationally, I have no idea why.  It is also complaining about “bad function 4C”, but that appears to be a known problem with Leopard’s AFP implementation having as yet undocumented additions.

This machine has sound hardware who’s vendor, it appears, hasn’t let the open source community have at it.  So I had to install something called Open Sound System (sic).  It took me a while to figure out that i needed to use ossmix to turn up the default volume: e.g. “ossmix connector.green.green 80:80” to get the stereo mix to 80% on both left and right channels of the green colored connector on the back of the machine.
I came into a Seagate FreeAgent Pro 750Gig usb drive; which I’ve been hoping to use with Bacula.  Sadly it doesn’t play nice with the HP a1125c; the BIOS hangs on boot if the usb drive is plugged in.  Otherwise it works fine.
I also came into a Apple Time Capsule, which is very nice.  It has a USB connector, so I put the 750Gig USB drive on it.  That requires reformating it to something The time capsule wants to mount.  The time capsule makes it’s drives visible via AFP, and SMB.  There doesn’t appear to be a way to mount AFP file systems on FreeBSD, netatalk can provide them but not mount them.

Freebsd has mount_smbfs built in so I went down that path.  The auto mounter (amd) has a not unusual feature where it takes file names like /net//foo/bar and squeezes out the duplicate slashes.  In spite of clear instructions in the documentation I was unable to get amd to mount my SMB file path, since they start with two slashs.  So instead I have amd mount the drive via a script, and that script names the drive.  The man page for amd.conf was key to seeing how to get enough logging to see what wasn’t working.

The 750gig drive is enthusiastic about putting it’s self to sleep.  That might be why I’m getting assorted time outs at this point.  But then again it might because the time capsule is busy doing other things.  I’m also getting “kernel: smb_iod_recvall: drop resp with mid 4858” errors in my logs.

This machine’s logs are getting to be a mess.  That’s a dangerous situation since it leads to ignoring other errors.  For example looking I see a few of these “arplookup 169.254.211.90 failed: host is not on local network.”  Hm.    I may need to dust off some old code I’ve got for log file analysis and monitoring.

If I was a better person I’d add lots and lots of links to this posting.

Jott

hismastersvoice.png

Ok, Jott is very cool, but boy do we need oauth!  They are sucking up quite a few account credentials!

I seem to remember it was circa 1972 that people first confidently predicted we would have speaker independent speech recognition.

Thirty five years latter, looks like it’s arrived.    I remain hopeful that given another 30 years we can get the internet identity problem solved, cleaning up the mess created in the mean time maybe difficult.

Energy Density of a Bytestream

There is a delightful state just before sleep, but it requires a certain absence of anxiety. A place where threads in your head can intermingle in amusing ways. Last night I spent some moments there and cloud servers became entangled with the density of energy storage. I’m liking the idea that server farms in isolated venues convert low value electricity into high value byte streams, much like an aluminum smelter converting cheap power into energy dense aluminum foil. A unit for information goods: watts/byte. I see server farms beyond the cloud, in orbit, drawing disintermediated power straight from the sun.