Posts by Tag

engineering

Pull-Request style: 100 hills to die on

4 minute read

Back in the early days, once we’d whittled our keyboards from blocks of granite, we’d debate tabs vs spaces. Then we moved onto fixed display widths. Many a ...

Security is not a ‘pro’ feature

3 minute read

We rely on Open Source for a huge portion of the Internet (and beyond), yet many projects still rely on goodwill and donated effort in order to survive. Some...

A simple HTTPS proxy with Nginx on Docker

4 minute read

There are many reasons why you might need to develop behind an HTTPS proxy, for example when testing integrations which behave differently based on the secur...

Faster dependencies with Docker

5 minute read

Docker is great for building portable applications, modelling complex environments locally, and helping us bridge the gap between development and production,...

Kitematic for boot2docker users

1 minute read

A while ago I switched from using boot2docker directly to the Kitematic Mac app. Although Kitematic generally makes life a bit easier when managing Docker co...

App-wide AngularJS alerts

1 minute read

Generic alerts are a common requirement in most web applications, and as your Angular application grows in complexity the importance of a standardised way of...

JSOxford NodeBots, August 2014

5 minute read

On the 23rd of August we ran the last event in the JSOxford 2014 Summer of Hacks, building JavaScript powered NodeBots. Cue maniacal cackling as we plan to t...

Groovy SOAP clients with ws-lite

3 minute read

When we needed to quickly build a proof-of-concept to test a set of SOAP services I thought: “this is perfect for Groovy, and it’s DSL support will mean talk...

Open Data Day 2014

4 minute read

The International Open Data Day is almost over (here at least), and I was lucky enough to join the Oxford Hackathon. This was my first full-day hackathon, an...

Testing double-click events using Geb

1 minute read

Testing basic interaction with Geb is easy, but the ‘intuitive’ way of doing double-clicks fails silently and without any real indication as to why. Fortunat...

Bower dependencies with Gradle

2 minute read

We all know it’s important to be able to build your code in one step, but when I came to build a project I’m working on at home I found it was actually a bit...

Puppet talk

1 minute read

Here are the slides from a presentation on Puppet I gave at the Software Alliance Wales lightning lunch on 27th September 2013: https://speakerdeck.com/spike...

Using GPG to encrypt backups

3 minute read

If you’re doing off-site backups (and if you’re not, you should), you’ve probably wondered how much you trust the place you’re uploading to. Fortunately publ...

Simple Rsnapshot backup over FTPS

6 minute read

In this post I’ll walk you through setting up a simple backup solution using Rsnapshot and CurlFTPfs to retrieve files from an FTP/FTPS server. The result is...

Some notes on backup

7 minute read

I’ve been extolling the virtues of backup a lot recently, which has led to a few interesting conversations (and a lot of people rolling their eyes and going ...

Rsnapshot Puppet module

2 minute read

People want to be seen as being clever, so the result is people wind up working in a cave. Brian Fitzpatrick, Ben Collins-Sussman http://www.youtube.com/wat...

Managing sudoers with Puppet

3 minute read

Managing the sudoers file of the puppetmaster with Puppet is like playing with fire while drenched in petrol. If you must do it be really *really* careful!

Using JIRA to manage a skills registry

1 minute read

Maybe my search-foo isn’t what it used to be, but it seems that there’s no standard method for recording employee’s skills and training requirements against ...

Checking an annotated field is an enum

1 minute read

Whilst building an annotation processor for a Seam/Wicket project I’m working on I needed to do a specific action if the annotated field was an enum. Thanks ...

Back to Top ↑

guide

A simple HTTPS proxy with Nginx on Docker

4 minute read

There are many reasons why you might need to develop behind an HTTPS proxy, for example when testing integrations which behave differently based on the secur...

Faster dependencies with Docker

5 minute read

Docker is great for building portable applications, modelling complex environments locally, and helping us bridge the gap between development and production,...

App-wide AngularJS alerts

1 minute read

Generic alerts are a common requirement in most web applications, and as your Angular application grows in complexity the importance of a standardised way of...

Groovy SOAP clients with ws-lite

3 minute read

When we needed to quickly build a proof-of-concept to test a set of SOAP services I thought: “this is perfect for Groovy, and it’s DSL support will mean talk...

Testing double-click events using Geb

1 minute read

Testing basic interaction with Geb is easy, but the ‘intuitive’ way of doing double-clicks fails silently and without any real indication as to why. Fortunat...

Bower dependencies with Gradle

2 minute read

We all know it’s important to be able to build your code in one step, but when I came to build a project I’m working on at home I found it was actually a bit...

Using GPG to encrypt backups

3 minute read

If you’re doing off-site backups (and if you’re not, you should), you’ve probably wondered how much you trust the place you’re uploading to. Fortunately publ...

Simple Rsnapshot backup over FTPS

6 minute read

In this post I’ll walk you through setting up a simple backup solution using Rsnapshot and CurlFTPfs to retrieve files from an FTP/FTPS server. The result is...

Some notes on backup

7 minute read

I’ve been extolling the virtues of backup a lot recently, which has led to a few interesting conversations (and a lot of people rolling their eyes and going ...

Rsnapshot Puppet module

2 minute read

People want to be seen as being clever, so the result is people wind up working in a cave. Brian Fitzpatrick, Ben Collins-Sussman http://www.youtube.com/wat...

Managing sudoers with Puppet

3 minute read

Managing the sudoers file of the puppetmaster with Puppet is like playing with fire while drenched in petrol. If you must do it be really *really* careful!

Setting up OS X Mountain Lion

1 minute read

Last month I installed a second internal drive on my Macbook Pro to increase the capacity to nearly a terabyte. Foolishly forgetting that every time I reinst...

Using JIRA to manage a skills registry

1 minute read

Maybe my search-foo isn’t what it used to be, but it seems that there’s no standard method for recording employee’s skills and training requirements against ...

Checking an annotated field is an enum

1 minute read

Whilst building an annotation processor for a Seam/Wicket project I’m working on I needed to do a specific action if the annotated field was an enum. Thanks ...

Mythtv Remote X10

less than 1 minute read

I have an ATI Remote Wonder remote, which I’ve been quite happy with for the last couple of years. Not that happy though (or maybe I just like tinkering), be...

Back to Top ↑

update

Capybara, WebMock, and too many open files

2 minute read

Getting set up with a new codebase is always a fun, sometimes head-scratching experience where you have to discern whether the issues you’re facing are becau...

From Twitter to Mastodon

2 minute read

A lot of people are leaving Twitter right now, and there’s a lot of hyperbole to go with it. I don’t think it’s going to disappear overnight, or go down in f...

Pi-powered central heating phase 1

11 minute read

Not that long ago I wrote about planning to set up a basic Raspberry Pi-controlled central heating system. A few components later, and the relatively simple ...

I’ve moved

less than 1 minute read

After a long deliberation, I’ve finally moved my blog away from Wordpress. It’s nothing against you Wordpress, I just want to have a little more control. See...

Testing Octopress and Heroku

2 minute read

I have vowed to move away from Wordpress. My blog there, ryanbrooks.wordpress.com, isn’t exactly the epitome of regular activity (my last post was back in Ju...

Blogging about software using Textmate

1 minute read

I’m trying to force myself to be a better contributor to the software development community, and part of that is writing up my rough notes each time I solve ...

pfSense and VirtualBox

less than 1 minute read

Thinking of installing pfSense on VirtualBox to test out the functionality. Great idea!

The beginning, and the end of blogging

less than 1 minute read

OK, so I almost started using this blog again. I came pretty close. But then I tried to use the (granted very free) Wordpress.com site to blog about software...

Back to Top ↑

event

Running a remote hack day

4 minute read

A couple of weeks ago we held our first Remote Hack, a free, fully-remote hack day. Here’s what we did, how it went, and how you can run one.

JSOxford NodeBots, August 2014

5 minute read

On the 23rd of August we ran the last event in the JSOxford 2014 Summer of Hacks, building JavaScript powered NodeBots. Cue maniacal cackling as we plan to t...

Open Data Day 2014

4 minute read

The International Open Data Day is almost over (here at least), and I was lucky enough to join the Oxford Hackathon. This was my first full-day hackathon, an...

Puppet talk

1 minute read

Here are the slides from a presentation on Puppet I gave at the Software Alliance Wales lightning lunch on 27th September 2013: https://speakerdeck.com/spike...

Back to Top ↑

cycling

Rapha’s (free) repair service

3 minute read

I was a bit dazed when I came off my bike and rolled down the road. Having got past the initial joy of “all my limbs still work, ish”, through the thankfulln...

Cycle safely please Oxford

1 minute read

Cycling can be dangerous. Most of the time it’s not, and it’s a great, healthy, relaxing way to travel. This evening was not one of them, and I passed a cycl...

Back to Top ↑

rant

Capybara, WebMock, and too many open files

2 minute read

Getting set up with a new codebase is always a fun, sometimes head-scratching experience where you have to discern whether the issues you’re facing are becau...

From Twitter to Mastodon

2 minute read

A lot of people are leaving Twitter right now, and there’s a lot of hyperbole to go with it. I don’t think it’s going to disappear overnight, or go down in f...

Security is not a ‘pro’ feature

3 minute read

We rely on Open Source for a huge portion of the Internet (and beyond), yet many projects still rely on goodwill and donated effort in order to survive. Some...

Back to Top ↑

skiing

Back to Top ↑

life

Back to Top ↑

reflection

Reclaiming my Saturday mornings

4 minute read

You hear it everywhere: ‘if you want something doing well, do it yourself’. Maybe the primary source is beleaguered managers in stagnant organisations where ...

Back to Top ↑

docker

Docker context switching

less than 1 minute read

Sometimes it’s useful to run multiple Docker contexts/daemons, e.g. if you’re running Docker Desktop and Lima, or local Kubernetes clusters.

Back to Top ↑

ruby

Back to Top ↑

leadership

Protect yourself first

3 minute read

A common refrain in software engineering is to put your team before yourself. Also, put the customer first. Make sure you align with the organisation’s goals...

Back to Top ↑