When Should You Refactor?

Refactoring code is a tricky business. Doing it too early, you are simply creating work which may or may not be needed. Doing it too late, you end up with a bunch of spaghetti code, which is a right pain in the neck to work with. I am going to...


The Million Dollar Cock-up

When it comes to making a mess of IT systems, there is simply no bottom line. Amongst the places I've worked for, I have seen developers making cock-ups ranging from mis-calculation in accountant reports, deleting TBs of data from production database, and recently open sourcing GitHub repos with AWS user...


Walk This Way, Ep.1

This time, I am going to use a series of blogs, based on a 2-month project my team has done within Platform team at the BBC, to showcase a couple of good engineering practices, some bits and bots about using Scala and Play framework, and reflect on what we could...


Control Network Traffic with iptables

This time, I get to play with Raspberry Pi (Raspbian) to limit its network accessibility to meet our security compliances. Thought Process The idea is simple, we want to limit the number and destinations of requests the Pi can make, and it should only receive data from trusted source(s), also...


Better JavaScript with V8

With the growing attention and maturing community, JavaScript has risen from an embedded scripting language to a full-blown programming language in its own right. But just like a super car needs a great engine, JavaScript has been expecting a top-notch engine for far too long. Performance comparison between C and...