Five iPhone apps to consider

The five iPhone applications I use every day:
  1. Byline
    An excellant Google Reader client, perfect for reading the news during the commute to work.
  2. Instacast
    For sync free podcast listening its hard to beat Instacast, I wish I’d found it sooner!
  3. Camera+
    Apple should just buy this app to replace the built in camera application, its that good.
  4. Tweetbot
    So much better than the official twitter client it isn’t funny!
  5. Analytics Pro
    The best Google Analytics client I’ve found so far, very handy for checking up on your sites on the go!

Top posts of 2011

The top ten posts for 2011 according to Google Analytics were:

  1. Installing Python, MatPlotLib & iPython on Snow Leopard.
  2. Finding duplicate files using Python.
  3. Getting started with Python.
  4. Praise for Python.
  5. Basic Graphing with MatPlotLib.
  6. Graphing real data with MatPlotLib.
  7. Extracting image EXIF data with Python.
  8. Python 2.7.1 Goodness.
  9. Running WordPress on Mac OS X with XAMPP.
  10. John Cleese on creativity.

Eight of the top ten are Python related, the top twenty is more diversified:

  1. Querying Reddit with Python.
  2. Barbara.
  3. Processing Perforce command output with Python.
  4. Downloading wallpaper images from Reddit using Python.
  5. Why scrum fails
  6. Hacking work manifesto.
  7. The ascendeancy of JSON.
  8. Using Perforce counters to control syncing.
  9. Why work doesn’t happen at work.
  10. Small steps to big goals.

On a personal note I hope 2012 will bring more posts and less personal tragedy..

Friday Linkage

This weeks interesting pages:

How to broadcast your Google Reader ’starred items’ to an RSS feed or widget on your blog
This post explains how to share your Favorite (starred) items in Google Reader via either an RSS feed or as a widget on your blog.  This is something I am  interested in, as these weekly linkage posts are essential a summary of my starred items in Google Reader for that week.  Although not all my Friday Linkage links come form Google Reader but it would cover most of the interesting blog posts.

Playing in Traffic
David’s well titled post on generating traffic on your website in a classy manner e.g. not through buzz word bingo is well worth a read.  Especially if you are interested in increasing your traffic while retaining your credibility.  His portfolio of photographs is also well worth a browse.

Unit Testing: One Test, One Assertion – Why It Works
This post makes the case for one assertion per unit test.  As relative beginner to unit testing and as someone who tends to have multiple assertions per test I find this an interesting idea which I think I will need to try out.

The Psychology of Passive Barriers: Why Your Friends Don’t Save Money, Eat Healthier, or Clean Their Garages
Ever wondered why people don’t do things that are clearly beneficial for themselves?  This post discusses some of the Psychology of this phenomenon.  Although this is not specifically about software engineering, it is talking about an important aspect of user interaction: motivating/compelling the user to do something.

Actively Avoid Insights: 4 Useful KPI Measurement Techniques
This article on Web Analytics discusses four commonly used measurement techniques: averages, percentages, ratios and compound metrics and how they can actually hinder your understanding of your progress against your goals unless they are applied with some thought.

Friday Linkage

This weeks interesting links:

Design Patterns

Design patterns are recyclable solutions to a software design problems and are an essential way to share design experience between designers without each designer having to discover the patterns themselves.  Patterns are not however concrete implementations of solutions like a library they are higher level design concepts and whose implementation should be customised to fit the needs of the situation e.g. if you were to use the same pattern a hunderd times you may well end up with a hunderd different implementations.


Anti-patterns are the opposite of design patterns they describe negative patterns in software design, programming, project management, organisational behavior and other areas of development.  The main focus of anti-patterns is their detection and removal, not their implementation!  Most anti-patterns consist of an definition of symptoms and a guide to refactoring or otherwise removing or reforming the anti-pattern into something more positive.

The Bad Apples: Group Posion

Jeff Atwood discusses the surprisingly dramatic effect that a ‘bad apple’ workers can have on their teams chances of success.  The research his post is based on is quite eye opening, the potential effects of a ‘bad apple’ on a team are much more dramatic than I would have expected.  It is especially interesting to find out that the rest of the team starts to mimic the traits of the ‘bad apple’ after prolonged exposure, which makes an even stronger case for reforming or removing the ‘bad apple’ as soon as they are identified.


NTFS-3G is a free NTFS driver for Linux, FreeBSD, Mac OS X, NetBSD, Solaris, Haiku, and some other operating systems.  It allows these operating systems to both read and write to NTFS hard drive partitions used by Windows XP, Windows Server 2003, Windows 2000, Windows Vista and Windows Server 2008  systems.


MacFUSE extends Mac OS X’s native file system to be able to use third party file systems written on top of MacFUSE’s SDK.  Combined with the NTFS-3G driver this allows Mac OS X to finally be able to read and write to NTFS file partitions.  This means that NTFS can finally be used for boot camp and VM ware installations on Macs.

Friday Linkage

This weeks interesting links are:

Failure as an indication of progress
This post features a great video about Honda’s Indycar racing experience and how they have an attitude that you have to fail to push the envelope.  This is something I can understand, as I recently started learning to ice skate to play ice hockey.  I noticed quickly that there are two schools of thought about falling: the first is that it is a bad shameful thing and the second is that it is necessary to find out where your limits are.  Without regular failures it is very hard to continue to improve, nothing focuses the mind like working out what went wrong.

Stop bouncing: tips for website success
This post is a great introduction to using the Google Analytics service to guide improvements to your website with the aim of helping to retain visitors to your website.  If you find the article useful I would highly recommend the authors personal Analytics blog ‘Occam’s Razor‘.

Patterns & principles help me sleep!
David’s post about the effects of truely understanding and using design patterns and principles as opposed to memorising them for buzz word bingo purposes.  As I am currently swatting up on design patterns in preparation to teaching a short course about them in two weeks, I found this post fairly encouraging.

Are you throwing away readers by posting at the wrong time?
An interesting post on when to time your blog posting, as someone who already schedules their posts to publish at a certain time (01:00 PST) I found this a quite interesting read and something I will need to think about when I schedule my posts more.

World of Warcraft is the new ‘third place’
It is very interesting to see a computer game being listed as a ‘third place‘, with over ten million players I guess it really is a global community now.

Friday Linkage

This weeks interesting web pages are:

ASP.Net MVC: Release Candidate One
This week Microsoft released an official release candidate for their ASP.Net MVC framework.  Check out this blog post for a list of whats has changed.  ASP.Net MVC has been in beta for a while and I’ve been trying to wait patiently for a more concrete release before trying it out myself.  Mostly so that if I do like it and use it for a project that I then don’t have to do much rewriting if the API changes between beta and release.  So I will hopefully get some time to try this framework out in the next month.

Apanta Studio
Apanta Studio is a web development IDE which is completely free and based on the Eclipse platform.  I was inquiring about a decent php and python editor and had this package recommended to me so it is also on my ever expanding list of things to try out.  It also supports AJAX, Ruby on Rails, CSS and HTML editing so unless I end up deciding to write my sites in ASP.Net I will most likely be spending a lot of time getting to know this package.

Read the Diffs
Eric makes an interesting suggestion about reading the diffs of the changes your co-workers made the day before every morning.  This sounds like a good way of keeping up with what your co-workers are doing, helping improve code consistency and you may well learn something cool as well.

Can you cure copy & paste disease?
I think any experienced programmer has encountered the horror of a code base that has massive amounts of code copy & pasted around inside it.  Mass usage of copy and paste is generally a bad idea: especially if the person doing it does not fully understand what the code they are copying actually does.  This post discusses the idea of disabling or limiting the usage of copy & paste and if it would improve code quality which is an interesting idea.

Winston Churchill’s Daily Routine
I found this really interesting given all that Churchill achieved during his life to see his daily routine.  Being British he is one of our national heroes for leading the country through the dark years of the Second World War.  I wonder if the routine mentioned in this post covers the years during World War One and Two?