Hello there! I'm James. I'm a software engineer based 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

Latest Posts (see all)

  • Working with WebAssembly and WASI 0.2 components

    This post introduces WebAssembly, looks at how we pass data in and out of it, and then looks to the WASI 0.2 standard and WebAssembly Component modal as a way to pass more complex data back and forth

    2026-05-28

  • Go: Generics and Iterators

    Back when I last used Go a decade ago, it had no Generics or Iterators. Now that they've been added, I thought I'd try it again and give my thoughts on them.

    2026-05-27

  • A React Developer Tries Svelte

    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

Latest Projects (see all)

  • Yap: Yet Another Parser library for Rust

    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.

    view source

  • Angu: A JavaScript library for building mini-languages

    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.

    view source

  • Weave: A CLI HTTP Router/file server

    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.

    view source