CACM logo

December 2011 (Vol. 54, No. 12)

Table of Contents

Computing for Humans

Leibniz conceived of a universal mathematical language in which all human knowledge can be expressed, and calculational rules carried out by machines to derive all logical relationships. His definition of computing captures …

Page 5

DEPARTMENT: Letters to the Editor

To Boost Presentation Quality, Ask Questions

Moshe Y. Vardi's "Are You Talking to Me?" (Sept. 2011) said conference attendees are sometimes unable to follow speakers' presentations and eventually give up trying. How about an experimental conference where session chairs …

Page 7

DEPARTMENT: BLOG@CACM

Conferences and Video Lectures; Scientific Educational Games

John Langford analyzes whether conferences should offer video lectures. Judy Robertson discusses the merits of the Game Design Through Mentoring and Collaboration project.

Pages 8-9

Nominees for Elections and Report of the ACM Nominating Committee

In accordance with the Constitution and Bylaws of the ACM, the Nominating Committee hereby submits the following slate of nominees for ACM's officers.

Page 10

COLUMN: News

The Rise of Molecular Machines

The field of molecular computing is achieving new levels of control over biochemical processes and fostering sophisticated connections between computer science and the biological sciences.

Pages 11-13

Brave NUI World

Natural user interface developments, such as Microsoft's Kinect, may indicate the beginning of the end for the mouse.

Pages 14-16

Activism Vs. Slacktivism

Today's activists are highly plugged into social media, mobile apps, and other digital tools. But does this make a difference where it matters most?

Pages 17-19

CSEdWeek Takes Hold

Groups in more than 130 countries will participate in Computer Science Education Week this year.

Page 20

Dennis Ritchie, 1941–2011

 Colleagues recall the creator of C and codeveloper Unix, an unassuming but brilliant man who enjoyed playing practical jokes on his coworkers.

Page 21

The Most Ancient Marketing

Before Apple, Steve Jobs famously went to India with a college friend. While I never had occasion to talk to Jobs about it, I have a theory I wish I had a chance to try out on him. The theory is that Jobs saw gurus in India …

Pages 22-23

Life, Death, and the iPad: Cultural Symbols and Steve Jobs

In the days that followed Steve Jobs' death, he was frequently compared to Henry Ford and Thomas Edison. But Jobs was creating experiences, not technologies or products. He, and Apple, were creating a new symbolic register …

Pages 24-25

COLUMN: Technology strategy and management

The Legacy of Steve Jobs

Reflecting on the career and contributions of the Apple cofounder.

Pages 26-28

COLUMN: Emerging markets

On Turbocharged, Heat-Seeking, Robotic Fishing Poles

There is a well-known proverb, "If you give someone a fish, they'll eat for a day; if you teach them how to fish, they'll eat for a lifetime." The point is obvious. It also packs insights that are relevant for the technologist …

Pages 29-31

COLUMN: Kode Vicious

Debugging on Live Systems

It is more of a social than a technical problem.

Pages 32-33

COLUMN: Broadening participation

Data Trends on Minorities and People with Disabilities in Computing

Seeking a comprehensive view of minority student demographics to determine what programs and policies are needed to promote diversity.

Pages 34-37

COLUMN: The profession of IT

The Grounding Practice

The skill of making and recognizing grounded claims is essential for professional practice. Getting objective data to support your conclusions is not enough.

Pages 38-40

COLUMN: Viewpoint

Doctoral Program Rankings for U.S. Computing Programs: The National Research Council Strikes Out

A proposal for improving doctoral program ranking strategy.

Pages 41-43

SECTION: Practice

Postmortem Debugging in Dynamic Environments

Many modern dynamic languages lack tools for understanding complex failures.

Pages 44-51

How Will Astronomy Archives Survive the Data Tsunami?

Astronomers are collecting more data than ever. What practices can keep them ahead of the flood?

Pages 52-56

Coding Guidelines: Finding the Art in the Science

Computer science is both a science and an art. Yet, when it comes time for implementation, there is a combination of artistic flare, nuanced style, and technical prowess that separates good code from great code.

Pages 57-63

SECTION: Contributed articles

Visual Crowd Surveillance Through a Hydrodynamics Lens

People in high-density crowds appear to move with the flow of the crowd, like particles in a liquid.

Pages 64-73

License Risks from Ad Hoc Reuse of Code from the Internet

Software developers' reuse of code from the Internet bears legal and economic risks for their employers.

Pages 74-81

Formal Analysis of MPI-based Parallel Programs

The goal is reliable parallel simulations, helping scientists understand nature, from how foams compress to how ribosomes construct proteins.

Pages 82-91

SECTION: Review articles

Answer Set Programming at a Glance

The motivation and key concepts behind answer set programming — a promising approach to declarative problem solving.

Pages 92-103

SECTION: Research highlights

Technical Perspective: Safety First!

Software misbehaves all too often. This is a truism, but also the driving force behind many computing techniques intended to increase software reliability, safety, and security, ranging from basic testing to full formal verification …

Page 122

Safe to the Last Instruction: Automated Verification of a Type-Safe Operating System

High-level computer applications build on services provided by lower-level software layers. Unfortunately, today's low-level software still suffers from a steady stream of bugs, often leaving computers vulnerable to attack …

Pages 123-131

Technical Perspective: Anonymity Is Not Privacy

We live in an era of data abundance. Every aspect of our online and offline behavior is captured and analyzed. The companies holding our data face the responsibility for protecting our privacy, especially as they sell and exchange …

Page 132

Wherefore Art Thou R3579X?: Anonymized Social Networks, Hidden Patterns, and Structural Steganography

In a social network, nodes correspond to people or other social entities, and edges correspond to social links between them. We describe a family of attacks such that it is possible to learn whether edges exist or not between …

Pages 133-141

COLUMN: Last byte

Puzzled: Solutions and Sources

Last month (Nov. 2011, p. 120) we posted a trio of brainteasers, including one as yet famously unsolved, concerning distances between points on the plane. Here, we offer solutions to two of them. How did you do?

Page 142

Q&A: Scaling Up

M. Frans Kaashoek talks about multicore computing, security, and operating system design.

Pages 144-ff

About Communications | Join ACM External Link | Renew External Link | Subscribe External Link | Sign In | For Authors | For Advertisers External Link | Privacy | Site Map | Help | Contact Us | Mobile Site

Copyright © 2012 by the ACM. All rights reserved.