Sign In

Communications of the ACM

Latest Practice



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

Breadth and Depth
From Communications of the ACM

Breadth and Depth

We all wear many hats, but make sure you have one that fits well.

Is There a Single Method for the Internet of Things?
From Communications of the ACM

Is There a Single Method for the Internet of Things?

Essence can keep software development for the IoT from becoming unwieldy.

Metaphors We Compute By
From Communications of the ACM

Metaphors We Compute By

Code is a story that explains how to solve a particular problem.

Research for Practice
From Communications of the ACM

Research for Practice: Technology for Underserved Communities; Personal Fabrication

Expert-curated guides to the best of CS research.

Four Ways to Make CS and IT More Immersive
From Communications of the ACM

Four Ways to Make CS and IT More Immersive

Why the Bell curve hasn't transformed into a hockey stick.

The Calculus of Service Availability
From Communications of the ACM

The Calculus of Service Availability

You're only as available as the sum of your dependencies.

Data Sketching
From Communications of the ACM

Data Sketching

The approximate approach is often faster and more efficient.

10 Ways to Be a Better Interviewer
From Communications of the ACM

10 Ways to Be a Better Interviewer

Plan ahead to make the interview a successful one.

Now That We Can Write <i>Simultaneously</i>, 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.

Side Effects, Front and Center
From Communications of the ACM

Side Effects, Front and Center

One system's side effect is another's meat and potatoes.

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.

Conversations with Technology Leaders: Erik Meijer
From Communications of the ACM

Conversations with Technology Leaders: Erik Meijer

Great engineers are able to maximize their mental power.

Making Money Using Math
From Communications of the ACM

Making Money Using Math

Modern applications are increasingly using probabilistic machine-learned models.

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.

Research for Practice
From Communications of the ACM

Research for Practice: Cryptocurrencies, Blockchains, and Smart Contracts; Hardware for Deep Learning

Expert-curated guides to the best of CS research.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account