Projects

FlashCast is a tool I wrote to enable easy access to and modification of the software running on the first-generation Google Chromecast. The device's original bootloader didn't properly verify the signature of USB boot images, which allows FlashCast to run. I built FlashCast's userspace using the excellent Buildroot tool, and I wrote the set of Bash scripts that power its modification framework from scratch.

In the same vein, I've been working in my (fleeting) spare time on bringing a mainline Linux kernel up on the Chromecast. You can see most of the progress I've made in the form of patches I've submitted to the kernel, although some of the work I've done isn't yet complete enough for me to publish.

Last winter, I reverse engineered the internal API that Barnes and Nobles' NOOK e-readers use to download purchased EPUB files, in response to Barnes and Noble removing public download links on their site. The result was inookulate, a small Python script that again enables users to download the books they've rightfully purchased.