TurnKey Linux Virtual Appliance Library

Python's timeless principles of good software

$ python -c 'import this'
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.

Less is more and the magic number is four

Remember this posts title. It not only rhymes. It's the law!

Sometimes the truth is a bit counterintuitive. Conventional thinking is that more is better. More features. More choices. More options. More is more right?

When we first tried redesigning the Hub's front page we made this mistake. We were so proud of all the big and small features that made the Hub easy to use we listed all of them. As a big wall of text no less. In retrospect I don't know what we were thinking.

Good design is harder than it looks

A few months ago I worked a couple weeks on a new website design. Just to be clear website design isn't one of my specialties. Not be a long shot. I'm much more of an engineer at heart. That means I feel more comfortable coming up with solutions I can test objectively. Visual design doesn't fit the bill. It's more art than engineering. Open-ended. A seemingly infinite solution space. No clear fitness function that doesn't involve wishy washy, vague notions like taste and style.

Practical guidelines for beautiful Python code

Every now and then Liraz and I find ourselves chatting about how much we love Python, but more so the lessons we have learned from coding, and how to apply them to create beautiful Python code. I've tried to refine some of the "lessons" into practical guidelines that I apply religiously to all new code I write, and the refactoring of old code I written.

On good web design

A few months ago I was looking for ways to improve the TurnKey web site. I spent a lot of time researching good web site design online by:

  1. studying the theory of web site design from such resources as "a list apart".
  2. "reverse engineering" the design of existing successful web sites:
    • Good.is online magazine / community
    • The Wordpress blog
    • Techcrunch
    • A List Apart (they're the experts on web site design and usability)

I payed especially close attention to the social aspects of the web sites I was studying as I was interested in improving the social experience on the TurnKey web site as well.

I wanted to improve my understanding of good web design in general. Not just for my work on the TurnKey web site. By then we were discussing our ideas for the TurnKey Hub and it was clear it would come in handy for that as well.