Reading list Spring 2010
Friday, April 16th, 2010
I have read the first three issues of Communications of ACM of year 2010: January, February, and March. Overall, I have noticed that CACM is aiming at a broader scope, not only CS-topics but also biology and physics. Therefore, nowadays it is more like Science magazine or Nature. But of course in every article there is a computational aspect that connects computer science with another area of knowledge. I found out that cross-disciplinary articles are more engaging than purely technical articles. The nature has lots of secrets that computer science helps reveal.
Jan 2010
Rebuilding for Eternity. Bundler – open source version of Photosynth.
Automated translation of Indian Languages
New Search Challenges and Opportunities
Data in Flight. Implementation of StreamSQL. Stanford streams, MIT Aurora, SQL Stream.
Other people’s data – XIgnite
Last but not least – two articles that discuss Google’s parallel engine – Map-Reduce. I have noticed that CACM contains lots of articles dedicated to Google’s technology, for example there is an article discussing the evolution of Google file system in one of the following issues. At the same time there are no articles from other software giants, for example Microsoft, Apple, or IBM. This is not because those companies do not innovate. Everybody knows that programmers went nuts writing iPhone apps. The reason of Google domination is I believe that amount of sponsor money that it gives to ACM. It is fine, Google has created lots of innovative frameworks but other companies deserve attention as well.
Map Reduce and Parallel DBMSs: Friends or Foes?
MapReduce: A Flexible Data Processing Tool
Feb 2010
The best issue I have ever read! To start with, its cover story is dedicated to new model of computation, quantum algorithms. This topic is not new. When I was an undergraduate student in Russia in late 1990s there was lots of buzz of how quantum algorithms can change the cryptography. With its strong mathematical tradition, Russians were trying to explain quantum algorithms from the number theory point of view. To me it was totally incomprehensible. Or I should say that my mind was more inclined toward an algorithmic perspective of quantum computers. In this article CACM does a great job on explaining the notion of quantum algorithm at the level that was most appropriate to me as a software engineer. It briefly mentions computational complexity challenges and explains how quantum algorithms might help tackle those.
Recent progress in Quantum algorithms
Type Theory comes to age. Aura, Jif for security. Philip Walder
An interview with Michael Rabin
A few billion lines of code later.
Another great article in the same issue! When I was a student (again) but this time in a graduate school in the United States I was lucky to witness the emergence of a new technology – practical bug detection using static analysis. But I will start with a brief introduction on how industrial research is transformed into a widely adopted mature technology.
In my life so far I saw two such events. More experienced people might name a few other cases but here is what I can say. In late 1990s computer graphics has advanced rapidly because of increased processing power. Researchers began experiments with massive amounts of data or images. This is how light field mapping technology was developed simultaneously at several universities as well as at Microsoft and Intel. Its idea is to build a 3D model of an object from a number of images taken with an inexpensive camera. I was lucky to participate in the development of this technology as an undergraduate intern at Intel-Nizhny Novgorod in 2001-2002. However, it was only a research project which was soon abandoned. However, in year 2010 there is a commercialized version of this technology Photosynth that Microsoft has created.
When I joined graduate school in Stony Brook in 2002 application security was a hot research area. Everybody was thinking how to protect the programs against viruses. This is why we have created DIRA – a dynamic protection tool that instrumented programs with additional instructions that made it resilient against buffer overflow attacks. But again, the project was soon abandoned. However, Dawson Engler was able to transform the technology landscape with his static bug finder. In this article he describes his experiences with making commercial tool from a research project.
Software Model Checking takes off
Assessing the Changing US IT R&D Ecosystem
March 2010
Chasing the AIDS virus
Cover story is another must-read article! It explains the mechanics of AIDS virus. I never thought that it can transform itself to avoid the medicine it is exposed to.
Making decisions based on the Preferences of Multiple Agents
This article describes various algorithms of voting with applications to social networks. Very comprehensive discussion.
Engineering the web’s third decade
Orchestrating coordination in pluralistic networks
GFS: Evolution on fast-forward
Global IT management: structuring for scale, responsiveness, and innovation


