Simplicity, Clarity, Generality

From the introduction to The Practice of Programming by Brian W. Kernighan and Rob Pike Have you ever… wasted a lot of time coding the wrong algorithm? used a data structure that was too complicated? tested a program but missed an obvious problem? spent a day looking for a bug you should have found in five minutes? needed to make a program run three times faster and use less memory? struggled to move a program from a workstation to a PC, or vice versa?
Read more →

The Perfect Language

I had some conversations recently about the “perfect language,” I found this great quote from Yukihiro Matsumoto, father of Ruby: Language designers want to design the perfect language. They want to be able to say, "My language is perfect. It can do everything." But it's just plain impossible to design a perfect language, because there are two ways to look at a language. One way is by looking at what can be done with that language.
Read more →

The Three Virtues

From http://threevirtues.com/ According to Larry Wall, the original author of the Perl programming language, there are three great virtues of a programmer; Laziness, Impatience and Hubris Laziness: The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful and document what you wrote so you don't have to answer so many questions about it. Impatience: The anger you feel when the computer is being lazy.
Read more →

The Twelve-Factor App

I was talking to a friend of mine this week and he pointed me to something I'd never heard of before. The Twelve-Factor App from Heroku. I will share the core of the philosophy and the 12 factors, but I encourage you to read them in detail at http://12factor.net/. Lots of great takeaways here. From The Introduction: In the modern era, software is commonly delivered as a service: called web apps, or software-as-a-service.
Read more →

The Two Ways of Software Design (guest post by Roy van de Water)

Read more →