Monthly Archives: February 2011

TDD – Test Driven Development

Finally, I started using this technique I read about in The producive programmer by Neal Ford called Test Driven Development (TDD). Basically, you write up all the test cases before writing actual code.

The technique naturally (and inevitably!) forces you to reduce cyclomatic complexity, as it is a lot easier to write unit tests for simple methods that do just one thing. At first it really felt like a tedious thing to do, but after about an hour I already see the process is guiding me to simpler, more robust coding. This is seriously good stuff.

Despite the overhead of writing up the unit tests, I have a feeling that the overall time I’ll be spending on this will be less, considering all the potentially obscure bugs I’ll be avoiding this way. Totally awesome.

Favourite Mac OS X apps

  • Google Chrome
  • Quicksilver – launcher, the first app I install always, and then some tweaking:
    1. Disable spotlight
    2. Automatically start Quicksilver on login (System Preferences / Accounts / Login items)
    3. Map Quicksilver launcher to Cmd – Space
  • iTerm – terminal application, much better than the default terminal, for example it has tabs
  • MacVim
  • Bazaar – version control
  • VLC – media player
  • Calibre – kindle manager
  • DigitalColor Meter – (installed by default) a color picket tool, simple and perfect
  • Mac Ports (takes some time to install) – to install UNIX software
  • Freemind – mind mapping tool
  • picasamac
  • sshfs – mount remote filesystems over ssh