Tom Ryder (tejr)

Systems administrator, developer, published technical writer, and aspiring information security specialist.

Email:
tom@sanctum.geek.nz 🔑
Social media:

Publications

Bash Quick Start Guide

In , my 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.

<nickspoon> definitely the bash book I was looking for 15 years ago

Reference: . 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 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: . Nagios Core Administration Cookbook - Second Edition. Birmingham: Packt Publishing, Limited, . Print. ISBN: 978-1-78588-933-2

Arabesque

I maintain a blog called , 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:

Vimways

I’ve contributed articles for the Vim enthusiasts’ website :

Code

I publish code on my cgit instance. I’m particularly interested in C, Perl, and Unix shell script programming, especially for the purposes of security, automation, reporting, and monitoring. I write a lot of Perl. I am TEJR on CPAN, 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 have published a few of them as user tejr 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 as tejr 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 MetaCPAN
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 MetaCPAN
Perl module with an experimental command wrapper to sign, encrypt, and mail command output and errors. Previously named croncrypt.
Music::Lyrics::LRC MetaCPAN
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).
Vim distributions
Various customisations for the text editor Vim, including colour schemes, plugins, and enhanced filetype support.
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:

Presentations

Palmerston North Linux Users Group

I’ve made some presentations to the , for which I act as Secretary.

Presentation slides downloads
Name Date Type Size
Vim: The Underestimated Editor application/pdf 120 KiB
Encrypted Email with Thunderbird application/pdf 132 KiB
Encrypted IM with Pidgin and OTR application/pdf 116 KiB
tmux: Terminal Multiplexer application/pdf 76 KiB
The Taming of the Shell application/pdf 276 KiB
Stacking LAMPs application/pdf 120 KiB
A Brief History of Unix application/pdf 368 KiB
The Chronicles of GNU/Linux application/pdf 536 KiB
Incremental Backups with Dirvish application/pdf 320 KiB
Password Managers application/pdf 1,124 KiB
OpenSSH Tricks application/pdf 171 KiB

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.