John McCarthy dead at 84; creator of Lisp and namer of AI

October 24th, 2011

Computer Science pioneer John McCarthy died at his home in his sleep on Monday. He was 84. He is noted for creating the Lisp programming language, making ground-breaking contributions to Artificial Intelligence (including naming the field), adding important results to the mathematical theory of computation, and helping to develop computer time sharing. He studied mathematics under John Nash at Princeton

McCarthy held the first “computer-chess” match in the mid-1960s between scientists in the US and the USSR, transmitting the moves by telegraph. The soviet team ran on inferior hardware and used Claude Shannon’s brute-force Type-A strategy while the MIT team had an IBM 7090 implemented Shannon’s more sophisticed Type-B approach that used a heuristic plausible move generator. The Soviets won.

McCarthy was born in 1927 in Boston and taught himself higher math using Caltech textbooks when his family moved to the area, allowing him to take advanced classes when he enrolled as a teenager. He received a Ph.D. from Princeton in 1951.

He won the Turing Award from the Association for Computing Machinery in 1972 and the National Medal of Science in 1991. Over the years, he held faculty appointments at Princeton, M.I.T., Dartmouth, and Stanford University, where he spend his las 39 years.

NFC and Google’s mobile wallet

October 7th, 2011

Yesterday I made a purchase at the CVS store on Edmondson Avenue in Catonsville using Google Wallet on a Nexus S 4G phone with NFC.

NFC is near field communication, an RFID technology that allows communication and data exchange between two devices in close proximity, e.g., within a few inches.

Several current smartphones have NFC chips including the Samsung's Google-branded Nexus S 4G and more are expected to include it in the coming months and years.

The first, and perhaps most significant, use of NFC will be enabling mobile phones to serve as "virtual credit cards", especially for small amounts that don't require a signature. The range of potential applications is much greater and will no doubt evolve as mobile NFC-enabled devices become ubiquitous.

Buying something at the CVS (OK, … it was candy) this way was fun. My phone made satisfying noises as it talked to CVS's payment station and the clerk, who had not had anyone use a NFC device, was properly mystified. Using it was marginally easier than swiping a credit card, but maybe even a small amount of increased convenience is worth it for such an everyday transaction.

One limitation of Google Wallet is that it currently only works with Sprint on a Nexus S 4G and with either a Citi® MasterCard® card or a Google Prepaid Card. You can load money into the latter with most any credit card and Google will get you started by adding $10 to it as an incentive.

By the way, for what it’s worth, I only recently realized that the robots in Philip K. Dick’s novel “Do Androids Dream of Electric Sheep?” were called androids and the dangerously independent new model was the Nexus-6, developed by designed by the Tyrell Corporation.

Make mincemeat out of MapReduce with Python

October 1st, 2011 is a super-lightweight, open source Python implementation of the popular MapReduce distributed computing framework that only depend on the Python Standard Library.

Just install the single source file on a set of machines and invoke the script on them with a password (for authentication) and the IP address of the host and your workers are good to go. Then, using the same package, run simple server program that defines map, reduce and your data source.

While it’s only 350 lines of Python, the package looks great for teaching or experimenting with the MapReduce concept as well as being potentially useful if you work in Python.