Get the whole story

If we understand the reasons, the story behind the requirements, we can implement them much more effectively. Then we know which pieces are important and which we shouldn’t spend weeks obsessively getting letter perfect. We can make a guess at what will change, and we know where performance is critical. In relationships, if we know …

Read moreGet the whole story

Amoeba Code

If organisms are programs, then DNA is our source code. Some people attempt to measure the complexity of an organism by the number of base pairs in its DNA. For instance, the human genome is 250x longer than the yeast genome. Makes sense. But then, the amoeba genome is 225x longer than the human genome[1]. …

Read moreAmoeba Code

Victory through failure

The status code you want to get from Microsoft: ERROR_SUCCESS. Or the next best, ERROR_SUCCESS_REBOOT_INITIATED. Often in life our biggest victories, the best surprises, come out of failure to get what we thought we wanted. And the best successes of all cause a reboot – a re-evaluation of what’s important, as we learn whole new parts …

Read moreVictory through failure

Control limits potential

With centralized control, we’re limited to what we can hold in our heads. A centralized economy doesn’t work beyond a few hundred people. A free-agent-based economy can build far more at larger scales. A project controlled and understood by one person can only be so complex. A community of individuals can build something immensely greater …

Read moreControl limits potential

What makes a functional programmer?

Michael O’Church has a lot to say about the functional programming community. His post, Functional Programming is a Ghetto (in the “isolated, exclusive neighborhood” sense of ghetto) contains some great descriptions of what goes through a programmer’s head after he or she learns to think in a functional style. The following is a paraphrase of …

Read moreWhat makes a functional programmer?