dragonwasrobot
Will manipulate state machines for food
I like to write code, I like to write words, so I started a blog:
There are different rules for reading,
for thinking, and for talking.
Writing blends all three of them.
– Mason Cooley
Blog posts

22 November, 2016:
Sum types in Kotlin, Elixir, and Elm
In this post, we define the concept of sum types with examples in Elm, Elixir, and Kotlin.

2 October, 2016:
Enumerated types in Kotlin, Elixir, and Elm
In this post, we define the concept of enumerated types with examples in Kotlin, Elixir, and Elm.

14 September, 2016:
InfoSec DIY
In this post, we discuss a selection of tools and actions to improve your privacy.

31 August, 2016:
Meta post: new color scheme and improved legibility
In this post, we introduce an improved theme for the blog.

10 July, 2016:
Idealized versions of Moessner's theorem and Long's theorem
In this post, we present idealized versions of Moessner's theorem and Long's theorem.

29 June, 2016:
A grid of Moessner triangles
In this post, we introduce a new combinatorial property of Moessner triangles.

17 May, 2016:
Deriving Moessner's sieve from Horner's method
In this post, we derive Moessner's sieve from Horner's method.

8 April, 2016:
Obtaining Taylor Polynomials with Horner's method
In this post, we calculate Taylor Polynomials with Horner's method.

4 March, 2016:
A characteristic function of Moessner's sieve
In this post, we introduce a characteristic function of Moessner's sieve.

19 February, 2016:
A dual to Moessner's sieve
In this post, we introduce a dual to Moessner's sieve.

12 January, 2016:
An introduction to Moessner's theorem and Moessner's sieve
In this post, we introduce Moessner's theorem and Moessner's sieve.

20 December, 2015:
Rotating Pascal's triangle and the binomial coefficient
In this post, we introduce the rotated versions of Pascal's triangle and the binomial coefficient.

7 November, 2015:
An introduction to Pascal's triangle and the binomial coefficient
In this post, we introduce Pascal's triangle and the binomial coefficient.

16 October, 2015:
Equivalence proof of interpretation and compilation followed by execution
In this post, we prove equivalence between interpretation and compilation of code.

26 September, 2015:
An interpreter, a compiler and a virtual machine
In this post, we implement an interpreter, a compiler and a virtual machine.

3 August, 2015:
An introduction to Horner's method
In this post, we introduce Horner's method for polynomial evaluation and polynomial division.

18 May, 2015:
A primer on the Coq Proof Assistant
In this post, we give a short primer on interactive theorem proving in the Coq Proof Assistant.

25 April, 2015:
Checking for existence of i18n keys
In this post, we show how to test in Grails that all i18n keys exist for all languages.

6 April, 2015:
Transpiling and linting ECMAScript 6
In this post, we briefly explain how to set up an ECMAScript 6 project.