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
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
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
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
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.