Norwich City FC Angry at Fan For Leaking New Kit

I just read an article on BBC News. All quotes are taken directly from that article. The link is at the bottom of this post.

Norwich City kit published on internet by boy ahead of launch

When I read this I imagined the boy in question had illegally obtained pictures of the new kit, and posted them to facebook/twitter/blogs/etc. I read on.

A 17-year-old Norwich City fan has angered the club by leaking pictures of its new kit 12 hours before the official launch.

Yep. Sounds about right. I’m guessing he had access to the pictures, or maybe he stole them from somewhere, or broke in to a place holding them and took pictures himself. I read on.

Norfolk Police were called in after IT student Chris Brown published images of the 2012-13 strip on the internet.

Ooh! The Police were called. This must have been serious. And he’s an IT student? That must be relevant. He must have hacked in to something, maybe someone’s laptop, and stole the pictures.

The teenager, from Norwich, managed to obtain the pictures from the club’s kit launch website as it was being updated.

Oh. So he hacked a web server and illegally obtained images from it, somehow?

Chris told the BBC he was able to take the images from a section of the site that was being worked on, finding them linked from a file within the website’s source code.
Any computer user can view this through their internet browser.

Wait, so he accessed their public website, right-clicked, went to view source, spotted a link in the HTML, went to the URL, chopped a filename off the end of it to view the directory listing, spotted an images folder, clicked on a few links to images which opened up in his browser, then right-click and saved the pictures? Pictures they uploaded to a public website? Right. A few thoughts came to mind:

1. That is not illegal

2. That is not morally wrong

3. That’s easy

4. They should have protected the directory listing if they didn’t want its contents made public (standard practice)

5. That is not hacking, he is not a hacker, he is not dangerous

6. They should not have called the Police

I read on.

The club’s chief executive David McNally said he had asked for a report into what happened.
He said: “We are the guardians of the football club whilst we’re here and so we will protect our property.
“And our property in the digital age involves our intellectual property, so we won’t allow anybody to come in and take it from us.”

7. Although they legally own the images, they chose to put them on the internet, making them publicly available (not viewable in the website but still easy to locate) and chose not to add even basic protection to them

8. Their webmasters/sysadmins are very amateur

9. The club officials taking this matter seriously are foolish for thinking he’s done something wrong, and they clearly don’t know how the internet works

10. He hasn’t done anything damaging to the club, merely leaked a “spoiler” of their new shirt before they had unveiled it

Copyright infringement is only a criminal offence if someone makes money from it or causes the copyright owner serious damage. If that is not the case, it would be up to the club to take action – not the police.
The club has not said if it will pursue the matter any further legally.

There is nothing wrong with what this boy did. He’s a long-term fan of the club – a season ticket holder. He was clearly just eager to know what the new kit was like, noticed they were building a new section of the website, decided to have a snoop to see what he could find. He found what he was looking for (due to their incompetence) and wanted to share it to let others see what he had been so eager to see. Anyone in his position would have done exactly the same, whether for a football shirt, film, TV show, music album, comic book, book release. In fact most of those examples are likely to be much more damaging than his football shirt leak – people seeing it “early” will not make a difference to the number they sell, and he’s not offering an free or cheap alternative to buying the shirt because of the pictures he’s shared. They’re pictures of a football shirt, not replicas of it, or a DIY make-your-own-shirt blueprint. The club making a deal of this is a joke.

11. Oh, and, it’s a football shirt. This really isn’t a big deal.

BBC News Link: Norwich City kit published on internet by boy ahead of launch

Whisky Web

I’ve just been to Whisky Web, a language-agnostic web conference in Edinburgh organised by a group of local tech guys. It’s the first one they’ve run and it just came from the idea they had to get a bunch of web folk together for a fun conference and social gathering.

Held in the heart of the wonderful and beautiful city of Edinburgh, near the castle, it was quite a trek for us in Preston, but the 3.5 hours easily passed with us hopping on Virgin’s ‘First Class’ wifi (we were sitting near First Class) and chatting about tech, code, games, hacking and whatnot with the Magma team. Upon arrival we found our hotel, got our room numbers (401, 403, 404, which we all chuckled at – “room not found”, etc.) and met up with Magma’s competition winner Sean and went for a meal together. And then came the social. We met up with the usual bunch, quite a few from the PHPNW conference and a bunch of new folk. There was beer, then whisky. Most of the Magma team headed off around midnight but Jeremy (MD of Magma, my boss) & I were engaged in conversation with various people so we stayed out till kicking out time.

At about 1am we headed off, got in the lift of our hotel at the ground floor. It went up to first, then second, then first again, and then it stopped. We didn’t let this stop our conversation at first but after about 5 minutes we realised we were stuck in the lift. The display had gone off and none of the buttons did anything. We called the alarm button and heard a phone ringing through the speaker. I don’t know quite what we expected, but someone answered the phone with “Hello?” as if we’d just called a random number. It wasn’t reception, it wasn’t an 999-style emergency service operator, it just seemed to be a guy on a phone in a call centre. We had to tell them we were stuck in a lift, and where it was. I wouldn’t have been able to remember the road our hotel was on and “Travelodge in Edinburgh” may have been a bit vague, but fortunately having been more involved with booking, Jeremy knew which one it was. They said they would call our hotel reception to let them know, and send an “engineer” over to fix the lift.

Long story short, we were in there for 1 hour 40 minues, in which time we had slowly slipped almost to the basement without noticing it moving. When someone finally turned up to get us out, we just heard the sounds of two guys tugging at the cable and shouting to each other, and finally the door prized open and we saw a hand appear, and we got out and walked up the stairs to bed. I must note we never stopped talking the entire time, the lift stopping barely bothered us and we just chatted away like nothing had happened. It got quite hot in there and by the end we were lacking fresh air – to the extent that it was very noticeable when the door opened and fresh air came rushing in, welcomed by us both. A very surreal experience. If you ever want to get to know a person, get stuck in the lift with them. I guarantee you’ll become best friends!

We had arrived on Thursday night, with the conference happening on Friday. The conference kicked off with opening remarks from Joe, the organiser, about how the idea came about and how they got sponsorship and whatnot, followed by a brilliant keynote from Josh Holmes of Microsoft on the topic of (learning from) Failure. I then saw Rowan‘s talk on “Estimation, or “How To Dig Your Own Grave” which I saw at PHPNW11 and watched again on video since, but again took in some new points from his very well delivered talk. After a long lunch (+1 to the organisers for this – a long lunch (1.5 hours) gave plenty of opportunity for chat – much appreciated!), I saw Brian Suda give a talk on data visualisation, which really did blow me away. I’m an enthusiast for making use of datasets and exploring them in new and interesting ways, and he demonstrated some awesome techniques for visualising and showed some really important findings on perception and manipulation. Unfortunately I missed a talk on the other track called The Emperor’s New Clothes which was about the supposed necessity to use new hipster technologies like node.js for the sake of it. An interesting concept which I look forward to seeing on video when they’re released (Magma sponsored the video recording). I saw Bastien Hofmann mash up JavaScript and an Alice & Bob talk on public key cryptography which, although not very advanced, gave a good explanation of the fundamentals. A hilarious closing keynote from David Zulke explaining his desire to buy “awesome stuff” from the internet, involving a remote control shark, led to Joe’s closing remarks thanking sponsors and delegates.

After some quality conference food we were given a presentation by one of the sponsors – Bruichladdich – on Scotch Whisky, which involved each of us tasting four whiskies with a fascinating history story and explanation of the production process and some informative advice as to how to taste whisky:

Join Craig Johnstone (@WhiskyCraig) from Bruichladdich as he guides us through the history of Scotch Whisky from humble beginnings to modernization through the peaks and troughs of the 20th Century ending up in the multi billion pound industry we see today. Learn of Bruichladdich, the one company out there doing things differently and experience first hand the craftsmanship and passion that goes in to building the most exciting and independent of Islay Single Malt Whiskies.

~ from

We all gave him our full attention and everyone seemed to enjoy listening to what he had to say, and of course we enjoyed the whisky. Following this we all proceeded to the pub. A rather loud pub. A few of us (Derick, Rob, MichaelVolker & I) went to a quieter pub for a chat, had a couple of beers followed by a couple of whiskies before heading back to our hotels to rest for the hack day. The hack day involved people a variety of things, whatever they wanted to. Some did development on a project from a list of suggestions, others took the time to do something they didn’t get chance to do at work. At the Magma table some of us did Zend Framework 2 tutorials, Adrian worked on an Instagram clone (trying to make a quick $2 billion) and Farkie & I started work on our own spin of the Ruby Koans, for PHP. We created a couple of test assertions using two underscores as the defined constant ‘FILL ME IN’ and set up one side of the assertEquals to that. Then we ran PHPUnit on the suite and output the result in to a json object in a file, which we then read in and displayed the results back to the user to inform them of their progress through the challenges, like the way the Ruby one does. We made a certain amount of progress at the hack day before heading home on the train. We continued work on the koans on the train back to Manchester and had the framework fully working by the time we got home. I then put the project on github and we intend to plan and implement a full set of tests which will teach the student how the constructs of PHP works. So there you have it – the PHP Koans – watch out for a full release in coming months. We hope to announce/launch it at PHPNW in August in a lightning talk.

Nothing more to be said other than that I had a fantastic time – thanks so much to the organisers Joe, Dale, Paul, Michael and Max – see you again next year if not before!

Oh, and I also learned that there is a difference between whisky and whiskey:

But, there is an important distinction between the two. You see, whisky (plural whiskies) shows that the product was made in either Scotland, Wales, Canada or Japan, whereas whiskey (plural whiskeys) shows that it was made in either Ireland or America.

~ from

Photos can be found at Rob’s flickr and Joe’s flickr

Hack To The Future

The BBC wrote about Hack To The Future on their Research & Development blog, including a short video featuring their coverage of me explaining my nontransitive dice session! Also some screen time with Sam of Manchester Girl Geeks (who gave a brilliant keynote); Tom Crick (Cardiff Metropolitan University); and of course, organiser Alan O’Donahoe.

I had a great time at the event, got to witness a real sensation of excitement for computer science amongst children. It’s really encouraging that we’re finally harnessing that energy and hopefully will be able to give direction to the kids interested in taking up programming.

See the full article – Teaching coding to kids at Hack to the Future – BBC R&D

ASCII Bar Charts for Quick & Easy Visualisation

So you have some data. Let’s say it’s a record of the number of instances of some things. Let’s say it’s the number of movies you own, grouped by the year they were released.

Let’s say you have those data in the form of a dictionary in Python, like so:

years = {2000: 2, 2001: 9, 2002: 10, 2003: 9, 2004: 14, 2005: 11, 2006: 8, 2007: 10, 2008: 14, 2009: 19, 2010: 16, 2011: 17}

The following loop will print out an ASCII bar chart for a quick & easy visualisation of these data:

Which looks like this:

Note I used the ‘pipe’ character in this example. First I used ‘o’, which worked well, but I tried a few others ('O','x','X','*','@',':','/','#','[]','+','-','=','_',':)',…) and liked this the most.

That’s the end of what I wanted the blog post to show, but I may as well throw in how I got my data in this case. I have movies saved in a folder, and by convention I name them with the year in brackets at the end so I used glob to loop through the files in this folder, extract the year, and increment the counter in my years dictionary. I have another blog post in draft about using glob to edit filenames in batch. Coming soon.