April 2021

Miscellaneous Vim Ideas
A handful of small efficiency gains with vim

February 2021

World's Smallest Office Suite
Using the `contenteditable` attribute to build office tools

Brutalist HTML Quine
Using CSS to render an HTML page as a quine
html css

58 Bytes of CSS
minimal set of CSS declarations to look great

December 2020

Solving Zebra Puzzles with MiniZinc
Using integer programming and nlp to solve logic puzzles
puzzles minizinc

May 2020

Property Based Testing
Using randomness to assert properties of software
testing spatial

January 2020

Modeling a Resource Pool
Redesigning a service with TLA+.
tlaplus tla+

November 2019

Vim Navigation Visual Aids
Two configurations I rely on in vim to reduce cognitive load when navigating in vim.

October 2019

D&D: Season 1
Lessons learned playing Dungeons & Dragons

August 2018

Escape Rooms
Reflections on Escape Rooms after playing my 100th room.

June 2018

5 Hot Tips for Painting Bras with Thermochromatic Paint
Tips for creating recognizable bras with thermochromatic paint
dcphr puzzles

January 2017

Rainbow Box
Polychromatic, 3D printed, electronic logic puzzle
puzzles 3d printing arduino

October 2016

Lycanthropic Love
An experiment with Elm and Hammer.js
elm DCPHR puzzles

December 2015

Pandemic Legacy: June Debrief
Documenting our progress through the first half of Pandemic Legacy. Warning: spoilers ahead.
board game pandemic pandemic legacy

9 Player Game of Thrones
Developing an expansion to one of my favorite board games
3d printing board game asoiaf Game of Thrones

June 2015

Computing Fibonacci
Comparison of various Fibonacci sequence algorithms
algorithms programming golang

GPG Transition Statement
Notice of GPG key migration.
security linux

December 2014

One Time Passwords
Releasing version one of my one time password generator
golang security

November 2014

Handmade Hero
An awesome project for anyone interested in game programming or C in general.

October 2014

btrfs and hexdump
Undoing fat-finger rm -rf with hexdump.
btrfs backup

May 2014

Pokemon Capture Mechanics
Flow chart describing the capture algorithm for Pokémon Blue, Red, and Yellow.
Pokemon algorithms

Ruby strtok()
Imitating a common idiom from C in Ruby.

March 2014

FFmpeg Clip Extraction
Simple command that I always forget.

February 2014

Vim Macros
Primer on vim macro recording, playback, and editing.

August 2013

Ruby Warrior
Ruby Warrior provides a playground for learning Ruby at any level.

November 2012

Classic Nintendo Games are NP-Hard
Exploration of computational complexity of some of my favorite childhood video games.
os f12 algorithms nintendo

August 2012

Add SSH Key to Authorized Keys
Appending your ssh key to authorized_keys in a single command
one liner ssh

January 2012

Dynamic Levenshtein
Using dynamic programming to compute the edit distance between two strings
C++ programming

December 2011

CSS Star
Using CSS to create shapes with a single html element

November 2011

Levenshtein distance
Iteratively computing the edit distance between two strings
C++ programming