acm-header
Sign In

Communications of the ACM

Latest Practice



The Debugging Mind-Set
From Communications of the ACM

The Debugging Mind-Set

Understanding the psychology of learning strategies leads to effective problem-solving skills.

Making Money Using Math
From Communications of the ACM

Making Money Using Math

Modern applications are increasingly using probabilistic machine-learned models.

Faucet
From Communications of the ACM

Faucet: Deploying SDN in the Enterprise

Using OpenFlow and DevOps for rapid development.

Functional at Scale
From Communications of the ACM

Functional at Scale

Applying functional programming principles to distributed computing projects.

React
From Communications of the ACM

React: Facebook's Functional Turn on Writing Javascript

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

Industrial-Scale Agile
From Communications of the ACM

Industrial-Scale Agile: From Craft to Engineering

Essence is instrumental in moving software development toward a true engineering discipline.

Research For Practice
From Communications of the ACM

Research For Practice: Distributed Consensus and Implications of NVM on Database Management Systems

Expert-curated guides to the best of CS research for practitioners.

Idle-Time Garbage-Collection Scheduling
From Communications of the ACM

Idle-Time Garbage-Collection Scheduling

Taking advantage of idleness to reduce dropped frames and memory consumption.

Dynamics of Change
From Communications of the ACM

Dynamics of Change: Why Reactivity Matters

Tame the dynamics of change by centralizing each concern in its own module.

Bad Software Architecture Is a People Problem
From Communications of the ACM

Bad Software Architecture Is a People Problem

When people don't work well together they make bad decisions.

10 Optimizations on Linear Search
From Communications of the ACM

10 Optimizations on Linear Search

The operations side of the story.

Debugging Distributed Systems
From Communications of the ACM

Debugging Distributed Systems

ShiViz is a new distributed system debugging visualization tool.

The Singular Success of SQL
From Communications of the ACM

The Singular Success of SQL

SQL has a brilliant future as a major figure in the pantheon of data representations.

Should You Upload or Ship Big Data to the Cloud?
From Communications of the ACM

Should You Upload or Ship Big Data to the Cloud?

The accepted wisdom does not always hold true.

The Small Batches Principle
From Communications of the ACM

The Small Batches Principle

Reducing waste, encouraging experimentation, and making everyone happy.

Borg, Omega, and Kubernetes
From Communications of the ACM

Borg, Omega, and Kubernetes

Lessons learned from three container-management systems over a decade.

Use-Case 2.0
From Communications of the ACM

Use-Case 2.0

The hub of software development.

How SysAdmins Devalue Themselves
From Communications of the ACM

How SysAdmins Devalue Themselves

How to lose friends and alienate coworkers.

Schema.org
From Communications of the ACM

Schema.org: Evolution of Structured Data on the Web

Big data makes common schemas even more necessary.

The Verification of a Distributed System
From Communications of the ACM

The Verification of a Distributed System

A practitioner's guide to increasing confidence in system correctness.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account