Tom Ryder (tejr)

Systems administrator and programmer living in New Zealand.


My CV/resumé including other contact details is available by email request. I’m currently employed full-time.


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 the now-defunct Hacker Monthly.

Some popular articles:


In February 2016, the second edition of my book Nagios Core Administrator’s Cookbook was published with Packt Publishing. It explains how to set up Nagios Core to solve various monitoring problems. The first edition reviews pretty well on Amazon.

  1. Ryder, Tom. Nagios Core Administration Cookbook. Birmingham: Packt Pub, 2013. Print. ISBN: 978-1-84951-556-6.
  2. Ryder, Tom. Nagios Core Administration Cookbook - Second Edition. Birmingham: Packt Publishing, Limited, 2016. Print. ISBN: 978-1-78588-933-2.


I’m particularly interested in C, Perl, and Unix shell script programming, especially for the purposes of automation, reporting, and monitoring. I write a lot of Perl 5. I am TEJR on CPAN, tejr on PerlMonks, and have a blog on I have recently been exploring Perl 6 as well.

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 not much of a language zealot, so I’m comfortable adapting to whatever stack is needed for a given project.

I publish code on my cgit instance. It varies a lot in usefulness and seriousness. Here’s a list of some of the more interesting/useful/complete projects:

Scripts and configuration files for Unix-like systems.
Find duplicate files efficiently using Perl core modules.
Plugin for Nagios that can perform multiple NRPE checks and return a status based on the aggregated results.
Brick-stupid wrapper around Unix crypt(3) for quick prototyping on the command line.
List::Breakdown (CPAN)
Perl 5 module to copy a list into named sublists depending on test outcomes; an expressive shortcut for multiple named calls to the grep builtin.
Mail::Run::Crypt (CPAN)
Perl 5 module with an experimental command wrapper to sign, encrypt, and mail command output and errors. Previously named croncrypt.
Print timed lyrics from files in .lrc format for currently playing songs in Music Player Daemon.
Music::Lyrics::LRC (CPAN)
Perl 5 module to manage timed lyrics in .lrc format.
Shell scripts for command-line interaction with a Nagios server via MK Livestatus to save the hassle of using the CGI scripts.
Motions towards SGML (HTML, XHTML, XML) tags in the text editor Vim.
Shell script wrapper for tasks to send appropriate passive Nagios service checks using send_nsca.
Shell script for easy use of the ndiff(1) program included with the Nmap suite.
Find and play media from your collection in your shell, based on a lazy keyword search wrapper around find(1).
Persistent SSH daemon setup for Debian-like systems using start-stop-daemon(8).
Little tool in C to print hex octets of UTF-8 strings to show how the characters in them are encoded.

I do not host code on GitHub; please see my page Why Not Github? for an explanation.


I made a few presentations to the Palmerston North Linux Users Group:


I’ve contributed to:




My public key is available here, over what should be a secure TLS connection in modern browsers:

pub   rsa4096 2013-03-12 [SC] [expires: 2018-12-17]
uid           [ultimate] Thomas Ryder (tyrmored, tejr) <>
sub   rsa4096 2013-03-12 [E] [expires: 2018-12-17]
sub   rsa4096 2013-03-12 [S] [expires: 2018-12-17]

All of the HTML pages on this site have a detached PGP signature available in ASCII format. For example, you can check this page from a Unix shell with curl and GnuPG like so:

$ curl -O -O
$ gpg --verify index.html.asc index.html


Nothing public-facing on this site uses cookies. I don’t use any form of client-side tracking, but I do record IP addresses and user agents in my webserver logs to see what people are looking at, and where they’re coming from. The site works via the Tor anonymity network if you want to avoid that.