Sign In

Communications of the ACM

Practice


Latest Practice


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.

Fresh Starts
From Communications of the ACM

Fresh Starts

Just because you have been doing it the same way doesn't mean you are doing it the right way.

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.

Introducing Research for Practice
From Communications of the ACM

Introducing Research for Practice

Expert-curated guides to the best of CS research.

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.

The Hidden Dividends of Microservices
From Communications of the ACM

The Hidden Dividends of Microservices

Microservices aren't for every company, and the journey isn't easy.

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.

Statistics for Engineers
From Communications of the ACM

Statistics for Engineers

Applying statistical techniques to operations data.

Nine Things I Didn't Know I Would Learn Being an Engineer Manager
From Communications of the ACM

Nine Things I Didn't Know I Would Learn Being an Engineer Manager

Many of the skills aren't technical at all.

The Flame Graph
From Communications of the ACM

The Flame Graph

This visualization of software execution is a new necessity for performance profiling and debugging.

Standing on Distributed Shoulders of Giants
From Communications of the ACM

Standing on Distributed Shoulders of Giants

Farsighted physicists of yore were danged smart!

Borg, Omega, and Kubernetes
From Communications of the ACM

Borg, Omega, and Kubernetes

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

Delegation as Art
From Communications of the ACM

Delegation as Art

Be someone who makes everyone else better.

Use-Case 2.0
From Communications of the ACM

Use-Case 2.0

The hub of software development.

More Encryption Means Less Privacy
From Communications of the ACM

More Encryption Means Less Privacy

Retaining electronic privacy requires more political engagement.

Why Logical Clocks Are Easy
From Communications of the ACM

Why Logical Clocks Are Easy

Sometimes all you need is the right language.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account
Read CACM in a free mobile app!
Access the latest issue, plus archived issues and more
ACM Logo
  • ACM CACM apps available for iPad, iPhone and iPod Touch, and Android platforms
  • ACM Digital Library apps available for iOS, Android, and Windows devices
  • Download an app and sign in to it with your ACM Web Account
Find the app for your mobile device
ACM DL Logo