← Back to home

Tools and abstractions

Publishing to this blog is very straigtforward if you know how to use git:

git add . && git commit -m "Updates" && git push origin master

Because I do it every day for the last five months, I got tired of typing this command over and over. So I thought why don’t I make a script. But then I didn’t do it because I didn’t want to.

I’ve learnt a few months ago that there’s a ctrl+r shell command which does a search and autocomplete for recently used commands. So now whenever I want to publish, I just hit ctrl+r, type “Upd” and hit enter. There, no script was needed after all.

In the words of software architecture, ctrl+r is a good abstraction that covers yet another specific case. No special module was required and the user could achieve the same result with less tools. Even better — typing the script’s name would be most likely more work than hitting 4 key strokes: ctrl+r, shift+U, p, d. Not only this abstraction requires less work upfront (by creating the script), it brings less weight with it (no need to update, remember, commit to using this script) and requires less effort to use it. Clearly it’s about knowing how to use better tools.

Sometimes I like to entertain the idea that building specific rich UIs is counter productive to human development. It’s like always using a different kind of writing device that requires separate skill when making a quick note or writing a letter. This is why pens stuck with us for so long — it’s just a good tool, a good abstraction for human activity. It can help you in various activities, be it transferring value (closing a business deal), communication, memory extension (post-it notes).

Last edited on Jun 8, 2019