I was recently tasked with migrating important historical data to a new database schema as part of some exciting changes that we’re making to our dating platform.Using Ruby to write the data migration script, I came across an interesting issue: some of the historical data had been obfuscated using an...
Powering the technology behind one of the world's leading social discovery and online dating companies
In this talk Paul Bowsher gives some insight into how Git works under-the-hood, so next time you find yourself in some horrible rebase state it's not so scary; you know where it's actually stuck. He explores the different types of object used within git's database and how they all link together to form your git history.
In part 4 of our Introduction to ES6 series we take a look at some new ways to handle function arguments (default and rest parameters), and the spread operator.
In part 4 of our Ruby Tips series, we cover debugging using IRB, the best way to lay out your project's directory structure and also some hints on documenting your code.
This year I gave a presentation at Scotch On The Rocks on ColdFusion Anti Patterns. Although I used CFML for the code examples at Scotch, the talk itself was fairly generic in its content, and focussed on Object Oriented design practices which are commonplace but considered by some to be…...
In part 3 of our Introduction to ES6 series we take a look at the new destructuring assignment syntax and look at how you can use it to write shorter, cleaner and more self-explanatory code.
A look into some of the problems concerning front-end package management systems such as Bower.
Part 3 of our Ruby Tips series, including some advice on dealing with exceptions and various ways of using modules.
In part 2 of our Introduction to ES6 series we take a look at the new block scoped bindings and show you how you can take advantage of them to make your code safer.
Part 2 of our Ruby Tips series, including some tips on de- and re-structuring arrays using the "splat" operator, and the different ways to do explicit and implicit conversions between types.