Pogoplug SAN using AoE

pogoplugThe Pogoplug E02 is a Linux-capable embedded computer with gigabit Ethernet and USB connectivity. It can be found quite cheap (US$35 or so) on the secondary market. As it was originally sold as a storage appliance for home users, it ships with somewhat inflexible factory firmware. However, it is reasonably easy to replace the bootloader with one which can boot an arbitrary Linux distribution.

Once I got my Pogoplug running Debian, it was surprisingly easy to set it up as network storage using ATA-over-Ethernet. Details after the jump.

Raspberry Pi, GPS and NTP

The Raspberry Pi is an inexpensive ARM7-based single-board computer that runs Linux. Using it, together with an almost-equally-inexpensive  GPS receiver module from Adafruit Industries, I was able to set up a reasonably good NTP server for my home network. While the hardware side was almost ridiculously easy, the software required a bit of effort, including building a custom kernel and building ntpd from sources. Full details after the jump.

Ubuntu 12.04.1 LTS: Recovering from a Broken libc

Note: Reasonably heavy UNIX-geekery ahead. Mostly Linux-specific, somewhat Debian-specific and a little bit Ubuntu-specific. Skip if that isn’t your cup of ichor.

I recently did something incredibly ill-considered while logged in (as root, natch) to my Ubuntu server box at home. In essence, I told the package manager to uninstall libc.

On a scale from good to bad, this is bad.

Now, I could have booted up from a rescue disk and fixed it. I could have re-installed easily enough (using the trick where you just keep your existing partitions and don’t format them — though this would have inevitably led to some fallout as various config files and customizations got clobbered). Heck, I even had a reasonably recent backup at hand. None of these sounded especially fun, mostly because the machine was in a place where it’s a hassle to stick a head on it. I had three things working in my favor: an open root-privileged shell prompt, Internet connectivity and my native cunning.

Read on after the jump for the full tale.

Karotz: Movies Application

The Karotz (née Nabaztag) is an Internet-connected embedded system in the form of a stylized mechanical rabbit. I received one of these as a gift, and it’s actually kind of cool. It lacks any kind of display (other than a single multi-color LED), but does have such amenities as a camera, microphone, RFID reader, motorized ears, robust text-to-speech and a Javascript API.

My first application for the Karotz is called Movies. It scrapes the Google movie listings, and reads you upcoming titles and showtimes for the theater of your choice. Full source download and additional discussion after the break.

LBP2: Tags and Tag Sensors

Little Big Planet 2 is a video game for the Sony Playstation 3 console. One of its most interesting features is a robust set of tools for users to build and share new levels. This article contains a detailed discussion of the tag and sensor components available within the LBP2 level creator. It will be of interest chiefly to readers who have some experience creating LBP2 levels, and who have at the very least completed the in-game level creation tutorials.

Sous-vide Cooking

My love of gadgets is, I think, already well-established on these pages. I love food just as well, so it was probably inevitable that I’d decide to take some food and Do Science to It. And takes pictures of myself doing it. And put up a blog post about it.

Say you want a steak cooked perfectly, edge to edge. That means bringing the internal temperature of the entire thing to exactly the right point. It’s hard to do with a grill or a pan or a broiler, since those heat the outside more and the middle less, and you have to tightly control both time and temperature vs. the cut of meat.

The idea of sous-vide cooking is really simple: put the meat in an airtight, watertight vacuum bag. Plunge it into a water bath that’s exactly the temperature you want. Leave it there for a few hours — an hour plus or minus makes no difference. The devil, as usual, lies in the details — after the jump.

MediaWiki: Creating a Private Wiki

This article is obsolete. The instructions given will not work with current MediaWiki versions. Please refer to the updated version of this article.

MediaWiki is the software behind Wikipedia, but you can use it to create your own special-purpose sites. I’ve used it at work to build an internal company knowledge base, and I’m using it at home to make a Wiki for the fictional world of a roleplaying game I’m in.

It’s a pretty polished software package, but out of the box it tends to assume that you are creating something like Wikipedia that is visible to (and editable by) the whole wide world. If that’s not what you want, it requires some tuning, which I’ll describe in detail after the jump.

Cheap Self-Programming AVR Proto Board

There are lots of proto boards for the AVR microcontroller, and lots of programmers. This post presents my approach, which features easy assembly, off-the-shelf PCB, extremely low parts cost and a built-in USB-based programmer. Circuit, PCB and firmware are all completely Open Source. Read on after the jump for details.

AVR Dragon: Fixing Bad Fuse Settings

This post isn’t about the usual kind of dragon (if there even is a “usual” kind). The AVR Dragon is a gizmo made by Atmel, useful for programming their AVR line of microcontrollers. It’s relatively cheap (around US$50 at the time of this writing) and does many useful things. The specific application I’m going to talk about here is using it to “fix” parts when you’ve set the fuses in such a way that said parts won’t talk to simpler programmers. Details after the jump.

Linux on Zipit: Debian

This is a followup to my original article about using a general-purpose Linux distro on the Zipit Z2 messenger. In this post, I’ll discuss my experience installing Debian (specifically, Emdebian Grip) on the Zipit. This is a significant improvement over the previous process, as it means you can automatically upgrade and install new packages from an extensive repository of pre-compiled software. You can just “apt-get install whatever” instead of having to create a cross-development environment and compile everything yourself. Details after the jump.