In my free time I enjoy working on personal software projects.
Projects
Active Development
- Chordious
Fretboard diagram generator for fretted stringed instruments. - Mzinga
An AI player for the board game Hive.
Other
- AtariController
An Arduino library for reading Atari 2600 controllers. - CalFire
A .NET library for accessing data from the CAL FIRE website. - ChipEight
A CHIP-8 emulator written in C#. - The Hacker’s Diet with LibreOffice / OpenOffice.org
OpenOffice.org spreadsheets to follow “The Hacker’s Diet”. - HawDict
Create digital versions of popular Hawaiian dictionaries. - HawKeys
Easily insert ʻokina and kahakō characters used in Hawaiian. - Jirani
An extendable Twitter bot written in C#. - PunishPad
Text editor that “punishes” you when you stop writing. - QuickEPUB
A .NET library for generating simple EPUBs. - RetroLove
A collection of simple games built on the LÖVE game framework. - RomSort
Sort roms into alphabetical sub-directories. - RSS-Base for WordPress
WordPress plugin to make all relative URLs absolute. - SegaController
An Arduino library for reading Sega Genesis controllers. - TEGS Event Graph Simulator
Discrete event simulation software using event graphs. - WordHash
Mobile app for assisting with word puzzles.
See my profiles on GitHub and Launchpad for other smaller projects.
Coding History
I have been programming since age eight, when my dad made me sit down and read Programming C for Unix. I wrote C code using Metrowerks Code Warrior for the classic Macintosh; though I didn’t venture much further than some useless example apps.
Eventually I got tired of C and spent many of my formative years scripting simple games and animations in HyperTalk. By junior high I’d switched my focus to HTML and web design, but in high school I finally took actual computer science classes and learned C++. By graduation I decided to switch to coding in Java.
I used Java extensively throughout and after college, mostly to write games and gaming utilities. Meanwhile I also picked up MATLAB, PHP, and VBA. While serving in the Peace Corps I had to learn good ol’ BASIC because I was required to teach it.
After my volunteer service I was a strict Linux user, and after toying with Ruby I picked up Python as my go-to for personal projects. Then I started working for Microsoft and learned C#, and as I started using Windows at home C# became my go-to language for personal projects.
However, working at Microsoft means never being complacent in your technical knowledge. In the course of my career I’ve also had to learn C++/CX, Lua, JavaScript, T-SQL and more.