Morning: My Secret Accountability Bash Function

Mar 18, 2021 22:17 · 302 words · 2 minute read Bash Productivity

Programming doesn’t have to be complicated, it just needs to solve a need. That’s some advice I’d pass on to my younger self. The need I was looking to solve? Build a little automation into my morning routine, get the habit muscle flexing. Of course the little over complicating engineer on my should shrieked with delight and whispered deviously.

Let’s make an App! We can store everything in a NoSQL database and write it in a new language. How easy is it to make CLI tools in Go. Let’s read some Hacker News posts. This guy says library X is better than Y. Well let’s go search for some more opinions.

I’ve observed this trend quite often in not just myself but in my programming brethren as well. We love technology. We like new toys. We are digital magpies. I don’t know if I’ll ever not get excited about new technology. Experience has taught me though that sometimes technology gets in the way more than it helps. In this case there was too much thought going into the wrong places. Learning a new language wasn’t the goal, accountability was. After putting the brakes on I put together some bash:

morning() {
    echo 'Email'
    echo 'Calendar'
    echo 'Typing'
    echo 'Fish oils/Vitamin D'
    echo 'Stocks'
    echo 'Todo'

Ah the simplicity. You could give it a more exciting name like good_morning but I’m a little lazy on typing underscores. This did everything I needed. Every single morning when I get on the computer I just type morning and follow the instructions. It’s easy to update and pretty future proof. There’s no bells or whistles but it worked. No thinking, just doing. This function is one of the most useful ones I’ve ever written when it comes to automation. Don’t underestimate the utility of simplicity.