Posts I've written this year

24 Nov
Coding Solo episode 6
21 Sep
Coding Solo episode 5
31 Aug
Getting the AWS X-Ray deamon to run on Alpine Linux
23 Aug
Coding Solo episode 4
21 Aug
Looking for a new maintainer of league/oauth2-server
13 Aug
Coding Solo episode 3
26 Jul
Coding Solo episode 2
12 Jul
Introducing Coding Solo - a podcast about freelancing in the UK
25 Jun
How to setup a Consul server cluster on EC2 in four easy steps
7 Feb
Amazon Web Services Solutions Architect Associate Certification
5 Jan
Re-Introducing Jenkins: Automated Testing with Pipelines

Posts I wrote in 2016

4 Dec
Using AWS CodePipeline and CodeBuild to update a Jekyll website
14 Oct
Can't Eat That - An app for food allergy sufferers
28 Sep
Starting a Jenkins multi-branch pipeline build from a Bitbucket commit
29 Jul
Updated: a guide to OAuth 2.0 grants
28 Jul
Laravel Passport and league/oauth2-server
23 Apr
Amazon Web Services Developer Associate Certification
19 Apr
OAuth 2.0 Device Flow Grant
18 Apr
league/oauth2-server version 5.0 is out!
10 Apr
Annoucing league/oauth2-server 5.0.0 RC2
24 Mar
Annoucing league/oauth2-server 5.0 RC1
7 Jan
Programming a DS9208-1D barcode scanner
3 Jan
2016 Cometh

Posts I wrote in 2015

19 Apr
Setup Jenkins and test a PHP project
16 Apr
OAuth Open Redirector Attack
15 Mar
An inspired journey into microservices architecture

Posts I wrote in 2014

15 Dec
OAuth 2 and API Security discussion on Full Stack Radio podcast
8 Nov
Version 4 of league/oauth2-server is out!
5 Nov
Speed up Internet access in Vagrant boxes
4 Nov
Responding to reactions towards my job title
4 Oct
Introducing Proton
15 Aug
Open Source Guilt
2 Jul
Using Ansible with a bastion SSH host
8 Jun
Changing Times
21 Jan
Notification overload
18 Jan
A week with the Pebble
11 Jan
Introducing OAuthello, a book about OAuth
10 Jan
6 hours with the Pebble smartwatch

Posts I wrote in 2013

19 Dec
Using Vagrant and Ansible for distributing educational course virtual machines
12 Dec
Build APIs you won't hate
11 Dec
Sometimes, travellers need a holiday from the holiday
25 Nov
A nifty refresh-token trick
24 Sep
Open data FTW!
6 Sep
How to securely store OAuth access tokens in single page JavaScript web apps
17 Aug
The League of Extraordinary Packages
29 Jul
The Pixar Theory
21 Jul
10 Jul
Talking all things OAuth 2.0 on PHP Town Hall Podcast
23 Jun
12 Jun
Good Data Practice
9 Jun
A fortnight in the big smoke
31 May
Eight Nerds Get Rich Off A Game Where Oprah Sobs Into A Lean Cuisine
8 May
Developing an interactive county council election map (part two)
27 Apr
Developing an interactive county council election map (part one)
8 Apr
So long, and thanks for all of the fish!
22 Mar
Goodbye TVC!
22 Mar
50 years of 007
21 Mar
API driven development: eating your own dog food
15 Mar
More OAuth pitfalls that you can easily avoid
15 Mar
14 Mar
Anyone who thinks social media is a valid replacement for an RSS-reader, leave the room now
7 Mar
Twitter's official clients have their OAuth keys leak
28 Feb
Boris Johnson on the EU's plan to cap bankers bonuses
27 Feb
The proper way of solving life's problems
27 Feb
How hackers changed the world: We Are Legion
25 Feb
Nine Inch Nails returns!
25 Feb
Facebook’s OAuth problem
23 Feb
I used Google Glass: the future, with monthly updates
22 Feb
Securing your API with OAuth 2.0
22 Feb
Open policy documents
22 Feb
Developing an OAuth 2.0 authorization server
21 Feb
PHP, meet OAuth 2.0
20 Feb
How it feels [through Glass]
20 Feb
The Rhino Shield
18 Feb
Tell SELinux to let PHP connect to a remote MySQL database
14 Feb
When @alexbilbie met @twitter
12 Feb
Did Vader screw up the invasion of Hoth?
10 Feb
Visual timeline of the One Ring
10 Feb
It might not get weirder than this
9 Feb
What happened to LEGO?
6 Feb
Star Wars spinoff films announced
6 Feb
Making Apache and SELinux play nice
1 Feb
So what did you learn from the iPhone?
1 Feb
BBC News Lab: Linked data
31 Jan
27 Jan
J.J. Abrams to direct Star Wars: Episode VII
27 Jan
Hype Machine: Dive into 5 years of music history
23 Jan
Actual Facebook Graph searches
21 Jan
Star Wars: Machete Order
16 Jan
Hands-on with Graph Search
16 Jan
Facebook Graph an ideal world
15 Jan
The staff at Jessops would like to thank you...
15 Jan
Farewell HMV
8 Jan
The Verge's coverage of Qualcomm's CES keynote
7 Jan
Power surges in Britain caused by millions of people making tea
6 Jan
A tour of the ISS
6 Jan
Living with HTTPS

Posts I wrote in 2012

30 Dec
A week without Facebook
25 Dec
18 Dec
I'm speaking at PHPNE Conference 2013
10 Dec
PHP 5.3/5.4 for OS X 10.6/10.7/10.8 as binary package
30 Nov
MongoQB updated for Mongo PECL 1.3
29 Nov
Which Bond villain plan would have worked?
28 Nov
Hawk: a new HTTP authentication scheme
27 Nov
What maketh the man
26 Nov
Exclude objects with .gitattributes
24 Nov
Miles Davis improvising on LCD Soundsystem
15 Nov
Introducing MongoQB
22 Oct
Authentication in the Library
17 Oct
OAuth 2.0 has been standardised
17 Oct
JISC AIM programme meeting 16th October
15 Oct
XKCD 1121 Identity
12 Oct
Upcoming identity work from Google announcement
28 Sep
Linkey Project Status Update 1
20 Sep
OAuth 2.0 Security - Going Beyond Bearer Tokens
12 Sep
Athens is a crappy experience for users
3 Sep
What is SAML?
26 Jul
OAuth 2.0 and the road to Hell
10 Jul
What is OAuth?
6 Jul
What is Microsoft Forefront Unified Access Gateway (UAG)?
12 Jun
Linkey, Chapter One
30 May
Dev8ed 2012
25 May
How to get all of the predicates of an object in SPARQL
19 May
CodeIgniter has a new reactor engineer
18 May
24 Apr
Learning SPARQL
20 Apr
Update to my CodeIgniter MongoDB library
16 Apr
My popular culture knowledge sucks
15 Apr
The future of
4 Apr
Hello, world!