Being Cellfish

Stuff I wished I've found in some blog (and sometimes did)

March, 2009

Change of Address
This blog has moved to
  • Being Cellfish

    Design by contract in real life

    Today I got a sweet reminder on developing with contracts when I read this (in Swedish). I always get a warm feeling in my body when I think about design by contract (which I have earlier mentioned here). A summary of the Swedish post is that Microsoft Research is working on one language called Spec# and one extension for any language called CodeContract. I first learned about design by contract in University when we used Eiffel and I like the basic idea. Design by contract is also a very powerful tool to make code reviews effective since it isolates each method making it possible to review a single method without having to look at how the method is used. I once did this in a C project using precondition and postcondition macros that basically where asserts enabled in both release and debug builds. So even without fancy tools and support in the language you can still enjoy the benefits from contract programming.
  • Being Cellfish

    Mobile phone costs in the US


    So today I finally got my mobile phone service set up. And how mobile services are billed in the US is quite different than how it works in Sweden. The basic rule in Sweden is that if you do not make the call, you don't pay. That is, you pay nothing to receive calls and you pay nothing to receive text messages. The exception from the rule is if you're roaming outside Sweden. In that case you pay the costs for transferring the call/text to wherever you are.

    This is not how things work in the US. Here you pay for incoming text messages as well as incoming calls... Always... So if I call/text my wife we have to pay for the communication twice... Actually that only applies to text messages since we have unlimited minutes because of the service plan we have but still... I don't get the logic behind this scheme. Maybe it's because I'm Swedish...

Page 2 of 2 (12 items) 12