July 2, 2009: Embedded web app?
Jenell gave me a very awesome toy, an old Linksys WRT54G router. Turns out this particular model can run third part open source firmware. I choose an OpenWRT derivative, Gargoyle. One really big reason stands behind this: the author provides prebuilt binaries, giving Gargoyle the lowest barrier to entry. The second, smaller reason: Gargoyle is really pretty, in an SVG sort of way.
Today I felt like added a crazy feature to it, a chat room. The environment is pretty limited. One MB of free flash, BusyBox utilities, 2.4 series kernel. Most browser based chats expect PHP and MySQL. I found one using just perl. There is not enough free space to even install microperl, so I will have to roll my own. The existing CGI pages are generated through Haserl, a nifty wrapper for shell scripts. Basically, it acts like PHP but with shell scripts as the embedded language. There is some mild, easy to circumvent sandboxing. It is basically a pleasure to use, though I am constantly working around the cut down feature set of BusyBox.
In a few minutes the firmware was loaded and looking beautiful. Now I am SSHed in and poking around the file system and package manager.