psst, hey kid, wanna read a weird programming book
Ian Henry

Janet for Mortals

Janet for Mortals is the first book ever written about the Janet programming language.


Bauble is a playground for making 3D art with lisp and math. More precisely, it’s a tool for composing signed distance functions and raymarching them in realtime.

Bauble supports rendering animations as well as images. Think of it like Shadertoy, but with a high-level expression language taking the place of GLSL. You can watch a video of me using an early version of Bauble here:


How Jane Street Does Code Review

In 2017 I needed a haircut and gave a talk about Jane Street’s patch-based code review:

Full transcript here.

A cheatsheet for uncommonly used bits of OCaml syntax. I made this for interns at Jane Street, but I refer to it myself all the time.



Shell plugin that makes it easier to type English strings on the command line. Read more about it here.



A cozy nest for your scripts. Read more about it here and here.



Threaded forum written with a Haskell server and ClojureScript client. In continuous operation since 2014. Used by exactly two people.

Source: Server, Client


Unfinished website about the boardgame Hex. Client and server written in OCaml.