Taming the Terminal is an unusual podcast. It's 37 episodes long, starting in May 2013 and ending (at least for now) 4 years later in May 2017. Each episode has Bart Busschots, one of the hosts, explain a Unix terminal concept to the other host, Allison Sheridan. Each episode also is paired with a blog post that covers the concepts of that episode. It's like no other podcast I've ever listened to.
Last year, after finishing my first year of professional software development, I decided I wanted to get "good" at the terminal, mostly because the terminal scared me, and because I could tell that the terminal intimidated many experienced software developers too. So, I switched to Linux and decided I would do as much as possible in the darkness of the terminal. I got comfortable with Git on the command line, and I played around with SSH. I was making progress, and the terminal didn't seem that scary anymore.
A few months after I embraced the terminal, I found Taming the Terminal and slowly started working my way through it. I don't know much about Bart and Allison, but they started to come into focus as I listened to the show. Allison is a techie podcast host who has known Bart for a long time. Bart's a regular guest on her podcast, but he also helps her with "web stuff". Bart and Allison have decided, for this podcast, that Bart will slowly teach Allison to "tame" the terminal, and I was along for the ride.
The show started off pretty easy for me. Bart taught Allison about navigating around the file system and how to manipulate files. I already knew this stuff (so did Allison, I believe), and I felt confident. Maybe I'd already tamed the terminal and didn't know it?
At some point the show started to get more complicated. Bart was teaching Allison about Unix process and stream redirection. This stuff is not easy to wrap your head around. I got emotionally wrapped up in the show. At times, when I understood a concept already, I'd emphathize with Bart. He had a hard job. He would patiently try to explain things to Allison, with varying degrees of success. But he was patient and would usually find a way to get Allison to understand. Allison had the challenging task of trying to learn the terminal "live" on a podcast. Sometimes Allison wouldn't understand things that I thought were pretty simple. Other times, Bart would explain something and Allison would get it right away, and it was ME who wasn't able to follow at all. This stuff is complicated, but it feels great when you finally GET it.
If you think you're pretty handy with the terminal, all of the above probably seems like it's too easy for you. Maybe it would be, but maybe not. Bart's explanations of even the simplest concepts made me realize there was often a lot more going on that I had realized.
But, starting on episode 23, the show takes an interesting turn. Bart starts teaching Allison about computer networking. Allison and I both had a hard time following this stuff, but we came out better for it.
These are not simple concepts. I've asked around at work, and most developers don't have a handle on how these things actually work. So imagine how difficult it was for Allison and I to try and wrap our heads around the different levels of the network, who could talk to who, how computers knew who was on their network, and all the other tricky things involved in networking. To be honest, I'm going to have to listen to those episodes again soon to improve my understanding.
I few random thoughts on this show:
- How cool is it that a free resource like this exists? Bart and Allison have created something useful and given it out for free. That's nice of them.
- I wish there were more podcasts that followed this format. The back and forth between teacher and student is great way (at least for me) to learn. Allison asks a lot of questions, and Bart's explanations get better as a result.
- The show started well before I had any idea I might become a developer, and yet it was 100% up to date. Some things in computers move very fast, but the terminal doesn't seem to be one of them.
If you like podcasts, and want to learn more about the terminal, I can't recommend this show enough.