Software Consultancy

I specialise (can and have taught courses) in Python, C++, CUDA, MATLAB, and a wide range of tooling: Git, Docker, CMake, Bash, and CI/CD (GitHub Actions, Travis, CircleCI, and AppVeyor). I also regularly use various markup flavours (Markdown, ReST, LaTeX, and HTML+(S)CSS) and the chimera that is JavaScript.

While personally more inclined towards UNIX (I have a Debian phone), most of my work has a strong emphasis on cross-platform compatibility.

I would describe myself as a Computational Physicist who appreciates the importance of user accessibility (the latter includes ease of installation, robustness, keeping breaking API changes to a minimum, and most importantly impeccable documentation & metadata – including release notes, versioning and licensing).

Here’s a breakdown of the number of lines of open source code I’ve written:

Experience

Projects I have worked on include:

  • Physics simulations
  • Real-time machine vision for:
    • localisation
    • object tracking
    • augmented reality
  • Machine learning for:
    • image denoising and artefact reduction
    • classification (natural language processing as well as more esoteric)
    • predicting data warehouse usage patterns
  • Performance optimisation
    • converting script prototypes into compiled – optionally GPU-executable – code
  • Creating and maintaining software frameworks, including:
    • testing
    • continuous integration
    • software which does version control (because Git isn’t perfect)
    • system administration (user accounts, network security, managing publicly accessible servers)

Professional Affiliations

Free and Open Source

A few open source projects/organisations which I maintain or co-maintain.

Click here if you are interested in funding my efforts.

Projects

tqdm

A Fast, Extensible Progress Bar for Python and CLI

With millions of weekly downloads, this is one of the most popular Python packages worldwide

Python CLI GUI Jupyter Keras Pandas Tkinter Telegram Discord Docker

CuVec

Unifying Python/C++/CUDA memory

Python buffered array ↔ C++11 std::vector ↔ CUDA managed memory

Python C++ CUDA SWIG

BrainWeb

Multimodal models of 20 normal brains

Python MATLAB Visualisation Medical Imaging

miutil

Medical imaging utilities

Basic functionality needed for AMYPAD and NiftyPET

Python MATLAB Medical Imaging Build Tools

Organisations

Some organisations which I’ve worked with to release free software.