An Open Letter to Chris Dodd

Well written, full of truth:

Consider this letter our “Don’t tread on me!”. Our agenda is to protect our own liberty to create and our users’ liberty to enjoy those creations as they see fit. We have no give and no compromise on either of those, but long as Hollywood stays out of our patch (that is, no more attempts to lock down our Internet or our tools) we’ll stay out of Hollywood’s.

And if you’d like to discuss some ways of fighting piracy that don’t involve trampling on us and our users, we do have some ideas.

5 Principles For Good Code

While replying to a job posting, I started writing this little manifesto of sorts as a mission statement for myself. After kicking it around a little with my good friend Jesper of Waffle Software, I felt I should open it up to the world for criticism, additions, and discussion. The format and content owes much to Dieter Rams’ 10 Principles Of Good Design.

  1. Good Code is simple. It should be easy to understand for anyone who has to work on it.

  2. Good Code is instructive. Anyone with a similar level of expertise should be able to understand how to keep building on the code.

  3. Good Code is clear. Functions and variables should be named simply and descriptively. They should exist in a logical place in the source.

  4. Good Code is generic. Common functions and elements can be used in future projects, or improved and applied to older ones. Projects are simple and more easily maintainable.

  5. Good Code is specific. It solves only the problems it needs to.

I’m genuinely interested in feedback on this. Reply on your blog, tumblr or tweet me.