July 1, 2009: I got a new, easy to hack toy.
July 2, 2009: Embedded web app?

Original I got a new, easy to hack toy. Embedded web app? Hacking an embedded chat room. Announcing Chatbox, a webapp for routers. Editable
version 1 & 2 of 4

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.

Right now the chat server mostly works. The javascript is still giving trouble.

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.