Sign In

Communications of the ACM

Latest Practice



BufferBloat: What's Wrong With the Internet?
From Communications of the ACM

BufferBloat: What's Wrong With the Internet?

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

You Don't Know Jack About Shared Variables or Memory Models
From Communications of the ACM

You Don't Know Jack About Shared Variables or Memory Models

Data races are evil.

Advances and Challenges in Log Analysis
From Communications of the ACM

Advances and Challenges in Log Analysis

Logs contain a wealth of information to help manage systems.

Creating Languages in Racket
From Communications of the ACM

Creating Languages in Racket

Sometimes you just have to make a better mousetrap.

Bufferbloat
From Communications of the ACM

Bufferbloat: Dark Buffers in the Internet

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

I/O Virtualization
From Communications of the ACM

I/O Virtualization

Decoupling a logical device from its physical implementation offers many compelling advantages.

Postmortem Debugging in Dynamic Environments
From Communications of the ACM

Postmortem Debugging in Dynamic Environments

Many modern dynamic languages lack tools for understanding complex failures.

How Will Astronomy Archives Survive the Data Tsunami?
From Communications of the ACM

How Will Astronomy Archives Survive the Data Tsunami?

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

Coding Guidelines: Finding the Art in the Science
From Communications of the ACM

Coding Guidelines: Finding the Art in the Science

Computer science is both a science and an art. Yet, when it comes time for implementation, there is a combination of artistic flare, nuanced style, and technical...

The Software Industry <i>is</i> the Problem
From Communications of the ACM

The Software Industry is the Problem

The time has come for software liability laws.

Java Security Architecture Revisited
From Communications of the ACM

Java Security Architecture Revisited

Difficult technical problems and tough business challenges.

OCaml for the Masses
From Communications of the ACM

OCaml for the Masses

Why the next language you learn should be functional.

Abstraction in Hardware System Design
From Communications of the ACM

Abstraction in Hardware System Design

Applying lessons from software languages to hardware languages using Bluespec SystemVerilog.

The World According to LINQ
From Communications of the ACM

The World According to LINQ

Big data is about more than size, and LINQ is more than up to the task.

Verification of Safety-Critical Software
From Communications of the ACM

Verification of Safety-Critical Software

Avionics software safety certification is achieved through objective-based standards.

ACM CTO Roundtable on Mobile Devices in the Enterprise
From Communications of the ACM

ACM CTO Roundtable on Mobile Devices in the Enterprise

Finding solutions as growth and fragmentation complicate mobile device support.

The Most Expensive One-Byte Mistake
From Communications of the ACM

The Most Expensive One-Byte Mistake

Did Ken, Dennis, and Brian choose wrong with NUL-terminated text strings?

Arrogance in Business Planning
From Communications of the ACM

Arrogance in Business Planning

Technology business plans that assume no competition — ever.

The Robustness Principle Reconsidered
From Communications of the ACM

The Robustness Principle Reconsidered

In 1981, Jon Postel formulated the Robustness Principle. Although described for implementations of TCP, it was quickly accepted as a...

Computing Without Processors
From Communications of the ACM

Computing Without Processors

Heterogeneous systems allow us to target our programming to the appropriate environment.
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