Type Classes vs Records of Functions

June 24, 2019

Type classes and records of functions are two very similar tools that are available in languages like Haskell, Scala, and Rust. Given the similarity the question arises of which we should use. In this blog post I discuss when I think one language mechanism should be preferred over the other.

Read more


Tips for Teaching Scala

June 20, 2019

I recently gave a talk on teaching Scala. I first gave the talk at the Scala in the City meetup, which was a dry run for the version I gave at Scala Days. Take a look at my slides if this is of interest to you. My talk centered around five tips for teaching. Here I give a quick rundown of the tips and some references for further reading.

Read more


How to Write an Abstract

January 19, 2019

How do you write an abstract for a (industry) conference talk proposal? I like to use a three paragraph structure. The first paragraph gives a quick overview of what attendees can expect to learn if they attend the talk. The second paragraph gives motivation and background—why should attendees care about what I have to say? The third and final paragraph goes into more detail on the points I intend to cover.

Read more


Doom Emacs Workflows

January 10, 2019

I recently switched to Doom Emacs from Spacemacs. The Doom documentation is currently quite sparse, so I’ve posted here my personal notes on using Doom along with a description of my workflow (something I find vital but missing from most documentation). Doom might be for you if

  • you like Emacs but want to use Vim keybindings;
  • you don’t have time to configure all the nice libraries like helm; and
  • you find Spacemacs too slow.

I’m not going into detail on how Emacs works or basic Vim keybindings here—the focus is on the things I found different and useful.

Read more


New Site

October 30, 2018

I’ve just moved house—I’m now living near Cambridge—so it seems appropriate I should update my digital home as well.

Read more