Sign In

Communications of the ACM

Latest Practice



Time, but Faster
From Communications of the ACM

Time, but Faster

A computing adventure about time through the looking glass.

Heterogeneous Computing
From Communications of the ACM

Heterogeneous Computing: Here to Stay

Hardware and software perspectives.

Research for Practice
From Communications of the ACM

Research for Practice: Distributed Transactions and Networks as Physical Sensors

Expert-curated guides to the best of CS research.

Life Beyond Distributed Transactions
From Communications of the ACM

Life Beyond Distributed Transactions

An apostate's opinion.

Are You Load Balancing Wrong?
From Communications of the ACM

Are You Load Balancing Wrong?

Anyone can use a load balancer. Using it properly is much more difficult.

BBR: Congestion-Based Congestion Control
From Communications of the ACM

BBR: Congestion-Based Congestion Control

Measuring bottleneck bandwidth and round-trip propagation time.

Resolving Conflict
From Communications of the ACM

Resolving Conflict

Don't "win." Resolve.

Faucet
From Communications of the ACM

Faucet: Deploying SDN in the Enterprise

Using OpenFlow and DevOps for rapid development.

Research for Practice
From Communications of the ACM

Research for Practice: Web Security and Mobile Web Computing

Expert-curated guides to the best of CS research.

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.

The Power of Babble
From Communications of the ACM

The Power of Babble

Expect to be constantly and pleasantly befuddled.

Scaling Synchronization in Multicore Programs
From Communications of the ACM

Scaling Synchronization in Multicore Programs

Advanced synchronization methods can boost the performance of multicore software.

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.

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.
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