Seven Surprising Bash Variables

Continuing in the series of posts about lesser-known bash features, here I take you through seven variables that bash makes available that you may not have known about. 1) PROMPT_COMMAND You might already know that you can manipulate your prompt to show all sorts of useful information, but what fewer people know is that you … Read more

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