I'm currently working at Graphcore in Bristol. We're making chips for AI. It's a cool place to be.
I started programming with Basic on a ZX81 (who needs more than a kilobyte of memory?) before moving to a C64 then Atari ST before learing the 'proper languages' of Fortran and C++ at university. My career has included a lot of video compression and baseband analysis, but lately more AI algorithms, training and performance optimisations.
A long time ago I wanted to do some quick tasks with compressed video streams, and I couldn't find an easy way to do this in Python. So I wrote my own library, which I later made open source and put on PyPI. I'm still maintaining and improving the bitstring library. If you need to mess about with bits and bytes in Python then it's a reasonable choice to make things easier.
It has now been downloaded over 100 million times.
My new project is a bitwise format parsing and building library called bitformat. It is already pretty solid in terms of bitwise creation and interpretation, covering much of the same ground as bitstring but with a new and more efficient API. Future work will expand the format specification and parsing features. I'm writing the core of it in Rust with the aim of (eventually) making it very fast. Right now it's mostly just an excuse to learn Rust.
It is currently in alpha with plenty of updates planned for 2025. Please try it out if you're feeling adventurous.
I've not got much else on GitHub except my quixotic idea of a clock based on a Go board. It's quite possibly the best go-board based clock ever constructed on the web.