As a self-proclaimed perfectionist whose attention to detail can sometimes stall my productivity (read OCD), I found myself wanting to speed up a lot of the repetitive tedious tasks I was accumulating.

I have taken a series of small JavaScript hiatuses over my dev journey to branch off of my usual grind and learn new things.

One of those things was bash.
Another one of those things was python.

Then I realized that scripting in these two languages was useful for system automation.

And I was like OH YES.

The floodgates opened and I started to automate things like:

  • multiplexing video and subtitle files I use for language study
  • changing my file naming conventions by renaming recursively inside directories
  • re-encoding audio and video files to more efficient/compatible formats
  • extracting and compiling desired pieces of large text file datasets
  • the list goes on...

I set up a repository to which I will be adding these scripts. You can view it here.

Automation Scripting Learning Resources

For Bash

If you want to learn bash stuff, I would recommend watching some video tutorials or getting a book/course to teach you some of the most prominent tools like grep, sed, and awk.

For Python

For python, I often reference Al Sweigart's book Automate the Boring Stuff with Python. Or if you prefer video, he also has an online course that goes through each section of the book. He is so good at explaining things simply and showing you simple use-case scenarios which you can then apply to solve your own problems.