acm-header
Sign In

Communications of the ACM

Latest Practice



Bitcoin's Academic Pedigree
From Communications of the ACM

Bitcoin's Academic Pedigree

The concept of cryptocurrencies is built from forgotten ideas in research literature.

XML and JSON Are Like Cardboard
From Communications of the ACM

XML and JSON Are Like Cardboard

Cardboard surrounds and protects stuff as it crosses boundaries.

Research For Practice
From Communications of the ACM

Research For Practice: Vigorous Public Debates in Academic Computer Science

Expert-curated guides to the best of CS research.

Hootsuite
From Communications of the ACM

Hootsuite: In Pursuit of Reactive Systems

A discussion with Edward Steel, Yanik Berube, Jonas Bonér, Ken Britton, and Terry Coatta

Research For Practice: Technology For Underserved Communities; Personal Fabrication
From Communications of the ACM

Research For Practice: Technology For Underserved Communities; Personal Fabrication

Expert-curated guides to the best of CS research.

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.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account