Hack Manchester 2012

Short version: The hackathon was a great experience, especially as someone who usually works alone. I got to write tests for other people to work on, use a language I’m still learning and experience a new way of databasing. The way people worked together, even across teams, to solve problems and how other products outside of challenges were thought up and developed showed the strength of the tech community. Winning a Raspberry Pi on top of it all just made it even better - I’ll be back next time!

On the 27th October 100 programmers from around the country (and even from abroad) descended on the emerging tech capital of the UK, Manchester, for a gruelling contest of coding skill, team work and caffeine tolerance. Hosted by the amazing folk at Manchester Museum of Science and Industry, still my first memories of the city as a child, the premise was simple: form teams of 1-4 developers, designers or “other” and take on a development challenge set by one of the event’s sponsors.

Read More

Code, Wizardry & Roxanne

Any sufficiently advanced technology is indistinguishable from magic.

- Arthur C. Clarke (1961)

When Clarke, the famous science fiction author, wrote Profiles of The Future he made a lasting observation, though interestingly one that necessitates a society to have developed a concept of false magic before progressing to develop suitably advanced technologies. Nevertheless he’s completely correct; turn up in the Roman forum with an iPhone and people would barely believe it possible - maybe to the extent that they would outright refuse, destroy the item and feed you to the lions. We deal with each new technology as it makes a sensible progression from the last.

Whilst we remain amazed at each new thing that scientists and engineers come up with, this gradual feel means we rarely get this magic moment. Sure the internet is amazing, but we’ve watched it grow over decades, and for the majority of them it was a bit crap and disappointing to the average person. However one area where I think we still see magic on a regular basis is in the world of programming.

Read More

Disruption in a Ceilidh

On Saturday evening I attended a ceilidh as part of Chorlton’s Big Green Festival. Aside from being great fun (I went to plenty of ceilidhs during my university years and was missing them) it allowed an interesting level of systems observation.

For the uninitiated a ceilidh is a traditional dance, most often associated with Scotland but generally any folk dancing could be referred as such. Each dance fits a specific rhythm though not a specific tune, and consists of series’ of moves performed with partners or in groups. Different moves can alternate group size, and some dances will at points involved the entire room. It’s an obvious point to make that the more people involved in a dance the greater chance of the system being disrupted.

During one of the dances involving everyone, couples were numbered 1 and 2 all round the circle. At the beginning of the dance the even numbered couples stood back (men facing out, women facing in) and the odd numbered couples, hand in hand, galloped between the two lines, round in a circle. They did this for half a measure, and then galloped back to their original place. At this point they stood aside, and the even couples performed the same action, returning to the opposite side of the couple they started next to (i.e. moving around one place). At this point an odd and even numbered couple would join into a 4 and dance around with each other before moving back into the circle and the dance starting again.

It is apparent that the exact distance any one couple moves inside the circle at this point isn’t fixed, but will be constrained by the couple ahead of them, and their own agility/speed of movement. One couple in particular wasn’t great in either of these areas; they caused a roadblock to all the couples following them each time. After a few goes round this led to them arriving back on the wrong side of the couple they were meant to be dancing with, therefore dancing with the couple to the other side, leaving two couples either side of this group with nobody to dance with. Each of these couples was aware of the problem - they could both see that this other couple had made a mistake.

What followed is the interesting bit. The dance then proceeded, with the problem couple managing not to mess up again. However the disruption they had left continued moving around the circle, each time resulting in couples having nobody to dance with. In the initial instance the couples affected were aware of where the problem came from, but as the dance progressed the actual problem got further and further from its source, each time reducing the likelihood that it would be corrected, as nobody was quite sure why it was happening.

A simple loop of processes gradually became unresolvable as people accepted the problem as inherent to the system, despite the fact that it was actually as simple to solve at any future point as when it first occurred.


Talking on Twitter about this I brought up the point that I was on the left side of the problem couple when the error occurred. This meant that my dance partner and I were the first and second to experience the issue, happening as it did either side of the problem origin.

On the second run through I’d realised the problem and attempted to fix it by repeating the mistake, turning to the wrong couple to form into a 4 and gesturing at the people we should have been dancing with to move back to the problem couple, which would have solved the problem. However in the fast movement and noise of the dance I could only try gesturing to these two separate groups to inform them of what I was doing, and when they didn’t catch on I returned to the people we should have been with, in case I actually exacerbated the problem.

This could illustrate how difficulty of communication can prevent a simple fix being implemented by the people who first experience a problem. I only had one chance as the disruption moved away in the next phase of the dance, so as my attempt failed I was then powerless to affect it any further, without risking propagating further disruptions through the system.