Coexistence of Multiple Personalities

Game Developer Sid Meier calls it the Covert Action rule, named after one of his less successful video games that integrated two very strong but different styles of gameplay into one game. Covert Action (circa 1990) was a mystery game with all the suspense, clues, and plot you might expect in a spy thriller of […]

Tech that finds bad guys (and girls too)

A hotel worker in China entered Frank’s room while he was away at dinner and installed a new type of spyware on his laptop.  The spyware traveled home with Frank, waiting to connect to the corporate network. Once behind the firewall the spyware infected hosts, generated link charts of business relationships, harvested intellectual property, and […]

Loyalty Programs – Who should be loyal to whom?

First of all the name is wrong – it should be a rewards program (some get this right). To drive business some companies will set consumption goals then reward customers who achieve those goals, often forcing them to “join” a program. However, even at the first transaction a customer is already giving the company their […]


There is nothing new about agilewashed projects. Scrumwashing is big today but back in the mid 2000’s, before any random person off the street could get certified in Scrum, projects got washed in superficial XP practices. I can’t count the number of projects I knew back then that implemented Agile simply through pair-programming, “team empowerment”, […]

Designing for Language

Programming language design is a concern for every software developer. While most modern programing languages are technically capable of the same operations, the design of a language deeply influences how its users approach and solve problems. A programming language with consistent and coherent core design principles will encourage code which conforms to those same principles, […]