Linux Distros/Scripts/Tools

I started work on a Linux distribution called Escapist based on the ideas behind Starch Linux (which is now gone) and (which had not released any code yet). It uses musl as libc, pacman as package manager, and toybox as POSIX utilities. Everything is statically linked. I got hung up on choosing an init system and dealing with dynamic linking in X and python. I will probably revisit it sometime. For now, Alpine Linux works.

Android Apps/Ports

I am currently evaluating developing an open source application to interface with Google Voice (via the web API) without using any proprietary libraries. If you are interested in collaborating, please contact me.

I contributed to porting Cyanogenmod and other aftermarket firmware to the Samsung Galaxy Player 5.0. Very messy kernel and device tree source can be found at my old Github.

I also developed a stock-based custom Gingerbread firmware for that device, available at XDA.

Since then, all of my devices have been from the Nexus family, so I have not needed to port or make my own firmware, as Nexi have great aftermarket support already. Currently I have an LG Nexus 5 (first generation). I use recommend Copperhead OS without any proprietary Google applications (almost everything you need comes from F-Droid).

Embedded Devices/Programming

I have written a few simple programs for the Teensy 3.1. I also used it as an interface for the keyboard kit shown here. However, I stopped work on that when I realized a few keys were broken.

Early Projects

BuildSkin is a tool for generating LOTRO skins from individual panel snippets (XML fragments). It can automatically resize parts of the interface based on screen resolution or other interface elements. Unfortunately, Turbine gave little love to the skinning community, so most people (including me) abandoned it around the release of Riders of Rohan. Source

Quarto was to be a general-purpuse kernel written in Rust, focused on robustness, portability, and using the Uniform Driver Interface. It never got past the long mode trampoline due to the immaturity of bare-metal Rust at the time, and I have not gotten back to it.