On Mon, Aug 30, 2004 at 09:15:19AM -0400, Shawn McMahon wrote: > I think that humiliating Marco Paganini because some smacktard hit you > with his hammer is akin to berating Alfred Nobel because somebody threw > a stick of dynamite in your window. Software designers, like other professionals, have a responsibility to not be careless and stupid. Dynamite was designed to blow things up. ASK was ostensibly designed to combat spam, and yet ended up generating it because it doesn't even bother to see if it's auto-replying to the very messages it generated. Your analogy is thus inapposite. This is not a subtle point. The concept of positive feedback in control systems has been known for generations. IP has the "hop count" and MTAs perform loop detection (A .forwards to B, B .forwards back to A). Furthermore, there are case studies of what happens when one fails to approach this particular sort of problem from a careful and intelligent perspective. From Jargon File (4.4.4, 14 Aug 2003) [jargon]: ARMM n. [acronym, `Automated Retroactive Minimal Moderation'] A Usenet {cancelbot} created by Dick Depew of Munroe Falls, Ohio. ARMM was intended to automatically cancel posts from anonymous-posting sites. Unfortunately, the robot's recognizer for anonymous postings triggered on its own automatically-generated control messages! Transformed by this stroke of programming ineptitude into a monster of Frankensteinian proportions, it broke loose on the night of March 30, 1993 and proceeded to {spam} news.admin.policy with a recursive explosion of over 200 messages. ARMM's bug produced a recursive {cascade} of messages each of which mechanically added text to the ID and Subject and some other headers of its parent. This produced a flood of messages in which each header took up several screens and each message ID and subject line got longer and longer and longer. Reactions varied from amusement to outrage. The pathological messages crashed at least one mail system, and upset people paying line charges for their Usenet feeds. One poster described the ARMM debacle as "instant Usenet history" (also establishing the term {despew}), and it has since been widely cited as a cautionary example of the havoc the combination of good intentions and incompetence can wreak on a network. The Usenet thread on the subject is archived here. Compare {Great Worm}; {sorcerer's apprentice mode}. See also {software laser}, {network meltdown}. There's no excuse for this sort of idiocy. I'm not a genius programmer and yet it is intuitively obvious to me that any event-triggered mechanism that allocates or consumes resources needs to not mistake its own output for events. If even the dumb old Overfiend can figure this out, what defense does Marco Paganini have? -- G. Branden Robinson | Our ignorance is God; what we Debian GNU/Linux | know is science. branden@debian.org | -- Robert Green Ingersoll http://people.debian.org/~branden/ |
Attachment:
signature.asc
Description: Digital signature