Day 21 - Automate a repetitive action

Please spend 20 minutes automating/systematizing some action that you perform repetitively.

Here are a few ideas:

  • Create a bin/deploy script to handle any tasks that you always perform before/after deploys. (One post-deploy task I like to include: open production in my browser to make sure I didn’t just hose it somehow.)
  • Create an alias for shell commands that you type frequently (git commands are good candidates). Here are my zsh aliases for more inspiration.
  • You know that thing you do all the time that makes you think “there has to be a better way”? Dig into that and see if you’re right.
  • Find a way to save yourself some keystrokes.

In general: find something you do at least a few times a week and see if you can make it more pleasant. Think of it as sanding down the rough edges in your development environment.

I think you’ll find this one quite satisfying. When I automate an annoying task, I get a little burst of dopamine each time I use my new, improved method to accomplish it. One-time effort; continuous payoff.


added bin/lint running all checks (types, style linter, security linter, tests) :tada:

Went simple this morning added an alias to search the TeamCity API for specific muted tests (muting is an anti-pattern)

I’ve never set up git aliases, so I set some up this morning, starting with the examples from the git book.

I worked on shared workstations for years, where aliasing wasn’t as common, so had been resisiting it, but I’ve worked on my own laptop for the last 8.5 years, so it’s overdue!

Since I was updating git config at that point, I strayed in to figuring out push.autosetupremote so that I don’t need to manually set an upstream for new branches anymore.

And that led to investigation of SSH signing for commits, which would be simpler for me than GPG signing.

I wish I had looked at the example aliases Ben shared. I took a look after and it immediately reminded me I do a lot of pipenv run and pipenv run python that would be nice to have aliased.