dragonwasrobot
Will manipulate state machines for food
There are different rules for reading,
for thinking, and for talking.
Writing blends all three of them.
– Mason Cooley
Functional programming

20 December, 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.

14 November, 2016:
Product types in Kotlin, Elixir, and Elm
In this post, we define the concept of product types with examples in Kotlin, Elixir, and Elm.

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

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 July, 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.
Meta

8 January, 2017:
New projects page and improved post structure
In this post, we introduce an improved structure for the blog.

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

8 February, 2017:
Tools to increase productivity
In this post, we go through a set of tools for speeding up trivial tasks and cut out distractions.

14 September, 2016:
An introduction to Information Security
In this post, we discuss a selection of tools and actions to improve your privacy.