Intelligent DNS based load balancing at Dropbox

The Dropbox Traffic team is charged with innovating our application networking stack to improve the experience for every one of our users—over half a billion of them. This article describes our work with NS1 to optimize our intelligent DNS-based global load balancing for corner cases that we uncovered while improving our point of presence (PoP) selection automation for our edge network. By co-developing the platform capabilities with NS1 to handle these outliers, we deliver positive Dropbox experiences to more users, more consistently.
Read more

The Status of HTTP/3

HTTP/3 promises to make Internet connections faster, more reliable, and more secure. Born as ‘HTTP over QUIC’, an effort to adapt the HTTP protocol to run on top of Google’s own transport layer protocol, QUIC, it was later proposed as an IETF standard and it is currently an Internet Draft. In October 2018, IETF HTTP & QUIC Working Groups co-chair Mark Nottingham proposed to rename HTTP over QUIC as HTTP/3 to clarify its true nature and its independence from QUIC.
Read more

Introducing the AI Index 2019 Report

The AI Index 2019 Report takes an interdisciplinary approach by design, analyzing and distilling patterns about AI’s broad global impact on everything from national economies to job growth, research and public perception. We’re excited to release the AI Index 2019 Report, one of the most comprehensive studies about AI to date. Because AI touches so many aspects of society, the Index takes an interdisciplinary approach by design, analyzing and distilling patterns about AI’s broad global impact on everything from national economies to job growth, research and public perception.
Read more

Why everyone is talking about WebAssembly

If you haven’t heard of WebAssembly yet, then you will soon. It’s one of the industry’s best-kept secrets, but it’s everywhere. It’s supported by all the major browsers, and it’s coming to the server-side, too. It’s fast. It’s being used for gaming. It’s an open standard from the World Wide Web Consortium (W3C), the main international standards organization for the web. Going back about ten years, there was a growing recognition that the widely-used JavaScript wasn’t fast enough for many purposes.
Read more

Engineering SQL Support on Apache Pinot at Uber

Uber leverages real-time analytics on aggregate data to improve the user experience across our products, from fighting fraudulent behavior on Uber Eats to forecasting demand on our platform. As Uber’s operations became more complex and we offered additional features and services through our platform, we needed a way to generate more timely analytics on our aggregated marketplace data to better understand how our products were being used. Specifically, we needed our Big Data stack to support cross-table queries as well as nested queries, both requirements that would enable us to write more flexible ad hoc queries to keep up with the growth of our business.
Read more

Loading Android data with coroutines

Many moons ago, I was working at the New York Times and created a library called Store, which was “a Java library for effortless, reactive data loading.” We built Store using RxJava and patterns adopted from Guava’s Cache implementation. Today’s app users expect data updates to flow in and out of the UI without having to do things like pulling to refresh or navigating back and forth between screens.
Read more

Personalizing Spotify Home with Machine Learning

Machine learning is at the heart of everything we do at Spotify. Especially on Spotify Home, where it enables us to personalize the user experience and provide billions of fans the opportunity to enjoy and be inspired by the artists on our platform. This is what makes Spotify unique. Across our engineering community, we are working to unite autonomous teams and empower them to be more efficient by establishing best practices for tools and methods.
Read more

Istio as an Example of When Not to Do Microservices

I’ve been pretty invested in helping organizations with their cloud-native journeys for the last five years. Modernizing and improving a team (and eventually an organization’s) velocity to deliver software-based technology is heavily influenced by it’s people, process and eventual technology decisions. A microservices approach may be appropriate when the culmination of an application’s architecture has become a bottleneck (as a result of the various people/process/tech factors) for making changes and “going faster”, but it’s not the only approach.
Read more

Database Migration To Amazon Aurora

In this blog post we’ll show you how we migrated a critical Postgres database with 18Tb of data from Amazon RDS (Relational Database Service) to Amazon Aurora, with minimal downtime. To do so, we’ll discuss our experience at Codacy. We chose Amazon’sAuroradatabase as a solution for a few key reasons including: 1) automatic storage growth (up to 64Tb); 2) ease of migration from RDS and 3) performance benefits. Although, Aurora’s official docs only claimed up to a3x increase in throughput performanceover stock PostgreSQL 9.
Read more

Injecting the flu vaccine into a tumor gets the immune system to attack it

A number of years back, there was a great deal of excitement about using viruses to target cancer. A number of viruses explode the cells that they’ve infected in order to spread to new ones. Engineering those viruses so that they could only grow in cancer cells would seem to provide a way of selectively killing these cells. And some preliminary tests were promising, showing massive tumors nearly disappearing. But the results were inconsistent, and there were complications.
Read more