When evaluating a [scientific] claim: Extraordinary claims require extraordinary evidence. This is basic Bayesianism, without the calculations. For example, if a preprint is called Solution to the cosmological constant problem, one glance at the abstract is sufficient to dismiss it with high confidence.
When designing software (or anything else): The cheapest, fastest, and most reliable components of a computer system are those that aren't there. Specifically, this means ruthlessly pruning my original design, until only the necessary functional parts remain. The Ideal Final Result approach is quite useful there.
When designing anything new: Build one to throw away, or at least be prepared to (sunk cost avoidance). This one is rather controversial, with people arguing that Agile Development/RAD make this unnecessary. However, if you notice how often a major OSS project is redesigned way late in the game because the original architectural and design decisions no longer apply, you might as well plan for it in advance.
Thanks for introducing me to the IFR. I now have a card (amongst many) on my bulletin board saying
"The ideal system -
- Occupies no space
- Weighs nothing
- Takes no labor to implement
- Requires no maintenance
- Delivers benefit without harm
And most importantly
- Does not exist"
If you constantly invent systems, this is a very useful reminder to ask yourself whether the system actually gives greater utility than it's encumbrance.
I'm not as smart as I like to think I am. Knowing that, I've gotten into a habit of trying to work out as many general principles as I can ahead of time, so that when I actually need to think of something, I've already done as much of the work as I can.
What are your most useful cached thoughts?
A few of the rules-of-thumb I've already pre-cached include:
That should be a reasonable but not overwhelming sample of the sorts of ideas I mean, and am hoping to evoke more of with this post.