Sign In

Communications of the ACM

Practice


Latest Practice


A Decade of Progress in Parallel Programming Productivity
From Communications of the ACM

A Decade of Progress in Parallel Programming Productivity

Looking at the design and benefits of X10.

JavaScript and the Netflix User Interface
From Communications of the ACM

JavaScript and the Netflix User Interface

Conditional dependency resolution.

Evolution of the Product Manager
From Communications of the ACM

Evolution of the Product Manager

Better education needed to develop the discipline.

Certificate Transparency
From Communications of the ACM

Certificate Transparency

Public, verifiable, append-only logs.

Security Collapse in the HTTPS Market
From Communications of the ACM

Security Collapse in the HTTPS Market

Assessing legal and technical solutions to secure HTTPS.

Why Is It Taking So Long to Secure Internet Routing?
From Communications of the ACM

Why Is It Taking So Long to Secure Internet Routing?

Routing security incidents can still slip past deployed security defenses.

Privacy, Anonymity, and Big Data in the Social Sciences
From Communications of the ACM

Privacy, Anonymity, and Big Data in the Social Sciences

Quality social science research and the privacy of human subjects require trust.

The Network is Reliable
From Communications of the ACM

The Network is Reliable

An informal survey of real-world communications failures.

Securing the Tangled Web
From Communications of the ACM

Securing the Tangled Web

Preventing script injection vulnerabilities through software design.

Bringing Arbitrary Compute to Authoritative Data
From Communications of the ACM

Bringing Arbitrary Compute to Authoritative Data

Many disparate use cases can be satisfied with a single storage system.

Quality Software Costs Money – Heartbleed Was Free
From Communications of the ACM

Quality Software Costs Money – Heartbleed Was Free

How to generate funding for free and open source software.

Undergraduate Software Engineering
From Communications of the ACM

Undergraduate Software Engineering

Addressing the needs of professional software development.

Who Must You Trust?
From Communications of the ACM

Who Must You Trust?

You must have some trust if you want to get anything done.

Automated QA Testing at Electronic Arts
From Communications of the ACM

Automated QA Testing at Electronic Arts

A discussion with Michael Donat, Jafar Husain, and Terry Coatta

Finding More Than One Worm in the Apple
From Communications of the ACM

Finding More Than One Worm in the Apple

If you see something, say something.

Domain-Specific Languages and Code Synthesis Using Haskell
From Communications of the ACM

Domain-Specific Languages and Code Synthesis Using Haskell

Looking at embedded DSLs.

The Curse of the Excluded Middle
From Communications of the ACM

The Curse of the Excluded Middle

"Mostly functional" programming does not work.

Design Exploration Through Code-Generating DSLs
From Communications of the ACM

Design Exploration Through Code-Generating DSLs

High-level DSLs for low-level programming.

The NSA and Snowden
From Communications of the ACM

The NSA and Snowden: Securing the All-Seeing Eye

How good security at the NSA could have stopped him.

A Primer on Provenance
From Communications of the ACM

A Primer on Provenance

Better understanding data requires tracking its history and context.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account