jmtd → software
I'm a principal software engineer at IBM. I also enjoy programming as as hobby and contribute to a lot of open source projects. Here's the main things I'm working on at the moment. See also archived projects and a rough summary of languages I use.
Active
OpenJDK 2018-.
I'm a Committer in the JDK updates and JDK8u updates projects. I specialise on Container awareness and have several patches in mainline OpenJDK. I'm principal engineer for Red Hat's OpenJDK container images and contribute to containers across the Red Hat Runtimes portfolio, e.g. Wildfly/EAP.
(Java, C++, containers)StrIoT 2017-. A purely-functional, research distributed stream processing system
(Haskell, containers)Cekit 2016-. A container source pre-processor, used this to simplify the management of a set of related container images. We use this for the Red Hat OpenJDK family of containers.
(Python, containers)Ikiwiki 2008-. A flexible static website generator (especially wikis) with live editing features
(Perl, JavaScript, Web)Debian 2001-. I'm a long-time developer in the Debian project, which produces a universal, free software operating system.
(Linux)
Dormant
I might return to these one day.
- liquorice 2018-2020. eDSL/Library for algorithmic Doom map construction. (Haskell)
- Punctual 2017. A simple shell prompt system. (Shell)
- BadISO 2016-. Tools for investigating corrupt optical media (ISO9660) images. (Python)
- dsafilter 2006-2012. A mail filter for annotating Debian Security Advisories (DSAs) with personalised information (e.g. does this DSA affect you?) (Ruby, email, Debian)
- WadC 2008-2023. A programming language for building maps for the computer game Doom (Java)
Writing about software
Pages:
- github2gogs ,
- hwadtools ,
- More than you ever wanted to know about pitch-shifting ,
- vcs-lint ,
- debgtd ,
- delicious ,
- doom ,
- endian ,
- examples ,
- greasemonkey ,
- halfcoded ,
- maemopad+ ,
- photos ,
- tab killer ,
- Just TODO It ,
- tomboy ,
- ufo ,
- vapourware ,
- RdiffFS ,
- software configuration management ,
- languages ,
- filesystems ,
- ui ,
- irssi ,
- c design patterns ,
Blog posts:
- nvim-µwiki, posted on
- Lanzarote, posted on
- Hledger UI themes, posted on
- Progressively enhancing CGI apps with htmx, posted on
- Whisper (pipewire tool), posted on
- Fediverse and feeds, posted on
- a bug a day, posted on
- aerc email client, posted on
- I'm going to FOSDEM 2024, posted on
- Talks: why?, posted on
- The scourge of Electron, the nostalgia of Pidgin, posted on
- Useful vim plugins: AnsiEsc, posted on
- HLedger, regex matches and field assignments, posted on
- gitsigns (useful neovim plugins), posted on
- FreshRSS, posted on
- neovim plugins and distributions, posted on
- sidebar dividers for mutt, posted on
- Separate hledgers, posted on
- daily log, posted on
- date warping in HLedger, posted on
- HLedger, 1 year on, posted on
- podman generate, posted on
- Focus writing with (despite) LaTeX, posted on
- git worktrees, posted on
- vim-css-color, posted on
- memtest, posted on
- Borg corrupted hints file, posted on
- dues (or blues), posted on
- Temperature monitoring, posted on
- WadC 3.1, posted on
- hyperlinked PDF planner, posted on
- hledger, posted on
- Broken webcam aspect ratio, posted on
- Amateur archiving activities, January 2022, posted on
- Vim plugins by Tim Pope, posted on
- Haskell mortgage calculator, posted on
- hledger footguns, posted on
- Mastodon again, posted on
- Small tweaks to `git branch` behaviour, posted on
- Opinionated IkiWiki v1, posted on
- LaTeX draft documents, posted on
- The Cure: 40 Live, posted on
- git rebasing and lab books, posted on
- Borg, confidence in backups, GtkPod and software preservation, posted on
- Red Hat at the Turing Institute, posted on
- Vimwiki, posted on
- How many function arguments?, posted on
- FOSDEM 2020 timetable, posted on
- Shared notes and TODO lists, posted on
- Use the Twitter web view, posted on
- WadC 3.0, posted on
- multi-coloured Fedoras, posted on
- duc, posted on
- Red Hat shell prompt, posted on
- Backing the wrong horse?, posted on
- Mastodon, posted on
- Announcing "Just TODO It", posted on
- Announcing BadISO, posted on
- WadC 2.2, posted on
- Blinkstick and Doom, posted on
- WadC 2.1, posted on
- WadC 2.0 released, posted on
- Sound effect pitch-shifting in Doom, posted on
- Deterministic Doom, posted on
- What have I been up to?, posted on
- Office suite UI and creativity, posted on
- awk, posted on
- UKUUG and FLOSS UK, posted on
- Possible future coding project, posted on
- Backing up Twitter tweets and mentions, posted on
- dsafilter, posted on
- Backup Data Mining, posted on
- mail archiving script, posted on
- wadc, posted on
- mr-lint, posted on
- announcing RDiffFS, posted on
- vimspell, posted on
- my first attempt at hacking on Linux: a story, posted on
- A bit of tomboy progress, posted on
- Ruby Array to Hash, posted on
- The Next Mainstream Programming Languages, posted on
- Automake, posted on
- DSAFilter release-2, posted on
- Window management blues, posted on
- DSA Filter, posted on
- Tomboy progress, posted on
- Code, posted on
- First patch to tomboy, posted on
- Mono in Debian, part 2, posted on
- Mono in Debian, posted on
- Voting doesn't work!, posted on
- Voting works!, posted on
- Maemo, posted on
- User-oriented documentation for gtkrc files, posted on
- Inheritance in C, posted on
- Left-handed scrollbars, GTK, posted on
- parse-bookmarks.rb, posted on
- Ruby vs. PHP, 2, posted on
- Ruby vs. PHP, posted on
- Gallery Hacking #2, posted on
- Gallery Hacking, posted on
- Job, posted on
- Mozilla extensions, posted on
- 16, posted on
- mass thumbnailing, posted on