All my posts, in reverse chronological order.
- A Journey from Chaos to Version Control: A Developer's Tale Horror Development
A true story from my first programming job. When I started that job in 2003 we did not have version control (VCS) for our PHP source code. I was told we did not need it, and that was that. Or was it?
- Alien Artefacts Development
The purpose of this blog post is to introduce the concept of alien artefacts, a subcategory of legacy code that is highly resistant to change despite being well-designed and performing a critical function. It provides insights into the challenges engineers face when dealing with such code and offers practical advice on how to effectively maintain it.
- Levelling up Pull Requests Development
I share how I tackled the challenge of reducing cycle time for getting pull requests approved within my team, using the first habit from "7 Habits of Highly Effective People": Be Proactive.
- Can I Crack the Code? Music Guitar
I've played guitar for 25 years, but I'm unable to play fast. Can Troy Grady's Cracking The Code change that?
- Personal Retrospectives Reviews
Introducing a Guide to Personal Retrospectives—a post on our company blog I co-wrote with my colleague Cian.
- The Scout Mindset Reviews
I review the book by Julia Galef—about the motivation to see things as they are, not as you wish they were.
- Shell Quickstart Tutorial Shell
In 2013 I worked at NET-A-PORTER, where we ran a year-long graduate program. Participants did three-month rotations with four teams, getting experience with different parts of our business. I volunteered to run a workshop introducing them to shell programming, and later adapted the material into this blog post.
- How I record Guitar Music
In my musical journey I try to record myself occasionally to track my progress, and be able to critically listen to myself so I can fix my mistakes. This is brief note on how I normally do that.
- On broken horses & master branches Soapbox
I explain why I chose to rename the
master
branch in my Git repos totrunk
. - Musical Goals Music
I review how I did on my musical goals for 2019, and try to outline some new goals for 2020, before rounding off with sharing a snapshot of my current practice routine.
- Dark Mode Hacks
I experiment with adding an automatic Dark Mode to this site, if your browser requests it.
- Driving Technical Change (Review) Reviews
I review the book Driving Technical Change by Terrence Ryan.
- Speeding up tests on CircleCI for a Python Django project Python CircleCI
I outline how we reduced the time to run a Django application's CI test suite from about 13 minutes to under 4 minutes.
- Digital Minimalism Lifestyle Reviews
I introduce Cal Newport's book, and how it's helping me take control of where I spend my limited currency in today's attention economy.
- Learning Guitar Update Music
I try to keep myself honest–and on target!–by posting an update on my guitar learning journey.
- Bose QuietComfort 35 Review Reviews
I review the noise-cancelling headphones I've been using for about 3 years.
- Musical Goals January Update Music
The first of (hopefully) monthly posts with updates on my musical goals for 2019. I cover achievements in January, and new goals for February.
- My Musical Goals for 2019 Music
I list my musical goals for 2019, and touch briefly on achievements in 2018.
- Extracting Minecraft Music with Python Minecraft Python
I create a Python script to extract music files from Minecraft's assets.
- My hiring experience as a submarine sonar operator in the Norwegian Navy Talks Hiring
This is a transcript of a lightning talk I gave at a company "all hands" get-together. I tell the story of my "hiring experience" as a sonar operator on a submarine in the Norwegian Navy. To tie it into work, I included a little hiring-related lesson at the end.
- Linking Org mode blog posts into the index page Emacs Org
I wanted it to be easy to create a new entry on the index page. I call on Emacs Lisp to help.
- Making Team Decisions Practices
I summarise a useful technique for making team decisions I learnt about at The London Lead Developer conference a couple months ago.
- Creating an RSS feed with Org mode Org Emacs
A post to announce that this site now has an RSS feed generated from the front page's content, and explain how I create it.
- No More Superloopy
Why this site is moving from the superloopy.io domain to brautaset.org.
- How to Support my FOSS Work!
I present four ways you can support me if you have (or continue to) benefit from my work on Free and Open Source Software (FOSS).
- Printing Music (Through My Stereo!) Hacks
I explain how I set up MPlayer as a printer driver so I could add a distributed print queue for music. (AKA a JukeBox.)
- Open Letter to NCC about Parking in Berwick Soapbox
I complain about the unacceptable parking situation for commuters to Berwick-upon-Tweed and present a few suggestions for improvement that might help.
- Updating DNS with output of another CloudFormation stack (6/6) CloudFormation
I show the changes to my Sceptre config & CloudFormation template required to point DNS to the two CloudFront distributions I've created.
- Publishing this blog to an S3 bucket (5/6)
I show briefly the changes I need to make to publish this blog to S3 rather than to GitHub.
- Creating S3 website with SSL using CloudFormation (4/6) CloudFormation
I show how to create an S3 bucket set up to serve a static website, and expose it over HTTPS via CloudFront, using the same SSL certificate we created in the previous post—all via CloudFormation.
- Adding SSL to S3 Redirect Bucket with CloudFormation (3/6) CloudFormation
I show how to create an S3 bucket for redirecting web requests, put it behind a CloudFront distribution, and configured this with an SSL certificate—all via CloudFormation.
- Managing AWS Route 53 with CloudFormation (2/6) CloudFormation
In which I delegate DNS from Gandi to AWS Route 53, and learn how to configure Route 53 with CloudFormation & Sceptre.
- Adding SSL to this Blog (1/6)
I outline the steps I plan to take to add SSL to this blog, leveraging AWS Certificate Manager, CloudFront, S3 and Route 53. (And potentially CloudFormation.)
- Blogging with Org mode—update Emacs
A short experience report about blogging with Org mode.
- Potter Coding Dojo in Clojure Clojure
Detailing my trials and tribulations with the "Potter" coding dojo problem, with code examples in Clojure.
- N Queens in Clojure Clojure
Using Clojure to put \(N\) Queens on an \(N \times N\) chess board without them being able to threaten each other.
- Electoral Reform Now! Soapbox
I try to show how unjust the First Past the Post system used to elect MPs in UK General Elections is.
- Blogging with Org Mode Emacs
I describe how—and why—I changed from blogging using Markdown & Jekyll to using Org mode.
- Open Letter to Anne Marie MP Soapbox
I ask how the Conservatives can say they are "working for everyone" whilst giving extra tax breaks and benefits to the 15% of top earners, and at the same time cutting benefits for the poor.
- Hydra Theme Switcher For Emacs Emacs
I learnt how to quickly switch between all installed themes in Emacs using Hydra.
- How I Blog (This Week) Emacs
I share my Emacs & Org-mode setup for blogging with Jekyll.
- Berwick Academy STEM Talk Talks
I went to Berwick Academy and talked to prospective computer science students there about my education and career. This is a transcript of my talk, organised by STEMNET.
- FizzBuzz Hacks
Breakdown of my Tweetable FizzBuzz created using sed and xargs.
- Change Terminal background colour on OS X via ssh Hacks
I show how to change Terminal.app colours automatically when logging into certain remote machines via SSH
- Setting up Leafnode NNTP server on OS X Emacs
I set up the Leafnode NNTP server on OS X, for use with Emacs and the Gnus newsreader.
- Overcoming RSI Soapbox
Early 2005 I encountered a bad bout of RSI. Prompted by a comment on the Lobsters forum, I thought I'd share my experience.
- ModSecurity and Puppet Spelunking Puppet
In which I investigate how to configure SecAuditLogParts for ModSecurity with Puppet, and find I have to contribute a patch to make it possible.
- Not so philosophically different after all? Clojure
- A Lesson in Benchmarking Development
- Nuisance Calls Soapbox
- Tinker Bell (2008) Reviews
- 2015 Resolutions
- Passwordless registration and login Soapbox
- Good Ideas Soapbox
- Optimising HTTP Cache Hit Rate Development
- Smartphone Addiction
- Resolutions Progress
- ToddlerCalm Reviews
- Losing weight by eating right
- Spray Example Scala
- Delighting your users with SBJson 4 SBJson Talks
- Learning Clojure by Solving Euler Problems Clojure
- Resolutions
- Consolidating and de-duplicating iPhoto libraries Hacks
- Spray Routing Error Handling Scala
- Scala, Slick & PostgreSQL Unit Tests Scala
- Re-designing for readers
- Using ScalaTest with Akka Scala Akka
- Injecting Akka's TestProbe in place of child actors Scala Akka
- Dairy-free bread and "butter" pudding
- Backing Up Photos Online Hacks
- What now for SBJson? SBJson
- Real custom rank keys Hacks
- Little Brother Reviews
- Creating a resizable grid of CALayers ObjectiveC
- Saw 25% faster!
- Objective-C syntax sugar wish list ObjectiveC
- Objective-C Feature Request ObjectiveC
- Avenue Que? Reviews
- Introducing Statistics for Objective-C ObjectiveC
- Embedding Cocoa Frameworks ObjectiveC
- Goodbye GPL, hello BSD? Soapbox
- MiniMax and AlphaBeta Search Tutorial
- No Smoking
- The Orient Express
- Piping to sh - Tutorial
- Renaming lots of files Tutorial
- A Can of Worms
- Well done is
- Quiet Please
- CityLink is teh suck! Soapbox
- Rice instruction craziness
- Abandon all hope Soapbox
- Bad Typesetting Soapbox
- Playing at the Edge of AI Reviews
- Generating Bar Charts with SQL Hacks
- A lesson in testing Testing
- Internet on the South Pole
- Hippies
- Rise of the Machine Hacks
- In-sewer Ants
- Regular Expressions Hacks
- Connected!
- Moving in
- Moving-in Party
- What I want for my Birthday
- Perpetual mid-season
- Target Reached!
- Money Transfer Soapbox
- New Headphones Reviews
- Blade Trinity Reviews
- Untraditional Refactoring Technique Hacks
- Connectivity Galore
- Attacks on London
- Test Driven Development Reviews
- Can I have some Water please?
- Extreme Programming Explained Reviews
- A fisherman puts down his oars
- Chip And Pin Soapbox
- Co-operative Banking Trouble Soapbox
- Heinlein's list of skills
- Blade 2 Reviews
- First Dim Sum