Letters

Dr. Dobb's Journal August, 2005


Vintage or Quirky?

Dear DDJ,

When I was a social scientist at Princeton in the '80s, I befriended a newly immigrated Russian who referred to his trade as "mathematics." Jonathan Erickson's June 2005 "Editorial" brought back some incredible skills possessed by this man. Recall that this was just before the fall of the Soviet Union. As part of his job at a Soviet university, he had to build microcomputers. The only microprocessors he could get were stolen or smuggled from the U.S. Here's where it gets interesting: Most of the microprocessors were from Intel; most were rejects; and most came with a list of unimplemented or incorrectly implemented instructions! You know, 2+2=7. This guy had to build computers around processors with known defects! And since each had a different list of defects, each computer had to be designed anew, cleverly working around the defects. Oh, one more thing: This guy could effortlessly multiply and divide in hexadecimal—in his head! There were few calculators in his department, and none did hex. I've since hired about a dozen programmers, but I've never, ever seen skills like those again. Keep up the good work!

David L. Ransen

dransen@broadcastsoft.com

Dear DDJ,

I recently read and enjoyed Jonathan Erickson's June 2005 "Editorial" and add this site on CPU History to his list: http://www.sasktelwebsite.net/jbayko/cpu.html. Actually, a column or series could emerge from a discussion of processor characteristics. I recall a BYTE magazine article on what certain processors did wrong. Perhaps a "What ever happened to the XXX processor?" article might prove interesting.

Wil Blake

wblake@emsys.net

Dear DDJ,

I was glad to see Jonathan Erickson's "Editorial" on vintage data catalogs in the June 2005 issue of DDJ. The day before I read it, I was cleaning out some boxes from a recent move and found a 1976 Intel Data Catalog that I was going to throw away. Now I think I'll try to sell it...

Stuart Ball

sball85964@aol.com

Jonathan responds: Thanks for your note, Stuart. I'm always happy to contribute to someone else's clutter.

Programming Language Popularity

Dear DDJ,

Rereading Jonathan Erickson's February 2005 "Editorial" in which he mentions programming language popularity and the TIOBE Programming Community Index (http://www.tiobe.com/), a much more useful statistic would be the rankings of how many currently commercially available programs are written in which languages. A person looking to improve his programming skills would be ill-advised to choose x-language just because it has a high ranking, if it has no commercial program sellers. Nobody is going to pay you to write a program in some language that has all its applications, which are "free programs." I would find it hard to believe that there are more currently commercially available programs in C than in C++, especially, since it is very difficult to write a Windows program in C, and very easy to write a Windows program in C++ using MFC. In fact, a really interesting statistic would be how many programs are available using MFC and how many are not.

Phil Daley

p_daley@conknet.com

TIOBE's Paul Jansen responds: Thanks for your TPC Index feedback, Phil. The index is not about job opportunities; there are other sites publishing such statistics. We only say that you can use our index to see whether your programming skills are still up-to-date (both commercially and noncommercially). Questions such as how many currently commercially available programs are written in a particular language are much more interesting than our index, but in my opinion, impossible to accomplish.

Networking In the Fast Lane

Dear DDJ,

The "The Google Revolution" column by Jerry Pournelle (DDJ, February 2005) discussed his recent troubleshooting and upgrade of his network, following the outage of one of his network switches. In it he laments the marginal performance enhancement of installing gigabit Ethernet on his older systems.

The PCI bus comes in different widths, depending on the quality and price of the motherboard. Server boards routinely come with 64-bit PCI bus slots at varying speeds, and these slots are the only width capable of providing enough bandwidth to allow an add-in PCI gigabit card with true gigabit speeds. But there are other limits besides just the PCI bus. Purchasing a bargain basement gigabit switch is definitely not the way to go in testing the theoretical maximum of your network, as this could be the "real" bottleneck. Some switches and cards don't handle port speed autonegotiation properly, and the gigabit interfaces will think they can only run at 10 or 100 Mbit. There is a real difference between a $75 gigE switch and a $1250 gigE switch.

Jerry also mentions the idea of waiting for motherboards with gigabit Ethernet onboard. Again, there is no guarantee that just because a manufacturer put a gigE port on the board, they've provided sufficient bus bandwidth to run that port at full speed. Some other culprits can be shared IRQs, cheap chipsets, or bad driver/OS support.

If you wired your LAN in the days before CAT5e/CAT6, you have no way of guaranteeing that the wire in your wall is capable of the enhanced speeds of gigE. The only true way to benchmark is with benchmark applications like Netperf, and using nothing but a CAT5e/CAT6 crossover cable between two machines with high quality, 64-bit add-in PCI cards in a 64-bit PCI slot. Some simple math shows that a 32-bit PCI bus is overwhelmed by the amount of data generated at true gigabit speeds, and your maximum will depend on how the PCI bus reacts to being flooded with more data than it can pass reliably. This explains the wild variation Jerry describes.

I won't go into details about why desktop-quality Windows is not a good platform to use for benchmarking the cards. Booting a Knoppix CD would provide a more reliable testing platform.

David Backeberg

Network Staff Assistant, MIT Math Dept.

dave@math.mit.edu

Jerry responds: Thanks for your letter, David. Since most of the readership probably uses desktop Windows systems, that's the platform I tested things with. People who have professional-grade servers with 64-bit PCI bus slots will clearly get different results from those of us who tend to make do with old desktops as servers. Alas, most readers don't have the IT budget that the MIT Math Department has. I have never for a moment supposed that there is no difference between a $1250 Ethernet switch and a $75 one, nor have I supposed that people who buy $1250 Ethernet switches should seek my advice on the purchases. I think I did state that we are using Cat5 cable.

DDJ