VolatileThunk

Projects

I’m Louis Jackman, a technology architect in London. See my CV, my LinkedIn, my talks, and my articles. Find out how to contact me, and more about me in general.

The following contributions and projects can be found on or via my GitHub and my GitLab.

My open-source contributions and projects span TypeScript, Python, Java, Go, Rust, C, make, and ELisp.


Open-source contributions

Over the years, most of my code has been private contributions to organisations’ repositories. But some smaller contributions to open-source software can be found, showcasing my grasp of various technologies.

These contributions all predate AI; so, despite my current usage of AI, these are an assurance of my own grasp of the fundamentals.

ProjectTechContributionPR
KubernetesGoFixing a goroutine leak in kubeadm.PR
JanetCAdding a Rust-like dbg macro - later refactored and refined by the project’s creator into tracev.PR
JanetCAdding Ctrl-C support to cancel the current expression in interactive mode (a.k.a. the REPL).PR
JanetmakeAdding a make help target to help onboarding new engineers.PR
neovim-gtkRustAdding settable window title prefixes and letting patterns be used in Neovim event subscriptions from the GUI.PR
neovim-gtkmakeAdding documentation for setting up development environment on Linux on Debian derivatives.PR
Play Framework 1.xPythonFixing stop/start behaviour in Play’s Python CLI tool, where restarts could temporarily overlapping processes, introducing bugs on service start-up.PR
qudini-functionJavaUtilities for memoising and thunking function-like objects in Java. Superseded by additions to Google’s Guava.
PelicanmakeAdding devserver-global target to project’s Makefile, to allow for easier local testing of sites on local physical devices.PR

Open-source personal projects

The last project in this list was heavily AI-assisted; all other projects were initially created pre-AI but sometimes had minor tweaks added in later years with AI assistance.

ProjectTechDescription
sync-kobo-and-workstationRustSynchronises books locally between a Linux workstation and a Kobo e-reader. Previously targeted at macOS and Kindle. Uses Tokio, probably unnecessarily given the Linux filesystem I/O.
rotate-mac-addressJavaRotates a network interface’s MAC address on a schedule. Partially created as a test of modern Java’s ability to create small command line tools.
toolbagPythonPersonal, miscellaneous utility scripts written in Python.
janet-hypertextJanetAn HTML DSL for Janet, letting engineers define HTML with code like (p (em "An emphasised paragraph.")). Handles secure escaping of HTML tags in user-provided strings, optional indenting, and the ability to lazily stream HTML outputs. Now archived since I don’t partake in the Janet ecosystem anymore.
hangul-keyboard-hintELispAn Emacs script providing a visual hint of Korean Hangul characters when typing on physical QWERTY keyboards.

Open-source web demos

Two small web visualisation projects can be played with here. While recent tweaks have been AI-assisted, their initial creations are pre-AI, as per the commit history:

ProjectTechDescriptionsrc
A Path-Finding DemonstrationTypeScriptA basic 2D demo that visualises different path-finding algorithms, e.g. A* and Dijkstra’s algorithm.src
Conway’s Game of LifeTypeScriptA very basic Conway’s Game of Life simulation, allowing pausing and toggling arbitrary cells.src