Given a requirement of generating a temporary passphrase that can be communicated over the phone to another person, I thought of XKCD #936 which suggests using four random words together as a passphrase. Then there’s just the question of how to generate that easily. (read more)
This summer it has been my pleasure to join FreeAgent as a Data Engineering intern. Alongside the analytics and architecture teams, I have been working on a new exciting feature to complement the FreeAgent application. Programming mostly with Python, I have learned a great deal from my colleagues, and I wish to share the experience with you all here on the engineering blog. (read more)
There wasn’t supposed to be anything particularly unusual about today. It started out as a typically drizzly Edinburgh summer morning, grey clouds hanging low above the castle, with just a hopeful glimpse of blue in the distance offering the prospect of a little respite later in the day. It wasn’t until I arrived at my desk and checked our Slack channels that I first heard the shocking news of the passing over the weekend of Graeme Mathieson. Graeme’s passing is a truly sad and tragic loss that will be felt far from his Plymouth home, reaching across the world of the web development community. (read more)
I’ve been learning to love the ActiveRecord query interface over the past few months. Whilst I find it infuriating when I’m battling it to do what I actually want, I also relish the power and convenience it gives me for many simple queries. (read more)
Here at FreeAgent we have a test suite that contains over 21,000 individual RSpec examples. Currently it takes approximately 4 hours to run in a single process.
Here’s how we’ve tuned our test suite and CI system (Jenkins) to run them in under 4 minutes. (read more)