Dr. Dobb's Journal December 2001
The Fourth Annual ICFP Programming Contest, held in conjunction with the International Conference on Functional Programming, ended with top honors going to Chung-chieh Shan and Dylan Thurston for their Haskell code. First prize consisted of $1000, free admission to the conference, and bragging rights: "The judges hereby proclaim that Haskell is the programming tool of choice for discriminating hackers." Second prize went to a team of Dylan language developers, while the Judges' Special Prize went to a team of Erlang programmers.
Contestants were given 72 hours to write a program designed to optimize the Simple Markup Language/New Generation (SML/NG). According to contest rules, "Your program will be given a correct SML/NG document on its standard input, and it must output (on stdout) an equivalent document that is as small as possible."
Chung-chieh and Thurston spent half of their allotted time just thinking about the algorithm. "The first and most fundamental insight is that the relationship between SML/NG documents and their meanings is precisely the relationship between strings and parse trees in a certain context-free grammar," they said. Consequently, they treated their optimizer as a parser. For more information on the contest, see http://cristal.inria.fr/ICFP2001/prog-contest/. For winning entry details, see http://www.digitas.harvard.edu/~ken/icfp2001/d2-a4.pdf.
A "lost" audio recording of conversations between mission controllers and astronauts made during the 1969 Apollo moon landing has recently been rediscovered. The tape was found languishing in the audio library of the Johnson Space Center simply labeled as a "bad tape." The tape initially could not be played because it was falling from the spool and beginning to disintegrate.
Flight director Gene Kranz can be heard on the tape, along with astronauts Neil Armstrong and Buzz Aldrin. The tape also records the "T1 Stay/No Stay" decision made by the flight controllers; it was not decided until after landing whether the Apollo 11 would remain on the moon's surface, or depart after only one minute. Mission controllers can be heard saying "Stay!" at the designated time.
The search for the tape was reportedly organized by Kipp Teague, who maintains an archive of Apollo-related material (including a digital version of the newly rediscovered tape) at http://www.retroweb.com/apollo.html.
The World Wide Web Consortium has published a Patent Policy Framework Working Draft (http://www.w3.org/TR/ patent-policy/) that proposes a licensing policy for the implementation of W3C recommendations. The group states "that software patents exist (and patent issues have become more prevalent with the growth of the Web), and ignoring them will do more harm than good."
Under the proposed framework, web standards could be licensed under a reasonable and nondiscriminatory (RAND) basis, meaning that patent holders would not be permitted to vary the fees paid by different licensees, or the conditions imposed upon licenses. Royalty-free standards would still be possible; indeed, the RAND license is partly intended to force W3C working group participants to disclose relevant patents early on, thereby hopefully preventing "submarine" patents. As you might expect, large corporations with large patent portfolios seem to be behind the push, seeing it as a way of both generating new revenue streams and influencing standards.
Still, the proposed RAND patent policy has generated intense dismay among free and open-source software advocates. "'Reasonable and nondiscriminatory' licensing of patented technology embodied in W3C standards will eliminate free software production from any area of web facilities subject to those standards" commented Eben Moglen on behalf of the Free Software Foundation. The W3C's response to public commentary can be found at http://www.w3.org/2001/10/patent-response.html.
After the review and comment period, the Patent Policy Working Group will revise the policy recommendation and present it for Advisory Committee Review. The document is scheduled to become a Proposed Recommendation in December 2001, with a final policy expected in February 2002.
On September 9, 2001, at 01:46:40 Coordinated Universal Time, UNIX clocks rolled over to 1 billion seconds. The billennium was celebrated with a virtual party on the Open Projects Net IRC, where celebrants cheered and tossed ASCII art as the historic second arrived.
A few bugs were reported in the wake of the rollover. CVSup, the FreeBSD file-distribution system for CVS repositories, gave all newly updated files incorrect timestamps. OpenLDAP servers began failing to push updates from the master server to the slaves, causing incoming mail to bounce and new accounts to be refused. Folders in older versions of KMail became corrupted. Patches were quickly issued for these bugs and similar ones in other programs.
Researchers at Purdue University have linked two quantum dots together and control the number of electrons in each dot. After ensuring that each dot contained only one electron in the outermost layer, the researchers also detected the spin of each dot through an analysis of the flow of electricity. Since in quantum computing spin is used to store binary information, a method for detecting the individual spin of linked dots is important.
Other quantum computing devices have been built on top of fluorine-based molecules, but the Purdue team placed its dots on a gallium arsenide semiconductor. The team was able to use electron beam lithography to create circuits with features only 50 nanometers wide. For more information, see http://news.uns.purdue.edu/UNS/html4ever/010917.Chang.quantum.html.
The Programmer's Guild, an organization for computer programmers, is establishing formal charter memberships in the organization. Membership is open to professional programmers who are citizens or permanent residents of the United States and Canada. Annual dues are $35.00 a year. The goals of the organization include serving as a public advocate for the programming profession, promoting fair and ethical practices regarding software use and development, improving standards, and promoting equal opportunity in the programming profession. For more information, see http://www.programmersguild.com/.