QCon London 2014 - Wednesday

March 8, 2014

I've been at QCon in the middle of London for three days this week and wanted to write up the brief notes I made for the talks I went to, to give me a place to start investigating further.

The video links here are only available for attendees, but infoq say some will be made available publicly over the next few months.

There are also some photos on flickr.

Keynote: Life, The Universe & Everything - Damian Conway

An entertaining start to the conference covering Game of Life, The Turing Machine, KlingonScript, Gases, and Demons. Making decisions heats your brain.

Development, Deployment and Collaboration at Etsy - @Daniel Schauenberg

Etsy do many releases to production every day, and everyone deploys to production on their first day. They use a push train to release, everything controlled by IRC. All changes are small changes, separate deploys for code and config. They use lots of config flags and only turn on code after it's been deployed, not in the same deployment as the code. They take production code, add the patch, then build and run tests to make sure the change doesn't break anything.

They have a blameless post mortem and look for opportunities to engineer out what allowed the problem through to production, and so stop it happening next time.

Lunch N Learn once a week - buy in food, someone presents about a tech topic.

No rollback if there's an error in production - roll forward with a fix.

Dev "Programming" Ops For DevOps Success - @Damon Edwards

With separate dev and ops there can be a "Wall of Confusion" between the two sides. Scrap is delivered software not fit for ops purposes - wastes time. Do Waste Analysis.

Three steps to DevOps success:

Revealing the Uncommonly Common with Elasticsearch - @Mark Harwood

Interesting features of Elasticsearch. Showed the search of crime data that returns JSON. You can then throw these results at Google Earth to get a visualisation on a map.

Next we looked at how to find the common site that all victims of credit card fraud visited. This isn't the most common, it's the one they have in common that is uncommon.

The Process, Technology & Practice of Continuous Delivery - @Dave Farley

Build binaries once. Use the same mechanism to deploy to all servers. Smoke Test. If anything fails, stop the line and fix it.

Build after a code change, then store the binary in an artifact repository. Run auto acceptance tests by watching the artifact repository for new builds. Tag the binary as a release candidate if tests pass. Testers can deploy any version they want to test from the artifact repository using a console.

Understanding and Using Regular Expressions - Damian Conway

Regular expressions are subroutines, and they are explained here by graph traversal.

Always use ?x at the start of a regex, where supported. This allows you to format your regex with whitespace and comment it. If this is unavailable on your platform, build it - regex is a string with spaces, code processes this down to just the regex.

.* is greedy. .*? is non greedy

DevOps at a Small International Bank - @Ola Ellnestam

The most unique slides of the day - all hand drawn.

They have tools to revert back to the previous version of the code in 10 seconds if there is a problem in production.

Does the Browser have a Future? - @Tim Bray

You need to code for three clients - HTML, Android, iOS. 2014 is the year that the mobile usage line crosses the one for desktop. Unit testing is too hard on mobile, it's easy for the server side. There is pushback against apps.

You can change the world, you have a great job