Tanks a Lot
May 21, 2017
A minimally-multiplayer experiment using WebSockets and JavaScript.
A Progression of Purity
May 2, 2016
An examination of the implications of function types in different languages.
Functional Refactoring
April 24, 2016
An exploration of code written in familiar imperative programming patterns, and refactored using a counterpart functional programming pattern.
Progressions of Concision
January 30, 2016
A contrasting look at the complexity of implementing data structures in different languages.
Specified Versioning
June 17, 2015
A guide to choosing version numbers for software projects that designate tests as specification.
Notes on Nix
June 5, 2015
Some notes on the Nix package manager, language, and ecosystem.
Wikidata Explorer
May 18, 2015
Traverse Wikidata as a knowledge graph.
January 24, 2015
An introduction to the utility of parametric polymorphism.
Progressive Enhancement
September 25, 2014
A brief look at keeping JavaScript out of the way.
Effect Systems
January 24, 2014
An exploration of effect systems in Scala.
Notes on Standard ML
October 17, 2013
Some notes on the SML language.
Programming Exercises
July 31, 2013
Some programming exercises that have helped me keep sharp over the years.
Notes on Scala
March 28, 2013
Some notes on the Scala language, libraries, and ecosystem.
Delimited Continuations
July 7, 2012
An introduction to delimited continuations in Scala.
Functional Programming in C
June 22, 2012
Not because we should, but because we can.
Type Classes
March 11, 2012
An exploration of type classes in Scala.
Reference Architectures
April 11, 2011
A reference for common patterns in software and data.
Barebones Spring MVC
October 2, 2010
A distillation of Java Web application development using the Spring MVC framework.