💾 Archived View for sanctum.geek.nz captured on 2024-02-05 at 09:10:20. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-12-28)

➡️ Next capture (2024-03-21)

-=-=-=-=-=-=-

Tom Ryder

Systems administrator, software developer, and technical writer.

Contact

Email

mailto:tom@sanctum.geek.nz

openpgp4pr:FA09C06E1B670CD0B2F5DE60C14286EA77BB8872

Social

@tejr@mastodon.sdf.org

Publications

Bash Quick Start Guide

In September 2018, 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.

This was the only book I could find that lays out best practises for bash scripting, such as proper quoting, variable naming, and parameter expansion. There are many books that will show you a lot of interesting script examples but they’ll also teach you bad habits that might get you into trouble down the road. This would be a great first book for anyone looking to write safe, portable scripts. Highly recommended!

—Amazon.com user “Kinger”

definitely the bash book I was looking for 15 years ago

—Nick Jensen

Reference: Ryder, Tom. Bash Quick Start Guide. Birmingham: Packt Publishing, Limited, 2018. Print. ISBN: 978-1-78953-883-0

Cover image

Publisher page

Author questionnaire

Nagios Core Administration Cookbook

In February 2016, 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.

I wish I had this book over a year and a half ago when I first started learning about this software. The topics are extremely easy to follow and start from the very basics to advanced topics including redundant servers and monitoring Nagios’ own performance.

—Richard J. Breiten

This book covers every corner of Nagios Core needed for a healthy setup. If this is your first time using Nagios Core, this is the book for you. Even if you have a working environment, this is a great resource to verify best practices are being followed—in terms of both security and usability.”

—Amazon.com user “Andrew”

Reference: Ryder, Tom. Nagios Core Administration Cookbook ‐ Second Edition. Birmingham: Packt Publishing, Limited, 2016. Print. ISBN: 978-1-78588-933-2

Cover image

Publisher page

Arabesque

I maintain a blog called “Arabesque”, with posts mostly about Unix command line tools. 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“.

Arabesque: Systems, Tools, and Terminal Science

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”:

From .vimrc to .vim

Runtime hackery

Code

I’m particularly interested in C, Perl, Python, and Unix shell script programming, especially for the purposes of automation, reporting, and monitoring.

I write a lot of Perl. I am TEJR on CPAN, and have a blog on blogs.perl.org.

MetaCPAN: TEJR

Tom Ryder [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 as user tejr on Nagios Exchange.

Listings by 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.

tejr user profile on vim.org

I publish my code on my cgit instance.

Tom Ryder (tejr): cgit

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

Plugin for Nagios/Icinga to perform multiple NRPE checks and return a status based on the aggregated results.

check_speedtest_servers

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

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

Perl module with an experimental command wrapper to sign, encrypt, and mail command output and errors. Previously named croncrypt.

Music::Lyrics::LRC

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

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. PDF slides from my presentations are available for download here.

2023-05-10—IPv6: Kicking and Screaming

2023-03-08—Mosh: the Mobile Shell

2022-11-09—FFmpeg for Owncast

2022-10-13—Logical Volume Management

2022-08-10—Running Windows Programs with Wine

2022-05-11—Trusted Networks with WireGuard

2021-08-11—The Freedom Ladder

2021-07-14—systemd: Heresy and Hearsay

2021-03-10—Let that rsync in

2020-10-12—Tor Anonymity Network

2020-02-12—OpenSSH Tricks

2019-10-09—Password Managers

2019-07-10—Incremental Backups with Dirvish

2019-02-13—The Chronicles of GNU/Linux

2018-06-13—A Brief History of Unix

2018-03-14—Stacking LAMPs

2017-10-11—The Taming of the Shell

2017-07-12—tmux: Terminal Multiplexer

2013-11-13—Encrypted IM with Pidgin and OTR

2013-10-09—Encrypted Email with Thunderbird

2013-09-11—Vim: The Underestimated Editor

Interviews

The February 2017 issue of “BSD Magazine” includes an interview with me, to accompany an article from my blog “Arabesque”. The interview content without a paywall is available here courtesy of the editor.

Interview from BSD Magazine, February 2017

There’s also an email interview with me from 2015 about text editor usage patterns on “How I Vim”.

Tom Ryder—Interview 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

Affiliations

I have been a Free Software Foundation Associate Member (#439443) since July 2013.

Last updated: Tue, 18 Jan 2022 04:15:12 +0000