The Missing Readline Primer

Readline is one of those technologies that is so commonly used many users don’t realise it’s there. I went looking for a good primer on it so I could understand it better, but failed to find one. This is an attempt to write a primer that may help users get to grips with it, based … Read more

‘AWS vs K8s’ is the new ‘Windows vs Linux’

Then… If, like me, you’re over 40 and work in IT, you’ll probably remember a time when everyone used Windows, and a small but growing proportion of people were wasting their lives compiling Linux in their spare time. The Windows users would look on, baffled: ‘Why would you do that, when Windows has everything you … Read more

Pranking the Bash Binary

It’s pretty common to prank your colleagues by slipping scripts into their .bashrc that do things like aliasing the cd command to something else so you can’t move around. Here’s a great example that replaces all available commands with echo NOPE. There are some more great and devious stunts outlined here. But if you really … Read more

Bash Startup Explained

Chances are that you’ve come to this page because just now you’ve been tearing your hair out trying to figure out some kind of problem with bash startup. Maybe an environment variable is not being set in your bash environment and you don’t understand why. Maybe you shoved something into various bash startup files, or … Read more

Git Hooks the Hard Way

This post is adapted from an advanced chapter of Learn Git the Hard Way. Each section is self-contained, and should be typed out by hand to ensure the concepts are embedded in your mind and to force you to think. This is the Hard Way. Git hooks allow you to control what the git repository … Read more

Notes on Books Read in 2018

Here are some notes on books I read in 2018. They’re not book reviews, more notes on whatever I found interesting in them. I recommend reading all of them; the books I didn’t get much out of I won’t list here. Turing and the Universal Machine, by Jon Agar This concise book has quite a … Read more

Six Ways to Level Up Your nmap Game

  What is nmap? nmap is a network exploration tool and security / port scanner. If you’ve heard of it, and you’re like me, you’ve most likely used it like this: nmap 127.0.0.1 ie, you’ve pointed it at an IP address and observed the output: Starting Nmap 7.60 ( https://nmap.org ) at 2018-11-24 18:36 GMT Nmap … Read more

Five Things I Wish I’d Known About Git

Git can be utterly bewildering to someone who uses it casually, or is not interested in things like directed acyclic graphs. For such users, the best thing you can do is buy my book (free sample available), which guides you through the usage of git in a practical way that embeds the concepts ready for daily … Read more