go to content go to search box go to global site navigation

    Heartbleed

    In response to the OpenSSL vulnerability (known as Heartbleed and labelled CVE-2014-0160), Lonely Planet conducted a thorough review of our infrastructure and where necessary, updated software with the appropriate security patches, replaced affected infrastructure, and replaced our Lonely Planet SSL certificate.

    Read more...
    10 Apr 2014 by Matt Riddle

    Paying down Technical Debt

    Every software project I've worked on has, over time, built up technical debt, and the platform we work on here at Lonely Planet is no exception. Even just trying to keep libraries up to date and employ new recommended techniques means that the code gets inconsistent and some becomes stale, which means that over time we'll start moving more slowly because the codebase becomes harder and harder to add to. We have a few techniques to try and avoid paying too much "interest".

    Read more...
    24 Oct 2013 by Jo Cranford

    Recursive SQL Queries

    Returning hierarchical data in a timely fashion

    Read more...
    26 Aug 2013 by James Holmes

    Nice Pair - Pair Programming Archetypes

    What kind of pair programmer are you?

    Read more...
    09 Aug 2013 by Adel Smee

    Agile Evaluations

    Our team has been interested in trying to figure out how to measure our ability to improve both personally and as a team. Our teams purpose is to deliver high-quality software as quickly as possible. This is hard to measure, so the next thing to consider is what the best proxies are. We decided that we would instead measure and improve each developers skills and hope that this would lead to team progress.

    Read more...
    05 Aug 2013 by Jon Ricketson

    Jasmine Testing Context Menu

    How to use Javascript to manipulate the various operations of contextMenu in an automated test. Herewith a couple of points you may find useful...

    Read more...
    20 May 2013 by Adel Smee

    Tapping Into Some New Brews

    At Lonely Planet's Melbourne headquarters, we occasionally sample some of the beverages on offer at local spots like The Reverence and Station Hotel, and we've even talked about getting a beer fridge in the office, but did you know that you can tap some rare and delicious brews right on your Mac?

    Read more...
    12 May 2013 by Tim Moore

    Porting Plugins from Sublime Text 2

    Tips and tricks for porting plugins from Sublime Text 2 to 3

    Read more...
    22 Mar 2013 by David Hodges

    Chef staging environment

    Detecting problematic Chef changes before rolling out updates.

    Read more...
    08 Mar 2013 by Mark Jennings

    XML Transformation with RSLT

    One of the major tasks in Lonely Planet's switch to producing guidebooks from our shiny new CMS was writing an engine to convert data to fit templates in the ContentXML format required by our automated layout system. This seemed like a simple enough XML-to-XML conversion problem, so we initially tackled this with XSLT, but it soon became clear that the mapping was way more complicated than one-to-one.

    Read more...
    05 Mar 2013 by Jani Patokallio

    Capybara vs Javascript

    After upgrading to Capybara 2 we spent a lot of time giving love to our neglected child. Feature/Acceptance tests. We had a lot of them and it was always the place we spent the least amount of time, we would write a few step definitions and throw in a few Capybara calls but more often than not we would write some javascript to interact with the page.

    Read more...
    15 Feb 2013 by Matt Riddle

    Upgrading to Capybara 2

    We recently upgraded a Rails 3 project here at LP to Capybara 2 from 1.1.2. Ran into a few minor bumps along the way which we've shared below. Hopefully it helps others choosing to upgrade.

    Read more...
    03 Jan 2013 by Matt Riddle

    Thoughts on writing a Sublime Text 2 Plugin

    Tips and tricks on writing your very own Sublime Text 2 Plugin

    Read more...
    25 Dec 2012 by David Hodges

    The Xmas Gift of IAM Self Service

    When we created IAM accounts for our team, we had a desire to as self service as possible. Ideally, we wanted to provide a username and temporary password and then have users be able to set themselves up an access key, security certificate and MFA and be able to manage this themselves ongoing. However, this obviously couldn't be at the expense of security. We needed to ensure that users could only modify their own information and if we remove a user from our account theyre gone.

    Read more...
    23 Dec 2012 by Mark Jennings

    Broken promises

    Broken Promises: Counter-intuitive Exception Handling with jQuery's Deferred or, why "always" doesn't always mean always

    Read more...
    17 Dec 2012 by Tim Moore

    S-K-I-S-S

    I've spent the last couple of months learning the lovely language of Ruby. It has many delightful features, and I can see why all the cool kids are using it. Convention over configuration works often enough to be very useful. The language itself is, mostly, wonderfully concise and easy to read. Built in support for testing and deployment makes life so much easier. The amount of time it takes to create an application and get it into a usable (by users!) state is astounding for those of us coming from a Java/PHP background.

    Read more...
    14 Dec 2012 by Adel Smee

    Limiting WIP

    There are many reasons to limit Work in Progress (WIP). This is explained well by Tonianne DeMaria Barry and Jim Benson in their Personal Kanban blog.

    Read more...
    14 Dec 2012 by James Holmes

    Continuous Improvement via Kanban

    Kanban provides a snapshot of how things really are without trying to assign blame. This provides the opportunity to make genuine improvements, because issues are visible and can be owned by the whole team.

    Read more...
    14 Dec 2012 by James Holmes

    Upgradinate

    Staying on master while doing heavy upgrades

    Read more...
    13 Dec 2012 by Matt Riddle

    Rails and Sass Error on First Request in Production

    Identifying and resolving Rails3 & SASS issues

    Read more...
    09 Dec 2012 by Marc Watts

    Performance and metrics tools and resources

    Tools and resources mentioned in our VelocityConf talk

    Read more...
    09 Dec 2012 by Mark Jennings

    Object Oriented Sass

    Breakdown and comparisson of OOCSS

    Read more...
    09 Dec 2012 by Mark Jennings

    Monitoring our applications - Ruby - Methods

    Fozzie was good, and we were happy with progress. We were monitoring applications in real time, the code was looking ok, and the stats looked good on the big screens. On reflection of the code though, we felt there was room for improvement on the way in which we were referencing Fozzie for the timing of code.

    Read more...
    09 Dec 2012 by Marc Watts

    Monitoring our applications - Ruby - Overview

    A target of ours has been to improve the monitoring of our applications. I'm sure this is true for nearly all Software companies. We have applications written in various languages, the main "must-monitor" ones in Ruby and Java. This article explains how we implemented statsd into our Ruby applications.

    Read more...
    09 Dec 2012 by Marc Watts

    lonelyplanet.com Performance Baseline

    Performance review, reflection and improvements

    Read more...
    09 Dec 2012 by Mark Jennings

    London ElasticSearch user group

    One of the great things about working for Lonely Planet is the opportunity to get out and about at meetups and conferences. Last week we organised and sponsored the first London ElasticSearch user group meetup.

    Read more...
    09 Dec 2012 by Mark Jennings

    How to get a job with our Engineering team

    Want to join our team of coding sloths?

    Read more...
    09 Dec 2012 by Mark Jennings

    Fozzie Updates

    Fozzie 1.0!

    Read more...
    09 Dec 2012 by Mark Jennings

    A History of Web Performance @ Lonely Planet

    Screamingly fast is now a requirement of all our projects. We've only made incremental improvements to our page performance over the past couple of years but this is about to change dramatically. Ill be sharing our progress on this blog. Were also experimenting with tools to help us capture performance data in real time and well share some of this data when we can.

    Read more...
    09 Dec 2012 by Mark Jennings