As the sophistication of wiretapping technology grows, so too do the risks it poses to our privacy and security.Whitfield Diffie, Susan Landau From Communications of the ACM | November 2009
Stanford professor Pat Hanrahan sits down with the noted hedge fund founder, computational biochemist, and (above all) computer scientist.CACM Staff From Communications of the ACM | October 2009
GPU acceleration and other computer performance increases will offer critical benefits to biomedical science.James C. Phillips, John E. Stone From Communications of the ACM | October 2009
All revision-control systems come with complicated sets of trade-offs. How do you find the best match between tool and team?Bryan O'Sullivan From Communications of the ACM | September 2009
MonALISA developers describe how it works, the key design principles behind it, and the biggest technical challenges in building it.
Iosif Legrand, Ramiro Voicu, Catalin Cirstoiu, Costin Grigoras, Latchezar Betev, Alexandru Costan From Communications of the ACM | September 2009
The age of cloud computing has begun. How can companies take advantage of the new opportunities it provides?
Mache Creeger From Communications of the ACM | August 2009
To shield the browser from attacks, Google Chrome developers eyed three key problems.Charles Reis, Adam Barth, Carlos Pizano From Communications of the ACM | August 2009
The laws of physics and the Internet's routing infrastructure affect performance in a big way.Jonathan M. Smith From Communications of the ACM | July 2009
The pervasive and long-lasting sockets API has remained largely unchanged since 1982. How have developers worked around its inherent limitations and what is the...George V. Neville-Neil From Communications of the ACM | June 2009
The history of NFE processors sheds light on the trade-offs involved in designing network stack software.Mike O'Dell From Communications of the ACM | June 2009
New drive technologies and increased capacities create new categories of failure modes that will influence system designs.
Jon Elerath From Communications of the ACM | June 2009
It is very easy to create a bad API and rather difficult to create a good one. Recent APIs implemented in modern programming languages make the same mistakes as...Michi Henning From Communications of the ACM | May 2009
Users with no security training download Web browsers from the Internet without precaution, and demand that they be fast and easy to use. What can be done to make ...Thomas Wadlow, Vlad Gorelik From Communications of the ACM | May 2009
Web-based malware attacks are more insidious than ever. What can be done to stem the tide?Niels Provos, Moheeb Abu Rajab, Panayiotis Mavrommatis From Communications of the ACM | April 2009
Designed for concurrency from the ground up, the Erlang language can be a valuable tool to help solve concurrent problems.Jim Larson From Communications of the ACM | March 2009