It’s like the 4th of July

I’ve been celebrating the Norwegian constitutional day (I think it’s celebrating that we were rid of the tyrannical rule of the Danes, or the Swedes, or somebody equally tyrannical and heinous) by putting up more book shelves.

I’m not digital at all in the book dept.  It’s still all papery stuff.  It takes a lot of space!  Nature abhors walls without book shelves, so, after doing an intensive search for something that would fit this rather small wall, I settled on these Ikea shelves.

The wall is rather thin particle board, and I didn’t actually do the whole anchor thing, so they’re probably going to fall down after a while, but here’s the fun fact: I paid more for the screws than the shelves themselves!

That’s so sexist.

Is Amazon Insane or Just Deranged?

So, I stumbled onto Suddenly, Tammy! having their third album (which was recorded in 1997, but held (and not released) by Warner’s (they fired the band, but refused to give back the music to the band (record labels are scum)) finally seeing the light of day yesterday. (You can untangle the tenses, I think.)  So I googled for the album, and Amazon came up first.

The album was only released digitally, so I 1-clicked it (Amazon so deserved that patent), and then the screen at the right appeared.

So: To download the mp3s, Amazon wanted me to install an executable!?

Are they insane?  Or just deranged?  I don’t install an executable on my precious machine for anybody, unless it comes from debian.org, or is in source code form.

Why, by Emacs, would downloading a set of mp3s require installing an executable on my machine?

To add insult to injury, the executable wasn’t actually available on my machine, since it’s only for 32-bit Linuxen.

What.  Ever.

I clicked further into the Google results, and on page fourteen i finally stumbled onto 7digital, which allowed just, like, downloading the mp3s (in a zip archive).

Yay.  Music.

The Curious Case of the Box Fan

I bought an ESATA box to replace the crappy Synology RAID thing. It’s a very simple external enclosure with no brains whatsoever, so I can just string four ESATA cables out of the computer in the cupboard to the enclosure, and run standard Linux soft raid.

I installed four 5900RPM Seagate Green disks into the box, which has the snappy name “RaidSonic Stardom ST5610-4S-S2”.

It seems to be working fine.  It’s much snappier than the Synology box, especially when traversing large directories and displaying small pictures, which is something that my music browser does a lot.

But the design of the cooling system is rather odd.

A Box!

There’s a nice and big fan at the back. But it’s rather noisy, so I unscrewed the back cover and removed the fan to see what was going on.  It turns out that the fan blows straight onto that red backplane there.  There are three holes in the backplane, but they are completely covered up by the disks on the other side of the backplane.

It’s rather puzzling.  As far as I can tell, there’s virtually no cooling of the disks themselves with this “design”.  I could detect no draft from the front while the fan was working like crazy at the back.

Oh well.  I guess that this means that the fan is non-functional, so I just unplugged it.  That means that the box is quite silent, which is nice.  And that the disks will die a lot sooner, which isn’t.

All hardware sucks.

Funny Looking Chocolate Not Actually Amusing

Look!  Exciting!

As a rule of thumb, chocolate that looks all fancified often isn’t very good.  (There are a number of exceptions to this rule.)

But this one looked too intriguing for me to pass up.  As you can see, it’s blueberries and lingonberries suspended in white chocolate.  I was wondering how they did that.

And the second picture shows how: They’ve freeze-dried the berries, giving them the approximate texture of crumbly styrofoam.  And the approximate taste of styrofoam, too.  All that remains is a hint of bitterness.

The white chocolate itself isn’t particularly good, either.

Coloured Styrofoam or Freeze-Dried Berries?

I’m now slightly nauseous, and am throwing away the rest of this awful product from Emil Gustavs Chocolates.

More Input Devices

Targus Wireless Presenter and Emacs Volume Control

Finding wireless input devices (for controlling the stereo) that are

1) not too ugly and
2) works reliably and
3) has a range over a few meters

isn’t trivial.  I’ve experimented with a few thingamabobs, and one device I’m pretty satisfied with is the Targus …  er…  I can’t find any model name here.  AMP02EU?  Anyway, it’s a “wireless presenter” (with a laser pointer, so I could entertain a cat if I had a cat, but I don’t *sob*), so, of course, it isn’t really geared towards music playing.  But since, these days, all input devices show up as input devices in Linux, you can use it for whatever you want, with a bit of configuration.

The first thing to do is to put the following in /etc/udev/rules.d/90-itron.rules. It has to be “late” in the udev chain so that other rules don’t overwrite the name we want.

KERNEL==”event*”, BUS==”usb”, SYSFS{idVendor}==”195d”, SYSFS{idProduct}==”7777″, MODE=”0666″, NAME=”input/itron%n”

I chose the name “itron” since that’s what lsusb claims that this device is:

rocket-sam:/etc# lsusb
Bus 002 Device 018: ID 195d:7777 Itron Technology iONE Scorpius wireless keyboard

Now that we know where the device will show up (i.e., /dev/input/itron*), we can route events to the commands we want to execute.  I googled around for a while before deciding to use evrouter, which gives us pretty simple access to all events.

“Itron Powerful Receiver” “” any rel/1/1  “Shell/emacsclient –server-file=rocket-sam –eval ‘(jukebox-decrease-volume)'”
“Itron Powerful Receiver” “” any rel/1/-1  “Shell/emacsclient –server-file=rocket-sam –eval ‘(jukebox-increase-volume)'”
“Itron Powerful Receiver” “” any key/272  “Shell/emacsclient –server-file=rocket-sam –eval ‘(jukebox-pause)'”
“Itron Powerful Receiver” “” any key/104  “Shell/lights 0”
“Itron Powerful Receiver” “” any key/109  “Shell/lights 1”

The first string is the name of the device (yes, that’s what it calls itself.  How masterful).  “rel” is the mouse.  “key” is, er, a key.

So this decreases volume when the mouse goes down, increases when the mouse goes up, pauses the music when I press the big button down, and switches the lights in the room off/on on two of the other buttons.

Which still leaves me with more unused buttons, but I haven’t found a use for them yet.

Then start the event routing in a startup script like so:

$ rm -f /tmp/.evrouter\:0.0
$ /usr/local/src/evrouter-0.4/src/evrouter -f /dev/input/itron*

(The first “rm” is needed because evrouter doesn’t seem to clean up after itself always…)

The only minor problem I now have is that although evrouter picks up the events, they still get passed on to X.  So when I increase the volume, the mouse cursor goes upwards.  I haven’t bothered trying to investigate how to make X ignore certain input units, but if anyone has a pointer to a conf example, please leave a note in the comments.