acm-header
Sign In

Communications of the ACM

Latest Practice



Sir, Please Step Away from the ASR-33!
From Communications of the ACM

Sir, Please Step Away from the ASR-33!

To move forward with programming languages we must first break free from the tyranny of ASCII.

Keeping Bits Safe: How Hard Can It Be?
From Communications of the ACM

Keeping Bits Safe: How Hard Can It Be?

As storage systems grow larger and larger, protecting their data for long-term storage is becoming ever more challenging.

The Case Against Data Lock-In
From Communications of the ACM

The Case Against Data Lock-In

Want to keep your users? Just make it easy for them to leave.

Tackling Architectural Complexity with Modeling
From Communications of the ACM

Tackling Architectural Complexity with Modeling

Component models can help diagnose architectural problems in both new and existing systems.

Thinking Clearly About Performance, Part 2
From Communications of the ACM

Thinking Clearly About Performance, Part 2

More important principles to keep in mind when designing high-performance software.

Photoshop Scalability: Keeping It Simple
From Communications of the ACM

Photoshop Scalability: Keeping It Simple

Clem Cole and Russell Williams discuss Photoshop's long history with parallelism, and what is now seen as the chief challenge.

Thinking Clearly About Performance, Part 1
From Communications of the ACM

Thinking Clearly About Performance, Part 1

Improving the performance of complex software is difficult, but understanding some fundamental principles can make it easier.

Injecting Errors For Fun and Profit
From Communications of the ACM

Injecting Errors For Fun and Profit

Error-detection and correction features are only as good as our ability to test them.

Computers in Patient Care: The Promise and the Challenge
From Communications of the ACM

Computers in Patient Care: The Promise and the Challenge

Information technology has the potential to radically transform health care. Why has progress been so slow?

Seven Principles For Selecting Software Packages
From Communications of the ACM

Seven Principles For Selecting Software Packages

Everything you always wanted to know but were afraid to ask about the decision-making process.

Moving to the Edge: A CTO Roundtable on Network Virtualization
From Communications of the ACM

Moving to the Edge: A CTO Roundtable on Network Virtualization

Leading experts debate how virtualization and clouds impact network service architectures.

Software Development with Code Maps
From Communications of the ACM

Software Development with Code Maps

Could ubiquitous hand-drawn code map diagrams become a thing of the past?

You're Doing It Wrong
From Communications of the ACM

You're Doing It Wrong

Think you've mastered the art of server performance? Think again.

Visualizing System Latency
From Communications of the ACM

Visualizing System Latency

Heat maps are a unique and powerful way to visualize latency data. Explaining the results, however, is an ongoing challenge.

The Ideal HPC Programming Language
From Communications of the ACM

The Ideal HPC Programming Language

Maybe it's Fortran. Or maybe it just doesn't matter.

A Tour Through the Visualization Zoo
From Communications of the ACM

A Tour Through the Visualization Zoo

A survey of powerful visualization techniques, from the obvious to the obscure.

Simplicity Betrayed
From Communications of the ACM

Simplicity Betrayed

Emulating a video system shows how even a simple interface can be more complex—and capable—than it appears.

Securing Elasticity in the Cloud
From Communications of the ACM

Securing Elasticity in the Cloud

Elastic computing has great potential, but many security challenges remain.

Why Cloud Computing Will Never Be Free
From Communications of the ACM

Why Cloud Computing Will Never Be Free

The competition among cloud providers may drive prices downward, but at what cost?

Principles of Robust Timing Over the Internet
From Communications of the ACM

Principles of Robust Timing Over the Internet

The key to synchronizing clocks over networks is taming delay variability.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account