Avoiding phase transitions in server configuration
It’s a well-known trope that if your code doesn’t run, it probably doesn’t work. This is particularly true of error handling, error recovery and failover code, and has lead to the development of...
View ArticleAutomated image tagging at Booking.com
body { background-color: #fff; } .entry-content li { margin-left: inherit; }Abstract: Understanding the content of an image is a reasonably easy task - at least for us humans. For computers however,...
View ArticlePyData Amsterdam 2017 at Booking.com: Deep Learning, Statistical Models and NLP
In April, Booking.com hosted PyData Amsterdam 2017. The Booking.com headquarters was filled with 330 Python developers and data scientists from all over Europe, who gathered for a weekend full of talks...
View ArticleAn unconventional way of learning a new programming language
.caption { color: #999; font-size: 12px; } .img-caption { margin: 0 0 20px 0; } sup a { font-size: 10px; } iframe { margin: 0 auto !important; } There are more than 500 programming languages, and it’s...
View ArticleTroubleshooting: A journey into the unknown
article pre { white-space: pre; overflow-x: scroll; font-size: 90%; }Troubleshooting is a journey. It’s a long, unpredictable trek, one where you know the start and the end points but have zero...
View ArticleDesign Critique — The Booking way
It’s Thursday afternoon. For two hours, a group of designers from different teams get together in one of the meeting rooms in Booking.com’s Amsterdam office to furrow their brows and drink phenomenal...
View ArticleUsing Riak as Events Storage - Part 4
article pre { background-color: #f5f5f5; } body { background-color: #fff; } pre span{ color:black!important; } pre { color:black!important; } .codehilite .err{ border:none; }We saw in the previous...
View ArticleOn Diversity
It has become more and more common to vocally declare oneself in favor of diversity, notably in tech. I do not think, however, that what diversity actually brings is well understood across the...
View ArticleNamed Entity Classification
.entry-content li { margin-left: inherit; }abstract: The customers of Booking.com communicate with us through different mediums. They perform queries on our search engine, provide us with reviews...
View ArticleAutonomous Peer Learning at Booking.com and How You Can Do it in Your...
.caption { font-size: 80%; color: #999; margin-top: -20px; } ol li p:first-of-type { font-size:100%; } .entry-content li { margin-left: auto; } Continuous learning on the job is hard. We all see...
View ArticleA/B Testing - Concept != Execution
ol li p {font-size: 100%!important;}“We tested that, and it failed.”This typical excuse is rampant in the world of A/B testing, but it can overlook the fact that a concept in and of itself is...
View ArticleDistributed Top-N Similarity Join with Hive and Perl Part I
At Booking.com we have a lot of data to manage. Most of the time MySQL does the job, but for very large datasets and heavy analytics we use Hadoop and Hive. Most of the time Hive serves our analytical...
View ArticleB.Smashing – A Front End evening with Booking.com and Smashing Magazine
On Friday 10th October, Booking.com hosted the first-ever combined Booking.com and Smashing Magazine event, B.Smashing, at our head office in Amsterdam.For years we have been attending Smashing...
View ArticleBetter Crash-safe replication for MySQL
At Booking.com, we use MySQL replication extensively for read scaling. However, because we have so many slaves (we have thousands), sooner or later, one of them will fail. In MySQL 5.5 and earlier,...
View ArticleWould you like fries with that?
img { max-width: 90%;}The Hamburger Icon.The Hamburger Icon – it’s everywhere. All around you. In web apps, mobile sites, desktop sites, and computer software. The ubiquitous three-line icon is now so...
View ArticleGoldilocks and the Three Experiments
Once upon a time, during a usability test in a low and Nether-land, a seemingly meaningless pinch of the fingers by a middle-aged Dutch man named Geert sparked a series of three experiments by a girl...
View ArticleReusing Bitmap objects on Android
Memory management in Android can be a bit complicated if the application has heavy media demands. The Booking.com Android application had an issue explicitly dealing with memory management that...
View ArticleMySQL Slave Scaling (and more)
At Booking.com, we have very wide replication topologies. It is not uncommon to have more than fifty (and sometimes more than a hundred) slaves replicating from the same master. When reaching this...
View ArticleMore Optimizations in Perl 5.20-to-be
In a recent post on his blog Matthew Horsfall explained a few of the optimizations to Perl that he contributed recently. On this site, we reported on thefantastic work that Dave Mitchell is doing. The...
View ArticleAutomating CSS sprites for large organisations
CSS sprites have come a long way in the ten years since Dave Shea first wrote about them for A List Apart, way back in 2004. Amazon was an early proponent of CSS sprites.A CSS sprite is the technique...
View Article