The kind of things I would say

A new laptop seemed like as good a reason as any to start writing again.

While I was getting this blog’s repository up to date, I found a file of aphorisms I’d typed up almost four years ago, and I kind of like them. I’ve added them to my about page, but thought I’d include them in the main feed to boot.

These are, if I recall correctly, my own thoughts. If I’ve taken anyone else’s words as my own, please let me know.


(With apologies to Alan Perlis.)

There is no such thing as a temporary solution.

If you do not understand how you fixed it, you did not fix it.

Cleverness is good in people, but bad in code.

The two most important refactorings are Extract Method and Rename.

Write the test first. It will provide programmatic evidence of your understanding of the requirements, or lack thereof.

The difference between writing the test first and writing the test last is the difference between creating a blueprint and taking a picture of the finished house.

Spend some time with Emacs. Spend some time with Vim. Fall in love with one or both (or even one pretending to be the other). A cross-platform programmable editor is an indispensable tool, not just for developers, but for anyone that edits text.

Keep your config files in version control. Better yet, keep everything in version control. There is no simpler backup method than git push.

Treat source files like campsites. Leave them in better condition than you found them.

Do not confuse “simple” with “easy”. Seek the former with indifference to the latter.

Play with unfamiliar programming languages and paradigms. When deciding which to play with, choose the one least similar to ones you already know.

Automate, automate, automate.

Written on December 19, 2021