Several years ago I got it into my head that it would be really cool if the tutorials Bart Busschots has written for the Taming the Terminal series could be an ebook. If you’re unfamiliar with this series, it’s a podcast with me and tutorials written by Bart, intended for learning to master the Terminal in macOS and Linux.
I noodled the idea of making it a book for quite a while and I even took a crack at it by myself. I downloaded the html for a few installments and copied it into Apple’s Pages app and started editing. After hours and hours of work, It looked, to use a favorite description of Bart’s, like horse poop. I even found a service called dotepub that supposedly would take html web pages and turn them into ePub books. Again that was a fail.
A few years ago, after Shelly Brisbin published one of her books, I asked her if I could pay her to teach me to do it and she said that it was way too hard! So I gave up on the idea but I never stopped thinking about how cool it would be.
I’ve mentioned listener Helma from the Netherlands several times, and it’s been a great joy of both Bart and mine that we’ve gotten to meet her in person. She’s a super nerd so totally our people.
Fast forward to April of 2020 when I idly mentioned to Helma that I would love to figure out how to make Taming the Terminal into a book. At the time, she was helping Bart convert the Programming By Stealth shownotes from HTML on bartb.ie to Markdown on pbs.bartificer.net. Her response surprised me, she said, “I think I could figure out how to do that.”
For the last four months straight, Helma and I have been engaged in a super-secret project working towards this goal. I’m proud to announce that Taming the Terminal is now a published book! The technical work was pretty hard but the hardest part was not telling Bart about this amazing project! Believe it or not, we succeeded in keeping it a secret from him.
I’ll get into details of the making of the book in a minute but I want to explain the different versions you can download right now for free. There are differences between the versions in how the podcast can be played from the book to allow you to listen along while you study the tutorial show notes.
Where to Download the Book
The most exciting version is probably the version we were able to publish to the Apple Books Store. It is thrilling to me to see the cover art in all its glory on the official store. This version has a link to the audio files. We wanted to have an embedded HTML5 player so you’d have the controls right within the book, but Apple denied the book in that form.
The book is also available to read on the web at ttt.bartificer.net.
Helma and I created the book all using the version control system Git, and hosting the project on the service Github. You don’t need to understand what all that means but it will explain the location of the links. We’ll come up with some easier-to-remember links later but we wanted you to be the first to get the book now.
At github.com/bartificer/taming-the-terminal you’ll find all of the versions of the book.
- If you want the version with the audio player embedded in it, download the one called ttt-audio.epub.
- You’ll find two beautiful PDF versions:
- I think the prettiest version is actually the HTML 5 version which is called ttt.html
- There’s a MOBI version for Kindle called ttt.mobi. Unfortunately the non-Fire Kindle readers can’t play audio but Helma and I figured out a way around that problem. She created QR codes for the links to every episode and embedded them in the book. Using any smartphone, if you point the camera at the QR code, your device will automatically show you the URL and allow you to play the audio. This means you can read on a Kindle while listening on your phone which might be the best of both worlds. These QR codes show up in many versions of the book, but they’re critical to the Kindle version.
It’s All About Open Source
Now that you know where to find it and how awesome it is, I wanted to elaborate a bit on the back story. 97% of the credit for the book should go to Helma. Steve did the audio editing of the series and put it up on archive.org I did the editing of Bart’s text, fixing typos and testing every single command in the tutorials to make sure nothing was wrong, and I designed the book cover. The process of creating the book cover is a fun story so I’ll make that a separate article. But other than advising on decision making, Helma did everything else on this project.
I had Helma on Chit Chat Across the Pond to do a deep dive about the creation of the book and all the tools she used to make it happen. You can listen to that show at CCATP #649 – Dr. Helma van der Linden on Creating a Book with Open Source Software
I do want to describe a smidge about what she accomplished here though so you get the high-level flavor.
Bart created Taming the Terminal under a Creative Commons License, which means it’s free to play with and distribute but it requires attribution, you can’t make money off of it, and you can’t create derivative works from it. He is committed to doing all of the amazing work he does for the good of the community and not to make money.
Helma used a series of open source tools to take this open source work and convert it to a book. She used a node.js program to convert the HTML to Markdown, which is the simplified language Bart likes to write in for his blog posts. She then learned there was a better open source language for creating books called AsciiDoctor. It’s a lot like Markdown but made for books. But to convert to AsciiDoctor, she had to dust off her knowledge of the open source language Ruby and Ruby Gems. That’s because she found an open source application called KramDown which would do the conversion but it’s written in Ruby.
She needed to make sure that we had nice syntax highlighting for the code blocks but the first few she tried didn’t support shell scripts and that’s pretty much what Taming the Terminal is about. She found an open source syntax highlighter called Rouge that would support the scripts.
I could keep going but I think you’re starting to get the theme to this entire project, it’s all about open source. Every step of the way, from Bart’s initial writing and choosing to give away his content (and us both choosing to give away the podcast), through every tool Helma used, all of it was made possible because of the open source community.
You’ll notice that I didn’t mention the book being available for Kindle in the Amazon store. There’s a reason for that. It turns out Amazon will not let you publish a book for free on their self-publishing platform. It would have been a violation of our license agreement (even though I’m a co-author) for me to put it up there and charge for it. We may still do it but we’re noodling ways to make it happen that would give back to the community.
When Helma and I finally got to make the big reveal to Bart this morning along with Steve, he was positively floored. Bart isn’t often at a loss for words, but his amazement at the gift that Helma and I gave him was the best thing in the world. I’ve got tears in my eyes as I’m remembering it! I’ve never seen him smile this much. Helma and he quickly turned to nerdier topics as she transferred ownership of the Github project from a super-secret project owned by her, to the Bartificer team which is Bart, me, Dorothy, and now Helma. It was such a grand gesture of hers and so much fun to watch it happen.
Above all, I hope you’ll download the book in the format you want, read it, learn from Bart’s tutorials and maybe even from my dumb questions in the audio podcast, and appreciate that Helma rocks.