> These are my personal principles for building software. I hope to frequently update them as my views change. There can be > valid reasons for breaking them (they are //principles//, not //laws//), but in general I believe following > them works out well.