Productivity and Self-improvement by Gutata


Microsoft On Complexity

Posted in Process, People by Michael on the June 13th, 2006

I must sound like the biggest fan of 37Signals’ philosophy, which stresses simplicity. I think you should do what works. There is no right way to do something and there are always trade-offs. Finding the right balance between trade-offs is a challenge when making any decision, especially when running a business.

What 37Signals has to say seems to make sense and works for me. Microsoft’s new leader Ray Ozzie seems to be a fan too, as evidenced by his views on complexity. The funny thing is that 37Signals wrote a foretelling blurb about this. I’m sure they’ll post a follow-up linking to Ozzie’s views and predicting the impending changes at Microsoft.

Why is Python great?

Posted in Python by Michael on the June 6th, 2006

Ruby is the sexy language at the moment. Java has lots of resources. PHP is great for getting things done fast. So why would anyone choose Python?

First, Google is doing lots of Python. They’ve hired most of the Python gurus including the inventor of the language, Guido Van Rossum. So there’s probably something about Python that makes it a good language for developing web applications. You can also read why Eric Raymond loves Python. Next, read why Ruby On Rails inventor, David Heinemeier Hansson, thinks PHP is the devil. Then, read Paul Graham’s essay on Java. Finally, you’ll want to read a fairly technical comparison of Ruby and Python.

These articles don’t mean that you can’t develop web applications with Ruby, Java, or PHP. Ultimately, you need to choose what will work best for what you are doing.

Feel The Pain

Posted in Process by Michael on the June 1st, 2006

When developing your applications, you need to feel the pain of your customers. While your application may benefit customers, their problems are ultimately because of your app. If you don’t feel their pain, then your application’s quality will suffer.

This idea can be applied to other areas. In design, designers need to feel not only the pain of their designs from their customers but the pain in implementing them. It is far easier to draw pictures than to implement user interfaces with code. For web application architecture, architects too need to feel the pain of their designs. While they think they’ve come up with a brilliant plan for modularity and system cohesion, it still may be difficult to implement.