Things I Wish I'd Known About Bash
Recently I wanted to deepen my understanding of bash by researching as much of it as possible. Because I felt bash is an often-used (and under-understood) technology, I ended up writing a book on it .
For a few years I was ‘Head of DevOps’. Before I got that job title I’d done much the same work under other names, and since then I’ve watched the same work get called SRE, and then it seemed to morph towards platform engineering. If you’ve been in this industry for any length of time you’ll have seen titles come and…
Visit zwischenzugs.com → RSS feedOn Hacker News Oct 2017 – Dec 2023
Tools & Productivity 10Infrastructure & DevOps 8Software Engineering 7Career & Management 7Tech Industry & Business 5Systems & Performance 3
Recently I wanted to deepen my understanding of bash by researching as much of it as possible. Because I felt bash is an often-used (and under-understood) technology, I ended up writing a book on it .
As an exercise, after finishing this article do the whole exercise again, but make a change to both origin/master and master and then do the fetch and merge to see what happens when a fast-forward is not possible.
I’ve always been frustrated that people often talk about culture without giving actionable or realistic advice, and was previously prompted by this tweet to write about what I did when put in charge of a broken team:
If you’ve ever spent ages waiting for an Ansible playbook to get through a bunch of tasks so yours can be tested, then this article is for you.
If you’re managing a complex git codebase with multiple developers, then you may well be using a tool like GitHub or BitBucket to delve into the history and figure out branch and merge issues.
I’m often asked in my technical troubleshooting job to solve problems that development teams can’t solve. Usually these do not involve knowledge of API calls or syntax, rather some kind of insight into what the right tool to use is, and why and how to use it. Probably because they’re not taught in college, developers…
One of the ironies of working a lot with Docker, Kubernetes, and OpenShift is that I’ve had to learn a lot about Vagrant and Virtualbox. Mostly I use it to spin up OpenShift clusters on my local machine, but I’ve had to poke into lots of corners to get various other things working too.
When talking about IT transformation, we often we often talk about ‘culture’ being the problem in making change, but why stop there?
Despite my woeful knowledge of networking, I run my own DNS servers on my own websites run from home.
I spent 20 years slaving away at companies doing development, maintenance, troubleshooting, architecture, management, and whatever else needed doing. For all those years I was a permanent hire, working on technology from within.
Working in Cloud Native consulting , I’m often asked about who should do various bits of ‘the platform work ‘.
‘The test of a first-rate intelligence is the ability to hold two opposed ideas in mind at the same time and still retain the ability to function.’ F. Scott Fitzgerald
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.
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.
How many times have you sat there trying to work through a technical problem, and thought:
Since I work a lot with clustered VMs , I’ve ended up spending a lot of time trying to figure out how DNS lookups work. I applied ‘fixes’ to my problems from StackOverflow without really understanding why they work (or don’t work) for some time.
This was triggered by a recurring incident I faced where the Docker daemon was using 100% CPU on multiple cores that made the host effectively unusable.
My previous post took off far more than I expected, so I thought I’d write another piece on less well-known bash features.
Over the decades I’ve been using the shell, there are thousands of reusable patterns I’ve picked up from looking over others’ shoulders and googling.
I used private and public LLMs to answer an undergraduate essay question I spent a week working on nearly 30 years ago, in an effort to see how the experience would have changed in that time. There were two rules:
I work at a very ‘locked-down’ enterprise, where direct access to Docker is effectively verboten.
For several years I managed the 3rd line site reliability operation for many of the world’s busiest gambling sites, working for a little-known company that built and ran the core backend online software for several businesses that each at peak could take tens of millions of pounds in revenue per hour. I left a couple…
and determined that most programs reference /etc/resolv.conf along the way to figuring out which DNS server to look up.
I hadn’t heard of Nam June Paik until I went to his exhibition at Tate Modern a few weeks ago.