acm-header
Sign In

Communications of the ACM

Latest Practice



A Plea from Sysadmins to Software Vendors
From Communications of the ACM

A Plea from Sysadmins to Software Vendors: 10 Do's and Don'ts

What can software vendors do to make the lives of system administrators a little easier?

Finding Usability Bugs with Automated Tests
From Communications of the ACM

Finding Usability Bugs with Automated Tests

Ideally, all software should be easy to use and accessible for a wide range of people. However, software often falls short of these basic goals. We therefore need...

Virtualization: Blessing or Curse?
From Communications of the ACM

Virtualization: Blessing or Curse?

Managing virtualization at a large scale is fraught with hidden challenges.

Collaboration in System Administration
From Communications of the ACM

Collaboration in System Administration

For sysadmins, solving problems usually involves collaborating with others. How can we make it more effective?

The Theft of Business Innovation
From Communications of the ACM

The Theft of Business Innovation: An ACM-BCS Roundtable on Threats to Global Competitiveness

These days, cybercriminals are looking to steal more than just banking information.

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.

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.

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.

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.

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.

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.

From Communications of the ACM

Enhanced Debugging With Traces

An essential technique used in emulator development is a useful addition to any programmer's toolbox.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account