Case Studies


Data Science

More Than Just Algorithms

A discussion with Alfred Spector, Peter Norvig, Chris Wiggins, Jeannette Wing, Ben Fried, and Michael Tingley

March 28, 2023



The Arrival of Zero Trust:
What Does it Mean?

A discussion with Michael Loftus, Andrew Vezina, Rick Doten, and Atefeh Mashatan

September 19, 2022


Healthcare Data

FHIR: Reducing Friction
in the Exchange of Healthcare Data

A discussion with James Agnew, Pat Helland, and Adam Cole

May 17, 2022

Data, Privacy

Open Source

It Takes a Community:
The Open-source Challenge

A discussion with Reynold Xin, Wes McKinney, Alan Gates, and Chris McCubbin

November 17, 2021

Open source

Hardware Security

Quantum-safe Trust for Vehicles:
The Race is Already On

A discussion with Michael Gardiner, Alexander Truskovsky, George Neville-Neil, and Atefeh Mashatan

April 30, 2021

Data, Privacy, Security


Always-on Time-series Database: Keeping Up Where There's No Way to Catch Up

A discussion with Theo Schlossnagle, Justin Sheehy, and Chris McCubbin

December 14, 2020



Differential Privacy: The Pursuit of Protections by Default

A discussion with Miguel Guevara, Damien Desfontaines, Jim Waldo, and Terry Coatta

November 20, 2020



To Catch a Failure: The Record-and-Replay Approach to Debugging

A discussion with Robert O'Callahan, Kyle Huey, Devon O'Dell, and Terry Coatta

Mar 28, 2020



DAML: The Contract Language of Distributed Ledgers

A discussion between Shaul Kfir and Camille Fournier

Aug 19, 2019


Health Care Records

Access Controls and Health Care Records: Who Owns the Data?

A discussion with David Evans, Richard McDonald, and Terry Coatta

Code Review

CodeFlow: Improving the Code Review Process at Microsoft

A discussion with Jacek Czerwonka, Michaela Greiler, Christian Bird, Lucas Panjer, and Terry Coatta

Nov 13, 2018

Quality Assurance


Hootsuite: In Pursuit of Reactive Systems

A discussion with Edward Steel, Yanik Berube, Jonas Bonér, Ken Britton, and Terry Coatta

JavaScript Frameworks

React: Facebook's Functional Turn on Writing JavaScript

A discussion with Pete Hunt, Paul O'Shannessy, Dave Smith and Terry Coatta

Software-defined Networks

A Purpose-built Global Network:
Google's Move to SDN

A discussion with Amin Vahdat, David Clark, and Jennifer Rexford

Dec 11, 2015


The Road to SDN

An intellectual history of programmable networks

Nick Feamster, Jennifer Rexford, and Ellen Zegura | Dec 30, 2013


OpenFlow: A Radical New Idea in Networking

An open standard that enables software-defined networking

Tom Limoncelli | June 20, 2012


Quality Assurance Testing

Automated QA Testing at EA:
Driven by Events

A discussion with Michael Donat, Jafar Husain, and Terry Coatta

May 19, 2014

Quality Assurance

Testing a Distributed System

Testing a distributed system can be trying even under the best of circumstances.

Adopting DevOps Practices in Quality Assurance

Merging the art and science of software development

James Roche | October 30, 2013

Quality Assurance

JavaScript on the Server

Node at LinkedIn:
The Pursuit of Thinner, Lighter, Faster

A discussion with with Kiran Prasad, Kelly Norton, and Terry Coatta

January 15, 2014

Web Services

JavaScript and the Netflix User Interface

Conditional dependency resolution

Alex Liu | October 14, 2014

Web Services

Browser Security

Browser Security Case Study:
Appearances Can Be Deceiving

A discussion with Jeremiah Grossman, Ben Livshits, Rebecca Bace,
and George Neville-Neil

November 20, 2012

Web Security

The Web Won't Be Safe or Secure until We Break It

Unless you've taken very particular precautions, assume every Web site you visit knows exactly who you are.

Jeremiah Grossman | November 6, 2012

Web Security

Resolved: the Internet Is No Place for Critical Infrastructure

Risk is a necessary consequence of dependence.

April 2, 2013


Resilience Testing

Resilience Engineering: Learning to Embrace Failure

A discussion with Jesse Robbins, Kripa Krishnan, John Allspaw, and Tom Limoncelli

September 12, 2012

Quality Assurance

Fault Injection in Production

Making the case for resilience testing

John Allspaw | August 24, 2012

Quality Assurance

Weathering the Unexpected

Failures happen, and resilience drills help organizations prepare for them.

Kripa Krishnan | September 16, 2012

Quality Assurance

The Antifragile Organization

Embracing Failure to Improve Resilience and Maximize Availability

Ariel Tseitlin, June 8, 2013

Quality Assurance

Network Congestion Management

BufferBloat: What's Wrong with the Internet?

A discussion with Vint Cerf, Van Jacobson, Nick Weaver, and Jim Gettys

December 7, 2011


BBR: Congestion-Based Congestion Control

Measuring bottleneck bandwidth and round-trip propagation time

Neal Cardwell, Yuchung Cheng, C. Stephen Gunn, Soheil Hassas Yeganeh, and Van Jacobson | December 1, 2016


Controlling Queue Delay

A modern AQM is just one piece of the solution to bufferbloat.

Kathleen Nichols, Van Jacobson | December 7, 2011


Bufferbloat: Dark Buffers in the Internet

Networks without effective AQM may again be vulnerable to congestion collapse.

Jim Gettys, Kathleen Nichols | November 29, 2011


Supplementary Materials: Bufferbloat Videos

Under common loads, your real Internet "speed" can easily drop by a factor of ten due to bufferbloat.

Jim Gettys | February 5, 2012

File Systems and Storage

GFS: Evolution on Fast-forward

A discussion between Kirk McKusick and Sean Quinlan about the origin and evolution of the Google File System

Marshall Kirk McKusick, Sean Quinlan | August 7, 2009

File Systems and Storage

How Will Astronomy Archives Survive the Data Tsunami?

Astronomers are collecting more data than ever. What practices can keep them ahead of the flood?

G. Bruce Berriman, Steven L. Groom | October 18, 2011

File Systems and Storage

Keeping Bits Safe: How Hard Can It Be?

As storage systems grow larger and larger, protecting their data for long-term storage is becoming more and more challenging.

David S. H. Rosenthal | October 1, 2010

File Systems and Storage

Interoperability Testing

Microsoft's Protocol Documentation Program: Interoperability Testing at Scale

A Discussion with Nico Kicillof, Wolfgang Grieskamp and Bob Binder

June 8, 2011

Quality Assurance

SAGE: Whitebox Fuzzing for Security Testing

SAGE has had a remarkable impact at Microsoft.

Patrice Godefroid, Michael Y. Levin, David Molnar | January 11, 2012


The Robustness Principle Reconsidered

Seeking a middle ground

Eric Allman | June 22, 2011


UX Design

UX Design and Agile:A Natural Fit?

A user experience designer and a software engineer from SAP discuss the challenges of collaborating on a business-intelligence query tool.

Terry Coatta, Julian Gosper | November 29, 2010


Finding Usability Bugs with Automated Tests

Automated usability tests can be valuable companions to in-person tests.

Julian Harty | January 12, 2011


Multicore Performance

Photoshop Scalability:Keeping It Simple

Clem Cole and Russell Williams discuss Photoshop's long history with parallelism, and what they now see as the main challenge.

Clem Cole, Russell Williams | September 9, 2010


Managing Contention for Shared Resources on Multicore Processors

Contention for Caches, Memory Controllers, and Interconnects Can Be Alleviated by Contention-Aware Scheduling Algorithms.

Alexandra Fedorova, Sergey Blagodurov, Sergey Zhuravlev | January 20, 2010


RIA Development

Case Study: Making the Move to AJAX

What a software-as-a-service provider learned from using an AJAX framework for RIA development

Jeff Norwalk | March 11, 2009

Web Development

Commentary: A Trip Without a Roadmap

Instead of simply imagining what your users want or need, it's always a good idea to first get their input.

Peter Christy | March 11, 2009

Topic: Networks

Web Services

Reveling in Constraints

The Google Web Toolkit is an end-run around Web development obstacles.

Bruce Johnson | July 21, 2009

CACM This article appears in print in Communications of the ACM, Volume 52 Issue 9

Web Development

Debugging AJAX in Production

Lacking proper browser support, what steps can we take to debug production AJAX code?

Eric Schrock | March 11, 2009

Topic: Management

CACM This article appears in print in Communications of the ACM, Volume 52 Issue 5

Web Development