Career Path


My intended career path is to make enough money as an entrepreneur to retire from working as a programmer, and then to really make money as an entrepreneur, so I can retire from business and work as …

Irregular Chess


I’ve been patting myself on the back for making my life easier by choosing chess data as a domain to write programs against. Chess produces tons of well-structured, predictable, meaningful …

Self-documenting Artifacts


I believe in the value of documentation, but it takes extra effort to create and documentation easily gets out of sync with reality. There is plenty of discussion about this problem in relation to …

I love these games, but they're too much like work


Opus Magnum Health Tonic

Opus Magnum Precision Machine Oil

Opus Magnum Dark Thread

Math Illustrations With PostScript


euclids proof in-line

I started working through Mathematical Illustrations by Bill Casselman. It hits several interests: drawing with PostScript, improving my math skills, and getting better at using a computer as my …

Python vs Emacs Lisp Text Processing


Post-production For asciinema Screencast Files

In the JSONL screencast file below, created with asciinema, a little editing will make for a much smoother screencast.

There is a 12 second pause in the …

Django Postman with django-notifications


Today I had to get django-postman messages to work with django-notifications. There was no useful information out there, so maybe this will be helpful to someone. Modern Django apps would use the …