jmtd → software
I enjoy programming and contribute to a variety of open source projects. You can try browsing the programming languages I use. Here's a list of my own programs and some others which I've substantially contributed towards:
Active
- OpenJDK 2018-. OpenJDK, mostly (but not exclusively) the jdk8u, 11u and 17u backports
- StrIoT 2017-. A purely-functional distributed stream processing system
- Red Hat OpenJDK container images 2017-. Containerized versions of Red Hat Enterprise Linux's OpenJDK packages
- Ikiwiki 2008-. A flexible static website generator (especially wikis) with live editing features
Dormant
- github2gogs 2018-. Short script to mirror a user's GitHub repositories to a private Gogs instance.
- liquorice 2018-2020. Haskell eDSL/Library for algorithmic Doom map construction.
- Just TODO it 2006-2018. A trivially simple TODO list manager.
- HWadTools 2017-. Small little Doom utilities written in Haskell.
- Punctual 2017. A simple shell prompt system.
- BadISO 2016-. Forthcoming tools for investigating corrupt ISO9660 images.
- Chocolate Doom 2015-. A Doom engine that aims to accurately reproduce the experience of playing the original DOS game.
- InkFoundry. 2015.
Tool to manipulate Doom
COLORMAP
s. - vcs-lint 2015. A script to check for common problems with version control repositories (especially those of Debian packaging)
- dsafilter 2006-2012. A mail filter for annotating Debian Security Advisories (DSAs) with personalised information (e.g. does this DSA affect you?)
- mail archiving 2011. "Detachment": Systems to help with managing email attachments
- rdifffs 2010.
A virtual filesystem for
rdiff-backup
repositories WadC 2008-2023. A programming language for building maps for the computer game Doom
greasemonkey 2007. Scripts for improving the usability of Debian mailing list archives
Retired
There's a list of retired projects and half-coded ideas that I am unlikely to continue with at shelved.
Snippets
- doom: some C code for parsing Doom 'WAD' files, including a proof-of-concept virtual filesystem.
- endian: some ruminations on the correct way to handle endian-ness in C
- jonsubst.pl: a substitution filter for the irssi IRC client (Perl)
- c design patterns: the beginnings of a collection of "Design Patterns" common in C source code
Writing about software
Pages:
- containers ,
- More than you ever wanted to know about pitch-shifting ,
- debgtd ,
- delicious ,
- examples ,
- halfcoded ,
- maemopad+ ,
- photos ,
- tab killer ,
- tomboy ,
- ufo ,
- vapourware ,
- software configuration management ,
- languages ,
- filesystems ,
- ui ,
Blog posts:
- 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