acm-header
Sign In

Communications of the ACM

Latest Practice



Declarative Machine Learning Systems
From Communications of the ACM

Declarative Machine Learning Systems

The future of machine learning will depend on it being in the hands of the rest of us.

Static Analysis
From Communications of the ACM

Static Analysis

The fundamental challenge of software engineering is one of complexity.

What Went Wrong?
From Communications of the ACM

What Went Wrong?

Why we need an IT accident investigation board.

Software Development in Disruptive Times
From Communications of the ACM

Software Development in Disruptive Times

Creating a software solution with fast decision capability, agile project management, and extreme low-code technology.

Application Frameworks
From Communications of the ACM

Application Frameworks

While powerful, frameworks are not for everyone.

A Second Conversation with Werner Vogels
From Communications of the ACM

A Second Conversation with Werner Vogels

The Amazon CTO sits with Tom Killalea to discuss designing for evolution at scale.

Differential Privacy
From Communications of the ACM

Differential Privacy: The Pursuit of Protections by Default

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

The Time I Stole $10,000 from Bell Labs
From Communications of the ACM

The Time I Stole $10,000 from Bell Labs

Why DevOps encourages us to celebrate outages.

Data on the Outside versus Data on the Inside
From Communications of the ACM

Data on the Outside versus Data on the Inside

Data kept outside SQL has different characteristics from data kept inside.

Debugging Incidents in Google's Distributed Systems
From Communications of the ACM

Debugging Incidents in Google's Distributed Systems

How experts debug production issues in complex distributed systems.

Is Persistent Memory Persistent?
From Communications of the ACM

Is Persistent Memory Persistent?

A simple and inexpensive test of failure-atomic update mechanisms.

To Catch a Failure
From Communications of the ACM

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.

The Best Place to Build a Subway
From Communications of the ACM

The Best Place to Build a Subway

Building projects despite (and because of) existing complex systems.

Beyond the 'Fix-It' Treadmill
From Communications of the ACM

Beyond the 'Fix-It' Treadmill

The use of post-incident artifacts in high-performing organizations.

Revealing the Critical Role of Human Performance in Software
From Communications of the ACM

Revealing the Critical Role of Human Performance in Software

It's time to appreciate the human side of Internet-facing software systems.

Above the Line, Below the Line
From Communications of the ACM

Above the Line, Below the Line

The resilience of Internet-facing systems relies on what is above the line of representation.

Optimizations in C++ Compilers
From Communications of the ACM

Optimizations in C++ Compilers

A practical journey.

Blockchain Technology
From Communications of the ACM

Blockchain Technology: What Is It Good For?

Industry's dreams and fears for this new technology.

Space Time Discontinuum
From Communications of the ACM

Space Time Discontinuum

Combining data from many sources may cause painful delays.

Demo Data as Code
From Communications of the ACM

Demo Data as Code

Automation helps collaboration.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account