acm-header
Sign In

Communications of the ACM

Latest Practice



Now That We Can Write Simultaneously, How Do We Use That to Our Advantage?
From Communications of the ACM

Now That We Can Write Simultaneously, How Do We Use That to Our Advantage?

Word processors now make it possible for many authors to work on the same document concurrently. But what can they actually do?

Small-Data Computing
From Communications of the ACM

Small-Data Computing: Correct Calculator Arithmetic

Rounding errors are usually avoidable, and sometimes we can afford to avoid them.

Research For Practice
From Communications of the ACM

Research For Practice: Tracing and Debugging Distributed Systems; Programming By Examples

Expert-curated guides to the best of CS research.

The IDAR Graph
From Communications of the ACM

The IDAR Graph

An improvement over UML.

The Debugging Mind-Set
From Communications of the ACM

The Debugging Mind-Set

Understanding the psychology of learning strategies leads to effective problem-solving skills.

Too Big Not to Fail
From Communications of the ACM

Too Big Not to Fail

Embrace failure so it does not embrace you.

MongoDB's Javascript Fuzzer
From Communications of the ACM

MongoDB's Javascript Fuzzer

The fuzzer is for those edge cases that your testing did not catch.

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.

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.

Introducing Research For Practice
From Communications of the ACM

Introducing Research For Practice

Expert-curated guides to the best of CS research.

10 Optimizations on Linear Search
From Communications of the ACM

10 Optimizations on Linear Search

The operations side of the story.

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 Flame Graph
From Communications of the ACM

The Flame Graph

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

More Encryption Means Less Privacy
From Communications of the ACM

More Encryption Means Less Privacy

Retaining electronic privacy requires more political engagement.

Schema.org
From Communications of the ACM

Schema.org: Evolution of Structured Data on the Web

Big data makes common schemas even more necessary.

Accountability in Algorithmic Decision Making
From Communications of the ACM

Accountability in Algorithmic Decision Making

A view from computational journalism.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account