Northern Lights 2014

This is the second Northern Lights that I’ve co-organised with Bruce, and the fourth event overall.


One of the things I love about this conference is the way we shape it to encourage people to talk to each other. This isn’t just ‘listen to the expert on stage’ territory. This is ‘find people who share your interests’ territory.

Open Space

Nearly half of the day is reserved for ‘open space’. During open space we have four breakout rooms set up for short talks / discussions / panels proposed by attendees.

This was so popular this year that we had to find two extra rooms. The sessions were:

  • Wearable Technology – Try it on
  • What would you do with all the data?
  • Open data about organisations – create once / Use many model?
  • Block chain tech
  • When to reinvent the wheel
  • Government websites
  • What do students want from internships?
  • 3rd sector communication mechanisms
  • Get rich
  • Hacker spaces in Africa
  • Open mapping / open street map
  • Space radios
  • What should we teach first year computing students?
  • Retelling classic Scottish stories through tech
  • Horizon 2020

The wearable tech session involved the opportunity to try on Occulus Rift and Google Glass thanks to one of our sponsors – IFB – so we inevitably ended up repeating that session throughout the afternoon.

Open space makes it much easier for people to start talking to each other. It’s often the conversations that provide the most valuable takeaways from a conference, but it’s too easy to simply turn up, sit through the talks, and keep yourself to yourself.

By reducing the 100 or so people around you to a dozen or twenty on a side track, it’s much easier to introduce yourself, find common ground, and start sharing ideas.

I wish every conference had some open space. It’s easy, you just need some post-its.


Codethecity 2

I won’t attempt to cover everything that happened at codethecity 2 here. It’s well documented on the tumblr and on the main codethecity website. The github page has all the code, and the repo README files do a great job of giving you a quick overview of each project.

I do have something to add though.

Accessibility matters. We all know that. Not enough of us keep that front and centre during our day jobs. Many of us see it as a chore. An after thought. Something to be ‘dealt with’.

remoting into codethecity

One of the projects this weekend was getting on fine. It was a project to make it easier for people to find appropriate sports and exercise activities called fitlike.

They had a nice concept, some insights into how people need to find activities using useful (rather than easy to implement) categorisation, a plan around data and API usage, they had the beginnings of a UI, and they had put a demo together of how the look and feel could pull things together.

The designer on their team was looking a little less engaged with the challenge towards the end of the Saturday so I had a word. He felt he’d kicked the ball about as far as he could. The rest of the team needed to catch up. The design largely solved the problems they had. That challenge was over – now it was all about implementation.

We had a chat about accessibility.

About the challenge faced by people with limited motor skills. The challenges faced by people with brain damage, or learning difficulties, or visual impairment. We had a chat about the simple things we can do to make the UI more accessible for these groups.

We had a chat about how this can impact their quality of life. How this had potential to directly make their day better. How using a larger button, with an icon, and a distinct colour could potentially make their day better.

I’ve had designers react to this with a shrug, and a complaint that it’ll be impossible to make it also look pretty. They start working on an alternative UI for ‘them’.

This weekend the reaction was all about the excitement of realising that possibility. The challenge of making someones day a bit better through design. The challenge of making the whole experience suited to ‘everyone’ rather than making concessions to ‘them’.

Within a couple of hours on a Saturday night the project had taken a huge leap towards that goal.

fitlike ui example

We had icons that made things more visual than drop downs. We had transport considerations front and centre. We had accessibility options on an equal footing with other options, and presented in the same way – not as an apologetic bolt on.

There is work to be done, but there is a clear vision, a clear desire to achieve it, and the team are embracing the challenge.

Exciting. I can’t wait for the next Codethecity.

Hacking in class

Last week I spent a couple of days out of the office helping tech the new Masters in Digital Marketing at RGU.

We ran a two day agency simulation. Complete with written client briefs, client interviews (real clients), ideas sessions, research, concept testing, and repeated prototype cycles.

Our room overlooked the main entrance hall in the Business School – opposite the coffee and sandwich bars – it was amusing to see people pointing up at our windows as they got progressively covered in post its and prototypes.

More doing. Less talking.


You can find out more about the course on the RGU Website.

Minecraft Pi

We have Minecraft on the Mac, iPad, iPhone and on Raspberry Pi. We also have versions of minecraft being played with lego, with Stattys, and in conversation endlessly. Minecraft is addicting.

Each version has different constraints and possibilies. You can’t visit the Nether in iPad version, you can only play in Creative mode on the Pi, and you need to have been very well behaved to get to play it on the Mac.

The boys favourite version at the moment is the least capable. It’s the Rasp Pi one. I’m pretty sure it’s because it runs on their computer.

minecraft on the pi

Easier than ever

A recent update to Raspbian means that you get Minecraft by default if you download a new image (including NOOBS). Find it here.

Minecraft on the Pi comes with a Python module that lets you write Python scripts that do things in Minecraft land. This is great fun – and a great way to get little people interacting with code. Changing some variables to change a dirt block to a TNT will never get old when you’re 6.

The docs for getting started with minecraft, and the full API Reference should give you plenty to get your teeth into, and make it really easy to get the Hello World up and running. Even if your Python is weak to non-existent like mine.

There is some great starter code in the docs – take this example – dropping flowers behind you as you walk.

from mcpi import minecraft
from time import sleep

mc = minecraft.Minecraft.create()

flower = 38

while True:
    x, y, z = mc.player.getPos()
    mc.setBlock(x, y, z, flower)

How simple is that? You can make the Minecraft world bend to your will through numbers and letters, not just by waggling the mouse and typing W A S D.

Social media for students

I gave a short presentation about how the real world views social media to visual comms students at North East Scotland College a couple of weeks ago. Most of the students are looking to build a career in the ‘creative industries’, with between one and three years of study ahead of them before they enter the workforce.

The thing that surprised me the most was how few of them had a linkedin profile. I think three hands went up in a room of about 80. Things were better for twitter, but not much.

CV only showing twitter handle

Here are the main points I made to the students to help them get that summer internship / placement / first job by making a better impression when a potential employer does the inevitable ‘social media due diligence’ search for them.


  • Get a linkedIn and fill that thing out – make yourself findable
  • Call yourself a designer, developer, artist… whatever you want to be. I’d rather read “Designer, currently studying X at Y” than just the name of your course, or worse, “Supervisor at Funbar McGinties” with no mention of your studies / aspirations
  • Connect with everyone on your course, some of them will get jobs at great places that you want an introduction to, they can be your bedrock network for a long time to come.
  • Connect with people you meet through your course – like people that come in to give short presentations to class, your tutors, people you know on different courses.
  • Post and comment around your design interests, have an opinion, and be happy to share it.


  • Don’t have a ‘jane-person’ and a ‘jane-designer’ account – just have ‘jane’. You’ll be more likely to keep it up, and more likely to come across as a rounded human.
  • Minimise the drunken rambling.
  • Limit your selfies, football commentary, X-factor blow by blow. Don’t swamp out everything else.
  • Talk about design, even if you don’t have anything ‘genius’ to say. Posting ‘wow I just discovered the Braun guy’ is fine.
  • Share new things you find.
  • Talk with people – not at them – it helps you to verbalise your thoughts.

All of this makes me happy when I see a CV coming into the office. It shows me that the person cares about what they do. Even if they aren’t making too much sense, they are engaged with the subject.

When I ask why people haven’t followed some of these the most common answer is a combination of not wanting to put themselves out there, fearing criticism, and a perfectionist instinct that they should only show their most awesome work/ thoughts/ links.

Fight that! Put things out there. If your intentions are good, then good people overlook mistakes. Haters gonna hate, forget the haters.


If some of this sounds cynical it’s because it probably is.

Some people will rail against the ‘connect with the world’ strategy on LinkedIn. But this is a competitive industry, where your connections through friends and family can be more important than hard work and talent in securing young people their first gig.

If I can arm some folk with tactics to beat that system I’ll be delighted – even if it does involve sidestepping some linkedIn ettiquette.

The Mighty Trebuchet

Back in easter, to liven up the egg destruction a little, we build a trebuchet out of bits and pieces we had lying around in the garage. The ‘basket’ was a mesh bag onions came in. No two screws were the same. The uprights were made of floor.

We experimented with different weight of arms, and with dropped weights instead of bungee as propellent. We broke the arm in the video below – so upgraded to a bit of 4 by 2.

The most important factor, clearly, was the name. Was it a trEGGuchet? No – it was the Mighty Trebooshet.


Here is test launch five. Robin did enjoy it – honest – despite his squeeky grumbles on the video.

Top tip if you’re thinking about building a treb is to keep your head out of the way. That arm hurts even when it’s unladen. Also – trebuchet and three year olds are a dangerous mix. Keep a hold of those little people at all times. And dismantle the treb when you arent using it. I had a quick release pivot point to collapse the arm quickly.


This summer we spent some time on the west coast of Scotland again. It was lovely. It was more lovely because the boys reacted so strongly to the landscape.

“is this where Hilda lives?”

“will there be trolls?”

“did you bring a bell?”

west coast

If you haven’t read the Hilda books, do. They are magnificent. Especially if you have little people around.

hilda land

Scuffed Constraints Hack Pack Giveaway

This time last year I was refreshing the Constraints Cards kickstarter every 30 seconds or so to see how many new backers I’d got. Since then I’ve shipped a mountain of cards around the world, which has been a great learning experience. Who knew labels were so complicated!

I’ve got a big box of slightly scuffed decks. It’s full of decks where the shrinkwrap is torn, or where there is a bashed corner to the box. It’s under my desk. I keep kicking it. It’s annoying. All the cards are perfect – but I can’t really sell them. So I’d like to give them away.

Constraints Hack Packs

If you have a web user group, meetup, class, or some other group that would like to organise a hack day / evening using Constraints I’d like to send you a skuffed up hack pack for free.

Just tell me about your group, and when you’d like to organise a constraints session and I’ll ship a couple of kilos of decks, stickers, badges, logbooks and general Constraints goodies – about £100 of stuff normally. Everything you need to run a constraints hack for a decent sized room of people. The decks will be the scuffed / bashed boxes but the cards themselves will be spotless.

I have a few hackpacks to giveaway – first come first served!

Postage costs are a killer for overseas, so I’m afraid this is a UK only offer.

Just email me details of your meetup / user group / class and I’ll fire them out on a first come first served basis.

And in case you’re worried that the decks are a mess – this is pretty much the typical damage – not much, but enough that I’d feel bad shipping them as new.

bashed up decks

Refresh Reboot 2

Refresh Aberdeen is something I’ve been playing with for some time now. It’s changed along the way a few times, and recently it’s been pretty low key – with my energy mainly going into projects like codethecity.

Over the weekend I put some thought into exactly what Refresh Aberdeen is. I still think it’s potentially useful, if only to make it easy to point people at the various events I’m involved with. When I broadened that thought out, applying some of the thinking I’d encouraged folk at codethecity to use, it struck me that it shoudn’t just be my events that it points to.

So over the weekend I spent a while gathering some links and put together a new version of the site. A really simple quick link site giving very brief overviews of events and things that I think fit the Refresh outlook on life. There is a lot more on now than when Refresh started, which is great.

Participants in the 2013 Aberdeen Jam

If I’ve missed anything please let me know – I’d like this to become reasonably comprehensive. There’s a feed and a light version already, but I plan to make it easier for people to grab the data, and also to incorporate feeds from things like the excellent open tech calendar as time allows.

And if you hate any of the images I’ve used feel free to send me replacements!


CodeTheCity is a new event I’ve been pulling together with Ian, Bruce and Andrew over the past month or so. It’s a civic hacking event aiming to use principles of service design, rapid prototyping and mixed discipline group work to tackle city level challenges.

Our first event is next weekend at Aberdeen University. As I type this we are fully booked, but have a handful of visitor (drop in, rather than full weekend) tickets still available.

Participants in the 2013 Aberdeen Jam

There is lots (and lots) of good information about codethecity over at the codethecity website and wiki.

In this post I just wanted to document some of the thinking behind codethecity, and the progress so far. Especially on the back of the recent Meat Conference which encouraged folk to follow through on their side project ideas.


Over the past couple of years I’ve helped organise a number of ‘hackathon’ style events. Most fun among these have been Global Service Jam and ACH13. At these events we basically filled a room with enthusiastic people, fed them some sandwiches and coffee, and helped them to jam on ideas.

The motivation for getting involved with these was primarily because I wanted to participate, but they weren’t already happening locally. If I could help a crowd of other people access these events by helping to bring them to Aberdeen then great. The benefit of the events was all about personal development though.

The things people come up with at these sessions always impresses me. So earlier this year I suggested to Ian Watt (lead organiser of the ACH13 event) that another Aberdeen hack would be timely during the summer.

I don’t know if it’s the upcoming independence vote, or if it’s the boys becoming more questioning of the wider world, but I’ve been more aware of the ability of coders to ‘do good’ recently. Could I can achieve the same personal development benefits for attendees while actually having some civic impact?

At the start of May a small group of us met up to discuss the possibility of a civic hacking event. An event centred around open data, and around social / civic challenges at a city wide scale. Hacks wouldn’t be aiming to create businesses, or to be thrown away – they’d be aiming to improve lives. We left that early morning meeting with a solid picture of the constraints we wanted to apply to the project, some candidate dates, and a number of tasks to follow up on.

Why CodeTheCity?

Any new event or initiative needs to have a good reason to exist.

Particularly in a world with so many existing projects in this general space, why didn’t we just adopt a model from elsewhere and do the Aberdeen version. Are we egomaniacs?

I started Refresh in Aberdeen, based on an established model elsewhere. I helped bring to Aberdeen, and help put on Global Service Jam Aberdeen. So I’ve had reasonable experience of taking an existing model and landing it locally. Nothing existing felt like a perfect match for what we were trying to create, so we started with a blank sheet of paper.

Articulating the reasons why we started something new is a challenge, especially in a concise digestible, efficient manner. So you’ll excuse me if I investigate some of the underlying reasoning here while we attempt to distil something of a draft manifesto for codethecity. Consider it rubber duck blogging.

First Principles – Manifesto

These principles haven’t been formalised, and are very much my first draft that we’ll be looking at over the coming weeks. As we discuss them some may come or go. They should give a feel for the kind of event we’re trying to create, though.

Open and Free to attend

Codethecity Aberdeen is free to attend, and I’d like all CodeTheCity events to be similarly open. Anyone can register, no one should be excluded because of qualifications or ability to pay. Sponsorship should be distributed, so that no one organisation is ‘running the show’, but sponsors should be recognised and thanked prominently.

Non profit

No one should profit from running a CodeTheCity. Asking people to volunteer their time for a weekend for the good of their city has a very different feel if someone is making money from the exercise.


We have tremendous local authority support for CodeTheCity Aberdeen, but this isn’t a ‘council event’. It’s being organised by a grass roots collection of individuals from business, education and local government with a shared interest in making life better. I’d strongly encourage any other cities running a CodeTheCity to involve local government early, as their support is invaluable in many areas.

Broad attendee base

To avoid a tech bubble effect, organisers should aim to encourage both coders and non-coder service experts to attend. I’ll expand on this below.

Open data

The production and use of open data is at the heart of many ideas we’re looking at within CodeTheCity. We’re not limited to projects involving open data, but where appropriate, the openness of data is a primary consideration. Organisers should try to ensure that some open data expertise is available to participants on the weekend.

More than just apps

We should be as interested in creating datasets, creating arguments for projects, creating basic data ‘plumbing’, as we are in creating new apps. These infrastructure and conceptual projects may not be as immediately impressive, but can have significant impact, and can be achievable in short timescales.

 Autonomous teams, well supported

Teams are free to work on the problems that they select. Organisers can propose ideas, but if a team picks a new idea and decides to work on it, they are free to do so. It should obviously relate to the event in some way, but as long as it could broadly be considered ‘civic hacking’ the organisers should support it.

City level

Where possible, projects should focus on a city level. An idea that could apply to a sports club should be examined to see if it can apply to all sports clubs in the city. Or better yet, all clubs in the city.

Share, share, and share again

Showing your working, documenting your research, and sharing your process is as important as open sourcing your code. It makes it easier for other teams to pick up your work and improve it.

  • Free to attend, supported by sponsorship
  • Leave your agenda at the door, but bring your experience and expertise
  • Data wants to be open, where possible
  • Services should be as general as possible – don’t fix a problem for community centres, fix it for ‘venues’
  • Document and share your work

First Principles – Attendees

I really want to bring the Global Service Jam mixed discipline team approach to CodeTheCity. The core idea is that by bring two key groups of people together into a room to work together for a weekend we can create great things. Those two broad groups are:

  • Coders
  • Designers
  • Data people
  • Writers
  • Illustrators
  • Photographers


  • Service users
  • Service providers / managers
  • Government
  • Facilities managers

These two (very) broad groups are often very active and passionate as groups, but rarely mix as directly as we hope they will at CodeTheCity. Creating project teams with a mix of people from both groups should, we hope, lead to interesting results.

Many people in group one will rarely come in contact with the kinds of challenges we’ll face at CodeTheCity, typically working on more ‘corparate’ projects. Having the second group present and able to lend genuine expertise and insight should help ensure projects are founded in reality.

I find this incredibly exciting. If we can make this work, I think the results could be genuinely impactful.

What does ‘City Level’ mean?

When I talk of ‘city level challenges’ I’m just trying to focus the efforts of the event, and clarify who we are trying to benefit.

One of the ideas put forward to codethecity early on was a system to allow a specific support group to create individual event calendars for their service users. By shifting this problem up to ‘city level’ it can be reframed as a system to allow anyone to create a specific event calendar based on a shared high quality data set. This could benefit service users with additional needs, or tech folk trying to share a calendar with their workmates, or a school sharing kids activities for the holidays.

This is likely to lead to a project with bigger potential impact, and with wider general support.

Most importantly though, it should lead to a project with multiple backers and benficiaries.

When a single organisation stands to benefit, that organisation is more likely to adopt the ‘owner’ or ‘client’ role in the project. This can cause tension in a fundamentally open source project, where the default interaction should be peer collaboration, rather than client / provider. Such tension can, at best, slow things down. At worst it can drain enthusiasm from contributors and stagnate a project.

I really hope that CodeTheCity projects can deliver some real results, and I think this is an important consideration in achieving that.

On Side Projects

For anyone reading this that has thought about side projects since The Meat the other week, I thought it worth covering a few other aspects of the project.

Naming is always hard

Coming up with a name for an event (or anything) is always a challenge. Being the ‘marketing guy’ on the team I had to come up with something appropriate. I started sketching ideas and searching for domain names. I couldn’t believe that the domain and twitter handle were both available for “Code the city”. I should do this for a living!

The thinking was pretty straightforward when looking at names. Here are my notes from that page of my moleskine:

  • Don’t use ‘hack’ or variants
  • Like ‘hack the government’ and ‘code for america’ – three. it’s the magic number.
  • software / code / coder / coding / tech / make / write
  • Aberdeen / People / Services / Town / City / Good
  • Don’t use Aberdeen – make the name generic – easy to prepend / append city name
  • code the city – AVAILABLE – [ ] MORNING TEST!

The ‘morning test’ note simply tells me to revisit this idea in the morning. The days of my registering domain names on the day that I think of them are long gone. Code The City passed the morning test, so I registered a domain and twitter account. Decision made.

 Things CAN move quickly

Within four or five days of that initial coffee meeting we had a name, a domain name, firm date, twitter account, eventbrite page taking bookings and some leads on sponsorship. Within a fortnight we had 20 people signed up, sponsorship in place, and a wiki filling up with ideas from the community. When you get stuck in, things can happen pretty quickly.

There is always time

Organising an event of this kind from a train seat is pretty much possible. I have a half hour, twice a day, where I have a laptop, limited wifi, and usually a desk. Writing emails, designing schedules, organising lunch, contacting sponsors, designing posters and name badges – all of this can be done in small chunks from the ‘comfort’ of a scotrail train.