Hi, I'm Chris.

A pragmatic programmer who loves solving problems.

About Me

I'm a recent Computer Science Graduate from the University of Kent who's currently working as a Graduate Erlang Developer at Erlang Solutions.

I enjoy working across multiple domains — solving interesting problems and continuously learning are what drive me.

At the moment, I'm spending all my time hacking on Erlang projects.

Skills & Experience

I primarily use Erlang and JavaScript as my tools of choice but I have experience in a variety of other languages such as Ocaml, PHP, Java and Lua.

I'm most comfortable developing on some kind of UNIX-like environment; I mainly use Debian derivatives, WSL/Cygwin (on Windows) or OSX (on my laptop).

If you're interested, you can also check out my resume here.


Jarlang - Erlang for the Web

Jarlang is a compiler for Erlang written in Erlang which targets the web.

Jarlang is made up of the core compiler, which translates a CoreErlang AST into a semantically identical JavaScript AST; as well as the Jarlang Runtime Environment which facilitates emulating Erlang primitives such as concurrency and immutable datatypes.

Jarlang on GitHub Technical Report

Erlpkg - EScript builder & utilities

Erlpkg is an Erlang utility which helps you build 'better' EScript packages.

Erlpkg provides a simple CLI interface to help build and package files/directories into executable Erlang binaries with no hassle. Also includes custom argument parsing and boilerplate generation utilities.

Erlpkg on GitHub

Wacko - Minimal Erlang web framework

Wacko is a simple web framework built ontop of Psycho which is an implementation of a WSGI-like interface in Erlang.

Wacko currently implements automatic URL ⇒ Controller routing and largely stays out of the user's way. I'm currently working on implementing a generic view layer.

While Wacko is still very much not complete, I use it to host my own websites such as this one!

Wacko on GitHub

Gourmake - Gourmet recipe inventor

Gourmake is an Erlang/OTP application which stochastically invents new recipes.

Gourmake works by analysing ingredient matching and cuisine constraints imposed on template recipes and generating novel valid permutations of these constraints to invent new dishes.

Gourmake on GitHub Technical Report

Get in touch

Feel free to reach out via GitHub or LinkedIn and I'll get back to you as soon as possible. :-)