Letters

Dr. Dobb's Journal March 2002

Inside eBook Security

Dear DDJ,

The conclusion of "Inside eBook Security" by Daniel V. Bailey (DDJ, November 2001) states that secrets cannot be protected on a PC. This brings up the following question: If you add the Internet to the system, can you protect secrets? For example, a music or book player could be designed to set up an SSL connection to a server, make a micropayment and receive a code to allow using the player for a period of time. Would this work? If you allowed the user to turn off the computer before the playing time expires, would you be back to the situation of not being able to protect a secret?

David Wincelberg
FileJockey@compuserve.com

Numerical Weather Forecasting

Dear DDJ,

Thanks to Jonathan Erickson for writing his "Editorial" (DDJ, January 2002) about the Numerical Weather Forecasting Project at IAS. The IAS Report of the Director, 1948-1953, had a members list that included Albert Einstein and Chen Ning Yang, who later became a Nobel Laureate. Jules Charney was Staff Meteorologist, with George Cressman and F.G. Shulman both from the Weather Bureau among visiting meteorologists. The meteorology group had four "coders" who had to transform the equations into codes without the benefit of assemblers, let alone compilers. Ingenuity was necessary for calls to relocatable procedures without a return stack. Among the coders was James Cooley who later published the FFT algorithm in about 1960 with Professor Tucky of Princeton. The little-known 78-page paper "Numerical Inverting of Matrices of High Order" by von Neumann and Goldstine appeared in the November 1947 Bulletin of American Mathematical Society and dealt with accuracy and convergence stability.

Among the permanent members was Julian Bigelow, von Neumann's first chief engineer. His contribution to the physical design of the computer was indeed revolutionary engineering. The computer used about 2000 tubes in the ALU while the earlier ENIAC used 10 times more. The IAS computer had an analog adder to save tubes, ever a source of dissatisfaction because of slow speed. The Computer Project was the first to institute a parts reliability program with detailed tolerance analysis. Bigelow's engineering discipline influenced me greatly in my later projects. I wish you'd write something about his work also. He was recommended to von Neumann by Norbert Wiener, who spoke fluent Chinese.

Sy Wong
sywong@hermix.markv.com

FrontPage EULA

Dear DDJ,

Regarding Jonathan Erickson's December 2001 "Editorial" that was critical of Microsoft's Frontpage end-user license agreement: The base EULA customers agree to when they click "Accept" on install does not have the limits Jonathan describes. There is, however, a supplemental EULA if customers want to use the optional web components that pull Microsoft-created content from the Web free of charge. Those components include trademarks and logos of Microsoft and our partners, and that supplemental EULA does contain language that asks users not to use those half dozen or so optional web components if their site promotes racism, hatred, pornography, or disparages Microsoft.

Dan Leach
Microsoft Corporate Public Relations
danleach@microsoft.com

Priority Queues

Dear DDJ,

I enjoyed Frank Fabian's article "Balancing Network Load with Priority Queues" (DDJ, December 2001). In particular, I enjoyed his use of statistical analysis to define requirements for system loads. This type of analysis is more and more relevant to mainstream application development as we move to centralized networked applications. However, there was one significant omission in this article.

Frank did not discuss an important alternate implementation of the priority queue data structure. While the "set of sets" approach he described works well for real-time problem domains, it suffers from inflexibility. As the author notes, it is necessary to define a discrete number of priority levels that map to the individual queues in the queue set. The number of queues and the criteria for membership in a queue will probably be hard coded when using this approach. This inflexibility could result in problems if the requirements for assigning priorities change.

The heap data structure is another time-honored way to implement a priority queue that does not suffer from this inflexibility. The priority calculation for members in a heap can be defined by any algorithm that can be used in a comparison operator. The major drawback of a heap when compared to the set of sets approach is that insertions to a heap are more expensive; however, they can still be done in log(N) time, so this doesn't prevent a heap-based queue from scaling. Removing the high-priority element is still a constant time operation, just like the queue set approach. Best of all, heaps are supported in C++ by the STL library.

The heap data structure is a powerful tool that delivers a unique set of strengths. As such, it shouldn't be overlooked by programmers in search of performance and scalability.

Paul Keister
keister@dnai.com

Audio Watermarking Versus Compression

Dear DDJ,

I enjoyed the article "Audio Watermarking," by Michael Arnold (DDJ, November 2001), but there is an issue that puzzles me about this and all conceivable schemes: If psychoacoustic models are used to hide data in inaudible ways, and the file is later compressed using psychoacoustic methods to remove inaudible portions of the file, then doesn't this just come down to a battle of psychoacoustic models? Either a watermark is audible, or the compression is not removing all inaudible data...we can't have it both ways! Michael's method apparently passes through MP3 coding intact, then I assume that a more aggressive coder could eliminate the watermark.

About the only resolution to this that I can see for protecting audio intellectual property is if the watermark is understood to only protect down to a certain audio quality level, below which the watermark is removed but the audio is substantially degraded. The problem with that, of course, is that such a threshold needs to be high to be accepted by audiophiles, but needs to be low to protect against theft by the less critical (who are probably responsible for the bulk of the infringements in the first place). I'm not optimistic.

Robert Masta
tech@daqarta.com

DDJ