Top posts of 2011
The top ten posts for 2011 according to Google Analytics were:
- Installing Python, MatPlotLib & iPython on Snow Leopard.
- Finding duplicate files using Python.
- Getting started with Python.
- Praise for Python.
- Basic Graphing with MatPlotLib.
- Graphing real data with MatPlotLib.
- Extracting image EXIF data with Python.
- Python 2.7.1 Goodness.
- Running WordPress on Mac OS X with XAMPP.
- John Cleese on creativity.
Eight of the top ten are Python related, the top twenty is more diversified:
- Querying Reddit with Python.
- Barbara.
- Processing Perforce command output with Python.
- Downloading wallpaper images from Reddit using Python.
- Why scrum fails…
- Hacking work manifesto.
- The ascendeancy of JSON.
- Using Perforce counters to control syncing.
- Why work doesn’t happen at work.
- 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 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.
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?
Recent Software Discoveries
In the last month I’ve come across several useful pieces of software which I thought I would share:
Launch Bar (Mac OS X)
One thing I noticed when I switched from using Windows PCs at home to using Macs was that there did not seem to be an obvious equivalent to using the run command (Windows Key + R) to open directories, URLs and launching programs. The built in Spotlight application can launch applications in a manner similar to run but not open applications or URLs. Launch Bar is a Mac only application that addresses this and adds extra features like a calculator, targeted Google searches (maps, general, groups etc) to allow you to access any file or application on your Mac or URL on the web quickly and easily. I highly recommended this application: I now wish there was a Launch Bar equivalent for Windows!
Remember the Milk (Web)
I admit I was very skeptical about a web based To-Do list application but I kept hearing people raving about Remember the Milk so I eventually decided to try it out myself. Despite using GMail for almost a year I really was not expecting the responsive and feature-rich user interface this site provides. There are so many little details that make this one of the most progressive To-Do list applications I have used in years e.g. entering dates is super simple: want tomorrow then enter ‘tomorrow’, want this Friday enter ‘friday’, want the 27 of February enter ‘feb 27′. It puts grown up To-Do list applications like Microsoft Outlook to shame!
Twitter (Web)
Twitter can best be described as a micro blogging system where all blog entries (called tweets) are one hundred and forty characters or less in size. Users can follow each other which is similar to subscribing to a blogs RSS feed. This produces a constant stream of tweets which you can either view through your customised twitter home page or through a client like twhirl (below). Twitter is very useful for exchanging micro updates over the course of the day with your friends and people you respect or find interesting, especially for details that you would not bother with a blog post about. Although be careful who you follow or you may get more information about what they are currently doing than you would prefer.
Twhirl (Windows & Mac OS X)
Twhirl is a client application for twitter that runs on the adobe Air platform (essentially Flash for the desktop). I had been using twitter via the default web user interface until last week when I switched to twhirl. I had heard of twhirl before then but had been put off it as it used Adobe Air and I’ve been burned in the past by Adobe faulty auto update software before which had put me off free Adobe software. Twhirl has been a very pleasant surprise in terms of quality and ease of use: I especially like the option to fade out the UI if it goes out of focus (e.g. you switch to another application). It even has built in tools to shorten URLs, which is very useful due to twitters message length constraints.
Have you discovered any great software recently?








