Projects

Since DOS 2.11 I’ve always been working on something. Side projects are fun and my way to try out a lot of technologies. Lately I seem to be writing a lot of Go and Javascript. My ~/dev folder has hundreds of children. Sometimes the work exists elsewhere, such as some small contribution to a project on Github that I’ll probably forget about. (And Github is surprisingly unhelpful at helping you track older contributions.) But I’d like to not forget about these endeavors, hence this page.

Sites

kalafut.net
This site is of course a constant work-in-progress. It has evolved from a heavy Wordpress installation to a static site. Various blogging platforms, themes and hosting setups have been tried. Oh yeah, and there’s the writing… :)
urbooks.org
Some years ago my wife wanted to learn Javascript and try building a reading log web application. She did it! It’s still up and getting used by over 1000 people. I’m just the server admin…

In Progress

clerk
I’ve used a lot of personal finance tools over the years and they’ve all helped and annoyed me. Clerk is my attempt to do better.
finiki
A Wiki. I’ve always liked wikis and their personal wikis are very helpful. But none of them are quite right, so I’m starting my own.
fff
Fast File Finder. For now this is just a Go CLI to do the most common things I do with find, but without all the flags and arguments. As ag is to grep, fff is to find.
choppy
(Planned) Chess opening trainer as an intro project to learn Elm and/or GopherJS. It will be transpilerific.

Completed

imohash
A constant-time hashing algorithm in Go (and subsequently Python). This was surprisingly popular on Github.
MemoLock
MemoLock was a successful BlackBerry encryption App that I wrote and sold, and this was the companion website. I retired the app and site in 2011 after deciding that selling encryption and being involved with sensitive data was a poor choice for a part-time side business.
WordyLinks (retired)
Sort of a bookmarking site, this was my first non-trivial Go program. It ran for a couple of years with light usage (including by me at least once a week).
Crutches
My version of a cheatsheets framework before I knew Dash existed. The idea was that people would contribute YAML-formatted documentation to a shared Github repo. Shut down when I found Dash did most of what I wanted and more.
Phonetics
Simple phonetics app for Android. Type a letter then see and hear (in mine or my wife’s voice!) the corresponding NATO phonetic.
Critigram
Display your Criticker ratings histogramically. Also, a test project for Coffeescript and Google Charts.
FreeLadder
PHP/MySQL/JS web app to run the company’s table tennis ladder. Responsive design and plenty of stats tracking included.
Fruitbot
My submission to Scribd’s Fruitbot programming challenge, written in Javascript. I used Minimax with alpha-beta pruning like hundreds of others, but some “secret sauce” during move generation has kept me in the top 15.
BenBino
Django/jQuery Mobile app to track feeding, diapers, etc. after our son Ben was born in 2011.
vim-taskjuggler
Repackaged TaskJuggler syntax highlighting for easier installation by Vundle and the like.
fdoc
Android app for easily browsing Fossil documentation, back when I was evaluating that SCM tool.
Cheapset
Ancient history from deep in the archives! I wrote this in the early 90’s as a way to set a PC clock using a ham radio. It was my first program to enjoy wide use, courtesy of BBS’s. The 10k “.COM” file runs fine in DOSBox.

Contributions

icsv2ledger
Add options to skip duplicates and allow incremental processing.
seamless-immutable
Allow numeric keys to be use with without().
gb
Show vendor plugin help when no command is given.
glitch
Fixed issue where multiple builds occurred on OS X.
is
Added ability to redirect test output to a specified io.Writer.
vimoutliner
Made help documentation UTF-8 compatible. This was pretty silly, actually. My original request was to just change “rĂ©gime” back to “regime” to make things work, but that was rejected…
carmen
Added functionality to exclude states/countries from this Ruby geography library.
fruitbot
Added repeatable, numbered board layouts to Scribd’s Fruitbot game development framework (Javascript).
autolink.vim
Replaced the defunct Blekko API with DuckDuckGo.
Two Scoops of Django
Contributed to final review of the book.