Publications
Bash Quick Start Guide
In , my book Bash Quick Start Guide was published with Packt Publishing. It’s a crash course in writing and reading Bash and POSIX‐fearing shell script in general. The aim of the book is to demystify shell and make it pleasant and expressive to write. I answered an author questionnaire for it.
Reference: Ryder, Tom. Bash Quick Start Guide. Birmingham: Packt Publishing, Limited, . Print. ISBN: 978-1-78953-883-0
Nagios Core Administration Cookbook
In , the second edition of my book Nagios Core Administration Cookbook was published with Packt Publishing. It explains how to set up Nagios Core to solve various monitoring problems. The first edition from reviews pretty well on Amazon.
Reference: Ryder, Tom. Nagios Core Administration Cookbook ‐ Second Edition. Birmingham: Packt Publishing, Limited, . Print. ISBN: 978-1-78588-933-2
Arabesque
I maintain a blog called Arabesque, with posts mostly about Unix command line tools. Its byline is Systems, Tools, and Terminal Science
. There are reader translations and e-book compilations of many of the articles around the web. Posts have featured in magazines such as BSD Magazine and Hacker Monthly.
Some popular articles:
- Unix as IDE (series)
- GNU/Linux Crypto (series)
- Actually using ed
- Cron best practices
- Custom commands
- Vim Kōans
Vimways
I’ve contributed articles for the Vim enthusiasts’ website Vimways:
Code
I publish code on my cgit instance. I’m particularly interested in C, Perl, Python, and Unix shell script programming, especially for the purposes of automation, reporting, and monitoring. I contribute Perl modules to CPAN, Python modules to PyPI, and have a blog on blogs.perl.org. I also write a lot of PHP and JavaScript; I started my technical career as a web developer, but most of my web development is for internal tools now. I’m comfortable adapting to whatever stack is needed for a given project.
I write a lot of Nagios monitoring plugins. I publish some of them on Nagios Exchange. I also write a fair bit of Vim script for the text editor Vim, mostly just for fun; I publish plugins, filetype plugins, and colour schemes on vim.org.
Here’s a list of some of the more interesting/useful/complete projects:
- Dotfiles
- Scripts and configuration files for Unix‐like systems.
- checkem
- Find duplicate files efficiently using Perl core modules.
- check_nrpe_cluster Nagios Exchange
- Plugin for Nagios/Icinga to perform multiple NRPE checks and return a status based on the aggregated results.
- check_speedtest_servers Nagios Exchange
- Plugin for Nagios/Icinga to check whether a specified Ookla Speedtest server is in the public server list.
- crypt(1)
- Brick‐stupid wrapper around Unix crypt(3) for quick prototyping on the command line.
- List::Breakdown CPAN
-
Perl module to copy a list into named sub‐lists depending on test outcomes; an expressive shortcut for multiple named calls to the
grep
builtin. - Mail::Run::Crypt CPAN
- Perl module with an experimental command wrapper to sign, encrypt, and mail command output and errors. Previously named croncrypt.
- Music::Lyrics::LRC CPAN
- Perl module to manage timed lyrics in LRC format.
- Nagscripts
- Shell scripts for command‐line interaction with a Nagios server via Checkmk Livestatus to save the hassle of using the CGI scripts.
- nscaw
- Shell script wrapper for tasks to send appropriate passive Nagios service checks using the NSCA client.
- Nwatch
- Shell script for easy use of the ndiff(1) program included with the Nmap suite.
- Parcimini
- Shell script daemon to refresh a GnuPG public keyring slowly, in random order, with random waits between each refresh, looping indefinitely.
- plz
- Find and play media from your collection in your shell, based on a lazy keyword search wrapper around find(1).
- psshd
- Persistent SSH daemon setup for Debian‐like systems using start-stop-daemon(8).
- ssh-negotiate-term PyPI
- SSH wrapper to downgrade TERM values gracefully in response to hostname patterns.
- Vim distributions
- Various customisations for the text editor Vim, including colour schemes, plugins, and enhanced filetype support.
- vixf PyPI
- Utility allowing editing X11 text fields in an external text editor.
- watch-vcs-tags
- Keep track of new remote tags for local repositories.
- wtf8
- Little tool in C to print hex octets of UTF-8 strings to show how the characters in them are encoded.
Systems
I have most experience on Debian GNU/Linux and its ilk, but can work on pretty much any Unix‐like operating system. I’m also fond of OpenBSD.
Contributions
I’ve contributed to:
- ArchiveBox
- cgit (report only)
- Checkmk Livestatus
- Courier MTA (documentation)
- dodo (test suite corrections)
- Funtoo::Report
- GNU Bash
- Monitoring::Plugin
- Nagios Core
- ngIRCd
- password-store (Vim support files)
- POE::Component::Client::Websocket
- tmux
- Vim
Presentations
Palmerston North Linux Users Group
I’ve made some presentations to the Palmerston North Linux Users Group, for which I act as Secretary. Slides from my presentations are available for download here.
- —OpenTTD: a free transport game
- —Tools, old and new
- —Network modeling with NetBox
- —Shell quoting
- —Web archiving with ArchiveBox
- —yt-dlp and gallery-dl
- —GIMP: Green Is My Pepper
- —IPv6: Kicking and Screaming
- —Mosh: the Mobile Shell
- —FFmpeg for Owncast
- —Logical Volume Management
- —Running Windows Programs with Wine
- —Trusted Networks with WireGuard
- —The Freedom Ladder
- —systemd: Heresy and Hearsay
- —Let that rsync in
- —Tor Anonymity Network
- —OpenSSH Tricks
- —Password Managers
- —Incremental Backups with Dirvish
- —The Chronicles of GNU/Linux
- —A Brief History of Unix
- —Stacking LAMPs
- —The Taming of the Shell
- —tmux: Terminal Multiplexer
- —Encrypted IM with Pidgin and OTR
- —Encrypted Email with Thunderbird
- —Vim: The Underestimated Editor
Interviews
BSD Magazine’s issue includes an interview with me alongside an Arabesque article. The interview content without a paywall is available courtesy of the editor.
There’s also an email interview with me from about text editor usage patterns on How I Vim.
I was cited in the journal Nature, in an article titled Five reasons why researchers should learn to love the command line, by Jeffrey M. Perkel.
Interests
- I’m a self‐taught musician. I only really mess about with it, but I have a great time doing so. I like using Ardour, a digital audio workstation.
- I dabble in poetry, mostly recreationally with a small group of local writers.
- I really like foreign languages, although I only speak English with any fluency. My best second language is Spanish. In the last few years I’ve enjoyed travelling to Europe when I have the means; the last time (February 2024) was for FOSDEM.
- I’m a fully‐licensed “ham” (amateur radio operator) since November 2023. My callsign is ZL2EJ.
- I enjoy table‐top role‐playing games (think: Dungeons and Dragons).