Specifying Performance

When you design a software product or feature you need to consider not only what the software will do, but also how it will interact with the user. The functional requirements for the software typically refer to what the software does. Nonfunctional requirements clarify the parameters for how the software will meet the functional requirements. […]

Optimizing for the wrong things

Maybe we are optimizing for the wrong things. Maybe efficiency isn’t as important effectiveness. According to the Wikipedia page on photosynthetic efficiency, typical plants have a radiant energy to chemical energy conversion efficiency of between 0.1% and 2%. And yet all human life depends upon the oxygen provided by these inefficient plants. Efficient? Clearly no, but very […]

Metacognitive Miscalibration

A few tweets ago, (I always feel weird referring to Twitter in the past tense) I posted: Why are the unintelligent or uninformed so arrogantly confident while the intelligent and well informed so often unsure and apprehensive? There is something very human to thinking you know more than you really do about a subject or […]

Heuristically Thinking

You don’t have to understand calculus to appreciate this entertaining story: A teacher, trying to explain what a theory is, asked this question: “If you take a letter half the distance to a mailbox and stop, then start over going half the remaining distance and stop, then repeat the process over and over, theoretically will […]

The Perfect Laptop

Business Week’s recent cover story on Lenovo’s new ThinkPad X300 laptop caught my attention. Can you imagine spending 2 years working on a super thin, super light laptop for release in February 2008 and then have Apple announce the MacBook Air on January 15th? What a commotion must have been had at Lenovo after Jobs’ […]