Hello there! I'm James. I'm a software developer working in Cambridgeshire, England.
Take a look at some of the things I've made or written about, or have a look at my github account.
You can contact me at
Back when I last used Go, it lacked things like generics and a standard approach to iterating, and I had a bit of a love/hate relationship with it. I decided to play with it again doing Advent of Code and see what had changed.
2026-01-04
After spending the last couple of years working primarily with React on the frontend, I was introduced to Svelte and was compelled to give it a go. Here are some of my thoughts.
2020-10-31
In this post I'm going to work towards writing a function that can accept and work with closures taking variable numbers and types of arguments. On the way, I'll look at trait families, and a way to avoid overlapping impls.
2020-09-26
Yap is a small, well documented, dependency free library to help you parse strings and slices by extending the Iterator trait with a bunch of parser-combinator style methods. It tries to keep out of the way, and gives you everything you need to return detailed errors at every step.
A small, zero-dependency library that can be used to build and evaluate mini-languages in the browser or in NodeJS. You have complete control over every operation performed, and this library takes care of the nitty gritty of the parsing and such.
A small CLI router that can merge several HTTP and file endpoints behind a single host/port under different paths. Built to enable quick hacking together of client files and APIs during development.