Well, hello!

Hello to everybody who knows me from my two previous blogs: edendevelopment.co.uk/blogs/aimee and aimee.mychores.co.uk. I have decided to merge the two into one, which for convenience i’ve decided to have hosted on wordpress.com now.

Big news

In case anyone is not aware, let me share the news that eden development, my place of employment for nearly 3 years, closed its doors in March. For me this is sad news: eden was a truly remarkable place to work.

Through eden i met many amazing people, and learnt to hone the craft of developing excellent quality software. I have learnt how to listen to clients and understand their needs. I have been privileged to take on despo and Alberto as apprentices, imparting my knowledge and care and seeing them develop. Most importantly, i have grown in self confidence, to the point where i am now able to journey out on my own, taking on contracts and freelance work.


My contracting has begun at a consultancy firm in London. I have been contracted as a front-end developer, doing HTML, CSS and a bit of Javascript. It is easy work for me, not really particularly challenging. I am happy with that: at the moment i have big challenges to do with commuting and getting used to being self-employed, keeping control of expenses, invoices and tax. I didn’t want the added pressure of difficult work on top of that.

It turns out that the job is suiting me very well. I get on well with the people i work with, and i found i was able to start providing value for the company from my first day. I’m working hard and i believe i am exceeding their expectations of me. At the same time i’m learning how to use Demandware, a powerful ecommerce platform, and i may well find that the skills i learn here could come in useful for me again at some point in the future.

Looking ahead

My contract takes me until the middle of May, at which point i’d like to spend one week working on a freelance project. After that i’d like to take on another contract, and this time i’m particularly looking for something that uses my Ruby skills, as well as my knowledge of behaviour driven development. There are two possibilities i’m looking at, and i’m fairly confident that one of them will work out.

I am always interested in meeting new people to talk about work that i may be able to help with. I am really enjoying the freedom of contracting, so i’m not looking for permanent employment at the moment, unless it’s a very good offer. I’ve realised that job security is a myth, and painful though it was to leave eden, i think i needed that push to venture out on my own.

Right now

At this very moment i am at Scottish Ruby Conference in Edinburgh. I really enjoyed it last year, and this year seems even better. I am meeting new people and rekindling previous friendships. Today i have been inspired to work on a charitable project, i enjoyed an entertaining discussion on programming etiquette by Jim Weirich and Chris Nelson, and i was excited to see how MacRuby works.

It’s lovely that my mentor Enrique is here at SRC, sharing an apartment with me, and my apprentices are both here too. Edenites Chris and tooky are also around, and it’s great to spend time together again. Our shared experience of being part of eden is something that will remain with us, and we will always be good friends.

Notice that i say “edenites”, not “ex-edenites”. For me, eden was all about the culture and the people. My pride for quality of work, my valuing of client relationships, my commitment to learning, my honesty, my humility, these are eden’s values that have become deeply ingrained in me, that i intend should never leave me.

Thank you

If you read this far, thank you. You can see why this post has been a long time coming. It’s only now that i’m at Scottish Ruby Conference that i can really take the time to relax and reflect. The last few weeks have been like a whirlwind for me. Thank you to all who have supported me and encouraged me. It has been scary and exciting, and i’m relishing these new opportunities!

Here’s to my ongoing journey! :)


The Minisculus Challenge – Winner Announced!

On Friday 7th October, at Software Craftsmanship 2010, eden announced Minisculus – a series of encoding, decoding and code breaking challenges, loosely based on the historic challenges faced during the second world war.

Minisculus SpyMinisculus was set by Steve and Todd. I took the challenge in the week before SC2010 and really enjoyed it. There is enormous satisfaction in figuring out the answer, posting it to the server, and if you got it right, receiving the secret URL to the next question. The progression of the challenge provides new insights and plenty of opportunities for refactoring to keep your code clean and simple.

We ran Minisculus as a competition for a £100 Amazon voucher. We had 12 entries; most written in Ruby, but also including solutions in Java, Clojure, PHP and Python. It is fascinating to see the different ways that people implemented their solutions.

Luke RedpathOur winner is Luke Redpath, who is a freelance Ruby and iPhone developer in London. Luke wrote the solution in Ruby, nicely specified using RSpec. The code is particularly clean, easy to read, well refactored to be very simple. Luke has good use of object orientation, using a ShiftCypher that can accept any number of wheels, which have their own configurations for encoding and decoding, a great example of the Strategy Pattern. Luke also included a code breaker using keyword matching, and automated the communication with the Minisculus server to send answers and receive the next question.

Luke’s was also one of the first entries we received, and a nice little touch helped seal it for Luke: the inclusion of a MarkIII machine that raises an exception when called: “Not Implemented due to budget overruns!” – a joke that shows the attention paid to the story told by the challenge. Have a look at Luke’s code at github.com/lukeredpath/minisculus.

You can see a Hall of Fame on the Minisculus website, showing everybody who completed the challenge, including source code for many of the entries.

Although the competition is now over, the challenge remains for anyone who wants to try it! Thanks to everyone for participating so far!


Software Craftsmanship 2010

Today i had a great day at the Software Craftsmanship 2010 conference at Bletchley Park. Despite getting up ridiculously early, and feeling somewhat ill during the day, i managed to have an excellent time, learn a few things, and chat to some wonderful, interesting people.

I enjoyed Jason Gorman’s enlightening tutorial on refuctoring – the art of incrementally changing code a little at a time, so that the tests still pass but it becomes less readable and less maintainable, to the point where only you have a clue what the code does. Sometimes known as Mortgage Driven Development, because it claims to ensure you keep your job. Jason encouraged to look for Code Smiles (well-written, elegant code) and refuctor them away effectively. I enjoyed pairing with Gavin on making the ugliest “Hello, World!” we possibly could!

As an antidote to the refuctoring, several people went to the workshop on beautiful, maintainable, Designer Code by Chris, however i chose to attend Michael Hunger’s Game of Life session. After the recent code retreat at eden, i was eager to learn more about the Game of Life and Michael showed us a video of John Conway talking about the Game of Life, and an implementation of the Game of Life in APL which is mind-blowingly awesome! I worked with Chris and Iain to do a version of the Game of Life in Java. I think we had an hour to do it, and we very nearly got something that worked, except we weren’t calculating the neighbours correctly so every cell died, prompting us to rebrand it as The Game of Death!

A special highlight of the day was the guided tour of Bletchley Park where we saw the places where secret codes were intercepted and decoded in World War II, and saw the impressive machines that were built to apply brute force to crack the encoding strategies. What impressed me most was how innovation was driven forward by necessity, and it made me smile to learn that the codebreaking was usually made possible thanks to stupid mistakes that were made by those transmitting the codes.

With a nod to the Lorenz encoder and the Colossus code breaker, eden launched the Minisculus Challenge today. I hope a few people have already tried the challenge and are enjoying it as much as i did! It was hard keeping it a secret last week, when i really wanted to tweet about it!

In the afternoon I went to David Laing’s workshop on Functional Kōans. I paired with Adam and together we did the kōans in javascript, learning quite a few tricks along the way.

I had a very good day, and i thank Jason, all the workshop facilitators, and everyone who helped to make the day such a success!

Looking forward to Scottish Ruby Conference

I'm attending Scottish Ruby Conference

I’m now getting rather excited about Scottish Ruby Conference! Not least because i’ve never been to Scotland before! I’ll be travelling up with Chris, James, Steve (tooky), Tris and Enrique. We’ve hired a car and we’ll take it in turns to drive. I’m looking forward to beautiful views on the way and plenty of geeky chat no doubt! ;)

At SRC i will very likely talk to anyone who will listen about the delights of Linux Mint on my MacBook. I dual-booted it recently and i love using Mint for my everyday operating system. Sure, Mac OSX is nice, but i just feel right at home with Linux. Being a crafter is all about the tools you use, isn’t it? :) I’m planning a blog post soon explaining how to install it and configure it for a MacBook, complete with pictures.