Aphorisms

..

1 - Fewer moving pieces is better. Corollary: unnecessary flexibility is bad.

2 - (stronger) - More than minimum number of moving pieces is bad.

3 - DO care about intent. In code, outside of code.

4 - Late binding is awesome.

5 - Never link to content without enriching the intent of linking with context. Instead, answer “Why is this worthwhile?”.

6 - Consider modeling all possible states as one data structure. Fewer edge cases are easier to manage.

7 - DO - critique your documentation when “How does X work?” is asked.

8 - DON’T require hierarchy to be equal to legibility.

9 - Emacs is a tool for research. Working with source code can be viewed as research.

10 - When in doubt, do that which builds trust.

11 - When still in doubt, do that which reifies and distributes intent.

12 - When still in doubt, reduce WIP.

13 - When STILL in doubt, improve your specific & general feedback loops.

14 - DO - cultivate your taste. Ask yourself what you like. Then ask why.

15 - Good: exploring your taste, aesthetic & values. Bad: comparing yourself with others.

16 - Asking a specific question and generalizing later is often easier than the opposite.


Other people whose aphorisms I’ve found to be useful: