I’m an applied mathematician passionate about neuroscience, probability, stochastic processes, machine learning, and software engineering. This blog is my space to share ideas, explore concepts, and document the things that inspire me.
Here, you’ll find posts ranging from thought-provoking insights and practical lessons I’ve learned to summaries of books, articles, and projects I’m working on. It’s a collection of the ideas and discoveries that spark my curiosity—and a way to reflect and share how I think and work.

Recent posts
- 2025-10-25 - Building a Resilient Phone Number Regex
- 2025-10-18 - TIL How to query GCP account permissions
- 2025-10-11 - TIL How to use AI to Generate PR descriptions in the CLI
- 2025-10-04 - TIL: Dynamically Installing Python Wheels and spaCy Models at Runtime
- 2025-09-27 - WSGI vs ASGI: Serving Python Models with Gunicorn or Uvicorn
- 2025-09-20 - TIL: How to Address Stray Pandas `SettingWithCopy` Warnings
- 2025-09-13 - Extreme Programming for ML Teams: Faster Delivery, Reliable Results
- 2025-08-30 - Quantifying Trust: Ensuring Reliability in LLM Summaries
- 2025-08-23 - The Balance that Builds
- 2025-08-16 - Excellence is a byproduct of having fun
Projects
- nfm-param-ranking - Julia implementation of a random forest approach to ranking parameter importance in a neural PDE, adapted from Ferrat et al. 2018
- vim-chat - Asynchronous AI chat in Vim
- vim-sage - Reminder system from your .vimrccomments
- tuner - A web app using a vector database to match peoples music taste
- vim-convict - Conventional commits extension for vim-fugitive
- foxtail - Query and post about recent bookmarks in Firefox
- torchaudio-filters - Highpass and lowpass filters using torchaudio
- pandas-intervals - Pandas extension for vectorised operations on tables of intervals
- quaker - Simple Python wrapper for USGS API
- sudoku-py - Sudoku generator and solver
- captioneer - Generate captions for a collection of images
Publications
Neural Field Models: A mathematical overview and unifying framework
Modelling Cellular Interactions and Dynamics During Kidney Morphogenesis
Does my posterior look big in this?—Bayesian solutions to seizure counting problems
Blogs of interest
- Andrej Karpathy blog
- Coding Horror
- jdhao’s digital space
- Matt Might’s article index
- Simon Willisons Weblog
- Stochastic Lifestyle
- The Valuable Dev