Ian Miell - Learn Bash the Hard Way


Ian Meill is a well known name within the DevOps circuit. He has spoken at The DevOps Exchange a couple of times regarding deployment with containers, along with various Open Source tools he has built.  

He has over fifteen years' experience working with FTSE-100 companies delivering mission-critical services, is the Author of the book Docker in Practice, and runs a great blog on DevOps and Docker - https://zwischenzugs.com 

Ian has recently written another book, on a topic that is more often used than understood - Bash

We caught up with Ian to discuss his new publication - Learn Bash the Hard Way

Why did you decide to write Learn Bash the Hard Way?
I do corporate training on basic skills like Git and Docker. A training company asked me to create a bash course, so I wrote LBTHW in my spare time. I thought it would make a good book because I hadn't seen bash covered in such a step-by-step way.

Who is the book aimed at?
It's aimed at anyone that uses bash, but is occasionally confused by it, or interested in understanding it better. There's lots of one-liners out there, but they rarely explain the basics from scratch, so you end up with very patchy knowledge based on bits of knowledge that have worked for you in the past. There's also lots of comprehensive manuals that tell you all the possibilities in an abstract way. This book builds up the knowledge in a structured and practical way and takes you through the painful bits slowly, but guides you through every step.

Why the 'Hard Way'?
The 'Hard Way' is a concept developed by Zed Shaw (see https://learncodethehardway.org/). His books take a similar approach, where the reader has to type everything in and develops a muscle memory of the things you need to learn. Software development is a practice - you learn by doing and thinking. Both are intimately related. What his (and I hope my) books do it guide you through that journey so you don't waste time in the wrong path. Think of how you learned to ride a bike - you probably had someone with you coaching you as you struggled to learn, but you had to turn the pedals yourself. The aim of the book is to be that coach.

You mention bash is a technology that's more often used than understood, what do you mean by this statement? 
I've noticed that bash is treated as a technology that is 'in the way' rather than something that should be studied for itself. Git is often treated similarly. And yet we use them all the time; they're a foundational technology. People often have scraps of knowledge and their understanding is hazy, and that situation can persist for many years.

What should the reader expect to learn from reading the book? 
The reader will get familiar with all the pain points of bash, and understand what's going on through the core concepts. Real mastery takes years, but rests on the foundation given here, so I'd say it's designed to give you that base as effectively as possible.

That said, people with over 20 years experience and even super-smart HFT/Quant programmers have said that they have learned new things from it, which is very gratifying. I think that's because over many years you can build up understanding that's good enough and never revisit the basics.

And where can I purchase this publication?
It's available at https://leanpub.com/learnbashthehardway
Any updates are free, and I'm working on a second edition now.