Some snippets of my Metro.co.uk code, because Word doesn’t like embedding links to GitHub.
It’s all from 2014 (except the Jasmine code which is 2013). They are mainly private repos.
- Ruby/Sinatra/Redis micro-service for polls. More complex app here.
- WordPress custom plugin for AB testing headlines. I’ve been promoting the use of plugins to keep our code modular.
- Java/Spring. I introduced Spring Boot when we created the Metro news feed API. Spring Boot massively simplified development – it was our first true micro-service.
- Play Framework (Java). I extended our real-time app to support AB testing headlines (uses Redis).
- CasperJS end-to-end tests, lightning fast.
- JUnit (integration) tests for our news feed stored procedure. We’d be lost without these tests!
- AngularJS prototype of probabilistic learning algorithm
- Sass, CSS media queries and SMACSS for our polls widget
- MySQL. I’ve optimized our news feed stored procedure to be 10x faster (with 10x less code). Still experimental.
Other tech highlights in 2014:
- I’m the first Metro developer to host a production app on Heroku. It’s PaaS which means zero infrastructure!
- Slides from my CasperJS preso at MOL table update. No slides for my AB testing preso i’m afraid.
Going further back, here is my 2011 blog post about Metro’s use of Akamai, based on my lightning talk at the London Java Community.
Lastly, just in case you’re wondering where my love of programming started, i started programming in 1981 on a ZX81. Two years later i submitted a game – “Robin Hood” for the Vic20 – to Virgin Games. It didn’t get published but they were very encouraging!