Monday, July 27, 2009

Rule of thumbs for API designing

I have just read a very interesting article "API Design Matters" by Michi Henning. He discusses the problem with bad designed and gives some rules of thumb. We all have some time used an API that does not feel right and makes the coding hard. It is very interesting to read Michis analyze of this and why. My feeling is that he had put the hammer right on the nail. Here is a summary of the rules he discuss. I assume you will feel like me when you read them; yeah thats obvious. But thats the nice thing and the important is to get the list.

An API :

  • must provide sufficient functionality for the caller to achieve its task.
  • should be minimal without imposing undue inconvenience on the caller.
  • should be policy free if it is general purpose.
  • should be policy rich if it is special purpose.
  • should be designed from the perspective of the caller.
  • don't let the caller configure "everything".
  • should be documented before it is implemented.

If you want to read the discussion behind the rules, go to the article.

Saturday, July 11, 2009

Moved to France

Not me but my mail server has moved to France or to be more correct is now hosted by the French hosting provider Gandi.net. According to GeoIP it is in Paris. I rent a small virtual machine from them to host my web and mail server. This makes me less dependent of my broad band connection and I skip the problem that my IP-address may change without notice.

At Gandi I have an Ubuntu 9.04 Linux machine with 256kb of memory and 8GB of disk. This is more than enough for me to hosting private mail and web. The mailsever is postfix and dovecot. I have my own CA-authority to handle secure connections from my mail clients.

Sunday, July 5, 2009

Spring framework to Python

I just noticed that Springsource has released the Spring framework for Python. Interesting, especially since i like the Spring framework in Java and I prefer Python as language in a lot of cases. I must try it some day....