Wednesday, 17 September 2014

Now I know

Hey, it's been a while. How are you doing?

Where do I start?

Must be important for Peter to bash the keyboard more than 140 times after a few years.

As someone who is heavily involved in the dev community with ScotRUG, ScotlandJS and IslayConf I am very aware of the safety concerns women have about attending events.

In the past a number of women have confided in me about the sexual abuse they have suffered, in every case by someone they knew and trusted. The grim reality is that we live in a very horrible world.

How can we prevent people being left with nightmares for the rest of their days?

To the best of my knowledge there have been no incidents at any of the events I am involved in, however the terrifying, stark reality of the situation is that this can happen anywhere!

How does all this start? It only takes a look and/or a noise to unnerve someone.

Take a quiet minute to walk through a scenario:

Think of how it must feel being in a place filled with mainly people who YOU don't know and then for someone to walk past YOU, all the while staring at YOU.

They Stop.

Look YOU up and down.

Then let out a loud (enough), lingering, seedy 'MmmmmmMMMMmm'.

Put yourself in that position. How does it make you feel?

Why am I writing this up?


The scenario described above is exactly what happened to my 8 YEAR OLD SON at the weekend at an event.
Fortunately he was completely oblivious.

I stood, rooted, in complete disbelief.

Why would anyone do that?
Why would they do it to a child?
Far less when both his parents are stood next to him.
This does not make any sense.

I turned to my partner. 'Who was that directed at? You or...' and I nodded at the wee fella not to draw his attention to it. Doubting myself as it simply could not have happened.

It was confirmed.

When I turned back the person in question had vanished from sight.
There is no doubt as to what he meant.

Unfortunately I never caught sight of this person again during the event that night or the following day much as I searched.

To be clear, nobody else was near us. My family and I had gathered round a standing table in a corner. It could not have possibly been directed at anyone else.

We know the world is full of horrible people and we assume/hope they are nowhere near us or loved ones. Unfortunately if there is a large enough group then statistically speaking they will be.

Clearly this isn't a problem restricted to tech events and is the world we live in and I have no idea how to solve this?

The safety of my family is my highest priority. Naively, I had no hesitation in taking them to an event knowing I'd be with them and know plenty of people in attendance. I was keen to introduce them to friends I have made through the community.

We have learnt a very harsh lesson.

To organisers of events, I would like you to be in no doubt the problem of safety is bigger than you previously though.

Yes, the kids are targets too!

Lena Reinhard mentioned many great things during her talk, however a quote from Jeoseph Ratz kept ringing in my head.
"If the culture is decaying...the options and opportunities open to a group's members will shrink."

This applies to society and our events.

Currently I am not comfortable with gathering a large number of people together. Why would I goto the effort of putting on events when my family are not safe to attend or help out?

At the same time why should I let these people win?

To all the women who have suffered even a look or an inappropriate comment, now I know, what a gut wrenching, WTF and terrifying feeling that can give you.

Thursday, 27 December 2012



How are you doing?

It has been a while since we chatted, grab a cuppa and make yourself comfy.

How was Christmas?
What do you have planned for next year? I don't mean resolutions, the kind you give up on within a matter of days. What do you seriously hope to achieve in 2013?

What I am aiming to do here is get some goals down on what I want the year ahead to include.

Charity Work

A charity that is very dear to me is Maggie's who offer support to anyone affected by cancer.
Having twice participated in their Monster Bike and Hike and completed the Bronze and Silver distances this year my goal is to reach Gold.

Of course a very large part of this is fundraising. Between now and May, my teammate Ross and I will be putting on a number of events to encourage you to dig deep and support Maggie's. The first opportunity for you to do this is to donate on our justgiving page.

Last year to help my team and other teams train for the big event I built GoTeamGo. GoTeamGo politely reminds those of us skilled in procrastination to get off their backside and train according to a canned training schedule. It also shares your progress on Twitter and Facebook. Ideally your followers feel more a part of your training journey and this will encourage them to donate to Maggie's as a result. My goal here is to promote GoTeamGo, get more users and raise more funds for charity.

Building upon the ideals behind GoTeamGo I intend creating a video training blog. My aim here is to show a tubby lad (me incase you think I'm going to be following you) puffing and panting through a number of different activities to demonstrate that if I can do it, so can you. This will also grow into a list of training routes for other (future?) Monster participants. To help drive attention to the blog, and there by the charity, hopefully some celeb athletes will put me through my paces.

If the blog kicks off I would love to finish it off with something a tad on the insane side by biking down some Icelandic Volcanos, as long as they don't interrupt the inbound flight. Actually I'll do the silly thing whether the blog takes off or not!

Aside from the Monster Bike and Hike I want to get better at mountain biking, and somewhat unrelated, get back to Snowboarding.


Working life is very exciting at the minute. 
  • We are about to move into Edinburghs Startup Incubator, TechCube.
  • Daniel Grieve is joining us in 7 days time!
Further to this I have a number of tech community related goals.

ScotlandJS: @ScotlandJS

In June 2012 I organised the first ScotlandJS in Edinburgh. This achieved all the aims I cobbled together, numerous local and international speaker, over 100 delegates and a great opportunity for like minded developers and designers to get together and share their knowledge. 

This in turn spawned GlasgowJS which has been motoring along nicely ever sine. My goal for ScotlandJS is to grow the conference, this needs more thought as to whether to be over 2 days or have more tracks or both? One thing that is for sure is that we will have a NodeCopter event and hopefully raise some money for charity in the process. Wooooo

GlasgowJS RoadTrip: @GlwJS

In February, Dave Kennedy and I will be bringing the GlasgowJS RoadTrip to Edinburgh. Fingers crossed this will help kick start some kind of JS group/meetup in Edinburgh because JavaScript is the future.

ScotRUG Glasgow: @ScotRUG

2012 has been a great year for Glasgows Ruby User Group with talks on values, learning and speakers travelling thousands of miles to visit us! Next year my goal is to keep the momentum going with Colin, and tighten up on the organisation.

Lean Agile Glasgow @LeanAgileGLA

Simply put I need to attend more. Due to ScotRUG, GlasgowJS and LAG being at the start of each month a lot of the time I miss out on one. LAG is always a great night, so get yourself along!

Code Retreat

This year I helped out at a Code Retreat, then was incredibly pleased to be invited to facilitate a Retreat in Aberdeen. Having coached a number of teams in TDD and agile methods in the past I was astonished by how powerful and successful the Code Retreat format is. 

It was incredible to see the energy in the room during the event.

I have always been terrified of any form of public speaking and the positive feedback has helped give my confidence a much welcomed boost.

I don't think there is much in the way of a goal for Code Retreat other than to facilitate more and spread the word.

Something New: IslayConf: @islayconf

Along with my partner in crime, Colin Gemmell, we are organising IslayConf. This is going to be an incredible challenge.

Given the constraints of accommodation it may be a struggle to have more than 30 delegates and speakers. That is 30 total, not 30 delegates and 30 speakers. Tiny, I know.

One thing Code Retreat taught me is that applying constraints to how you do things can get surprising and interesting results. We'll see how the small conference size works out and what I can bring back to ScotlandJS.

For the avoidance of doubt there will be a larger than usual focus for a conference on a certain kind of refreshment.


Lets see, fundraising, training, more mountain biking, more snowboarding, dog walking, more reading, growing umpteen events and starting a new one and learning more JavaScript and front end skills.

What about you?
Time for another cuppa?
You can find me on Twitter at @jiggy_pete. Come say Hi and let me know what you are doing!

Thursday, 3 March 2011

Charity Work

As most of you will know myself and five friends are raising funds for Maggie's Centres as well as training for their Bike'n'Hike event.

From the Maggies webite
What is a Maggie's Centre?
A Maggie’s Centre is a place to turn to for help with any of the problems, small or large, associated with cancer.

One in three people are affected by cancer, that is a terrifying ratio. Having visited the Glasgow Centre it is clear how incredibly important this charity is to people at a harrowing time in their life.

So what do I intend to do to help raise funds I hear you ask?
I am offering my services as an Agile Coach and Developer to anyone who is willing to donate £500 or more per day to Maggies Cancer Centres.

What do you get for your donation over and above a warm fuzzy feeling for helping out a much in need charity?
Presumably the overarching goal for your company is that I can help your team make more ( or save more ) money faster.

How can I help achieve that with your software development team?
* Introduce Agile Techniques and the values of Communication, Feedback, Simplicity and Courage.
* Aid improvement of the teams current process
* Pair up with developers to improve technical skills like Acceptance Testing, TDD, and Refactoring.

I have added a section about my experience to date below. If it sounds like I could be of benefit to your company or development team why not get in touch and make me an offer?

In summary, I am offering my services for a period of up to 5 days to help your team or develop software. Ideally this would be in early April, and for each day onsite you would donate at least £500 to Maggies Centres via

The types of technology that I am most familiar with are Ruby, Rails and Java.
If you have any questions please do get in touch, this is all for a very good cause.

You can contact me via any of these methods,
Email: jiggypete at gmail .com
Twitter: @jiggy_pete

My Experience:
For 10 years I have been working in XP teams and have been heavily involved with the Scottish Agile community.
The types of applications I have worked on are,
* Tools to create Blu-ray discs,
* Multi-million pound trading applications,
* Pension apps,
* Tools to allow bus drivers to submit timesheets
* and applications that run a repair line,

Thankyou for your time,
Peter Aitken

Monday, 18 October 2010

Mabies Aye

For the last few weeks I've had a bit of extra time on my hands which I've been trying to put to good use by going out to play on my bike. Fun as it sounds there is a more serious reason for getting out on the bike more, six of us have signed up to participate in Maggies Monster Bike'n'Hike at the end of April 2011.

What does that involved?
A 30 mile bike ride plus one of an 8, 22 or 43 mile hike.
If you are feeling generous feel free to donate/sponsor our team at

See why I need to get some training underway?

Having got out for a number of runs round the Carron Valley and the Lochgoin Circuit at Whitelee Windfarm the odd bit of wear and tear appeared on the bike. The folks at Wheelcraft were a great help sorting my gears, brakes and chain.

Big Al and the guys were all friendly, helpful and incredibly knowledgable on everything bike related, I can't recommend them enough.

Prior to taking on something a bit more challenging I had a niggling concern. Ross, one of my biking buddies, had a bit of a crash landing at 25mph when going round the Carron Valley. He had pains in his wrists, elbows and previously broken ribs despite wearing a cosy piece of 661 body armour. If I was going to venture into something braver/stupider it seemed like a good time to pick up some body armour.

That was purchased on Saturday just in time for Sundays trip to the Mabie Forest!

Finally Sunday arrived and it was time to get the bike into the car, pick up Ross and head to Mabie.
An hour and a half later we arrived, got changed, put the bikes together and found the rest of the group all ready to take on one of the 7Stanes red routes.

20 meters from the car and the chain snapped. What a start.
5 minutes later and we're ready to go again.

The first section of the red route is the Butterhole Climb. It is well named and not the easy start I was hoping for. The downhill section is very lumpy and bumpy. You could easily loose some inner tubes on this section ( infact all of the forest ). Only one part caught me out where I was nearly over the handlebars.

The Countour Climb seemed a lot easier going, with a easy going firetrack leading to careful of the little bridge with a tree root at the far side. It's a small manageable jump so get that front wheel up but it can cause a bit of a hold up on the route with riders stopping to push their bike over it. This section gets a bit harder towards the end again getting a bit steep for my legs and lungs.

Once at the top you enter the Descender Bender which has replaced a technical park. It's full of fast tight berms which is great fun!

Then we made it to Stan's Pond. Lots of nice tight single track through the forest. This is where I broke in the body armour over compensating when coming out of a berm and off I came.
Sure I've left a hole in the ground where I landed. The right shoulder took the brunt of the fall, just like the other crash that landed me in hospital a few years back. Fortunately the shoulders and elbows were protected by the armour so it was a case of getting up, catching my breath and climbing back on the bike.

The Scorpion, I have no idea why it is called The Scorpion. It doesn't matter what they call it, this section has the biggest, steepest climb of the red route. If you don't get off to push up this section I'd be astonished!

The Roller Coaster was the last part of the red route we took on. Any climb by this part of the day was getting done on foot, I was spent. The uphills weren't that steep but still beyond my fitness. Lots of nice rolling sections finished off with a pretty high drop off - be warned you'll need a bit of speed, if you're spent go round it.

Too finish off the day we followed a blue track back to the car park.

Phew, it was really hard going and great fun flying about the place particularly when on the bike.
Should be easier next time!

Tuesday, 8 December 2009

Call to arms: Ban Case / Switch statements

Of late I've been keeping up with the Hashrocket bookclub which is streamed on Tuesday evenings at 5.12pm GMT. Each week the folks discuss a chapter or two of the current book Refactoring: Ruby Edition

I noticed there was a running theme through a number of the 'Organising Data' refactorings which was removing case statements.

I've been at this coding game for about a decade now and I've only seen what I would call one valid use of a case statement. Every other use benefitted from being replaced by polymorphism.

With that in mind I'd like to see the case and switch keywords removed from all OO languages as it actively encourages poor design and less flexible code.

Any language designers out there reading?
The one case I mentioned above where a switch was useful could easily be replaced by an if, else if condition. Save yourself the hassle of implementing case or switch.

Wednesday, 15 April 2009

Mac Gem Jip

I'm a bit of a newbie to Macs and finally took the plunge a few months back. The day job is still on a windows box to keep inline with the rest of the team so there hasn't been much Mac playtime.

The last few days I started to put together a presentation for Agile Scotland with coded examples and that is where I hit the wall - running the code. 

Background to the problem:
About six months back I was poking at rspec and cucumber to get a feel for them. For my presentation I wanted to have the latest and greatest version of rails, rspec and cucumber available on my Mac.

When trying to run features for cucumber 0.3.0 it was expecting rspec 1.2.2 to be in place, which it was, however the rails environment had already picked up rspec 1.2.4. For the life of me I couldn't find out what where rspec 1.2.4 was being fetched. I decided to uninstall the rspec 1.2.4 leaving only one version in place and hopefully solving the problem. All looked good until you run 

gem list

and there it is, still sitting there refusing to budge no matter how many gem uninstalls are run: rspec 1.2.4

What was wrong:
After much running around the short story is there are three places gems are stored. Depending on how you install the gems affects where the gems are stored and I managed to muddle them. Thanks to Jason Tennier post which helps explains where I went astray.

Friday, 5 December 2008

How easy is it to validate the format of an email address

The other day I had to create an admin console for creating a user object which contained the usual fields,
  • username
  • forename
  • surename
  • email

When it came to setting up the active record object to ensure that the username, forename and surname are supplied I started spec'ing the behaviour. All was moving along well.

When it came to validating the format of the email address I realised this was something I'd not done this before. Off the top of my head an email address must
  • include only one '@'
  • not include spaces
There must be a lot more to it than that.
With a bit of help from google I found there was a helpful standard that specified exactly what is a valid email address. All of a sudden my nice task of creating a scaffold for a user object had grown to include 'implementing validation for email addresses' which was going to be slightly more than,

validates_presence_of :username, :forename, :surname

The folks in the team keep talking about Rails plugins for this, that and the other. Could there be some kind sole out there that has already solved this problem?

google 'rails plugin validate email format'

and there it is!
A plugin called validates_email_format_of by Alex Dunae.

There has got to be a catch, how complicated is it going to be to get into my codebase and make use of it?

Here is the user class before

class User
validates_presence_of :username, :forename, :surname

and here is the User class after

class User
validates_presence_of :username, :forename, :surname
validates_email_format_of :email

I'd a few failing tests sketched out to check the email validation....all of a sudden they all pass!

Job done.
Simple and elegant, what more could you ask for?