for (;P("\n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);

Status
Not open for further replies.

n6ect

Member
Joined
Dec 19, 2017
Messages
16
for (;P("\n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);

Date: Fri, 14 Nov 1997 10:18:26 -0800
From: curtis < xxx~@~xxx>
To: axp-list@redhat.com
Subject: Re: FW: Virus ALERT

In an announcement that has stunned the computer industry, Ken Thompson, Dennis Ritchie and Brian Kernighan admitted that the Unix operating system and C programming language created by them is an elaborate prank kept alive for over 20 years. Speaking at the recent UnixWorld Software Development Forum, Thompson revealed the following:

"In 1969, AT&T had just terminated their work with the GE/Honeywell/AT&T Multics project. Brian and I had started work with an early release of Pascal from Professor Niklaus Wirth's ETH labs in Switzerland and we were impressed with its elegant simplicity and power. Dennis had just finished reading 'Bored of the Rings', a National Lampoon parody of the Tolkien's 'Lord of the Rings' trilogy. As a lark, we decided to do parodies of the Multics environment and Pascal. Dennis and I were responsible for the operating environment. We looked at Multics and designed the new OS to be as complex and cryptic as possible to maximize casual users' frustration levels, calling it Unix as a parody of Multics, as well as other more risque allusions. We sold the terse command language to novitiates by telling them that it saved them typing.

Then Dennis and Brian worked on a warped version of Pascal, called 'A'. 'A' looked a lot like Pascal, but elevated the notion of the direct memory address (which Wirth had banished) to the central concept of the language. This was Dennis's contribution, and he in fact coined the term"pointer" as an innocuous sounding name for a truly malevolent construct.

Brian must be credited with the idea of having absolutely no standard I/O specification: this ensured that at least 50% of the typical commercial program would have to be re-coded when changing hardware platforms. Brian was also responsible for pitching this lack of I/O as a feature: it allowed us to describe the language as "truly portable".

When we found others were actually creating real programs with A, we removed compulsory type-checking on function arguments. Later, we added a notion we called "casting": this allowed the programmer to treat an integer as though it were a 50kb user-defined structure. When we found that some programmers were simply not using pointers, we eliminated the ability to pass structures to functions, enforcing their use in even the Simplest applications. We sold this, and many other features, as enhancements to the efficiency of the language. In this way, our prank evolved into B, BCPL, and finally C. We stopped when we got a clean compile on the following syntax:

for (;P("\n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);

At one time, we joked about selling this to the Soviets to set their computer science progress back 20 or more years.

Unfortunately, AT&T and other US corporations actually began using Unix and C. We decided we'd better keep mum, assuming it was just a passing phase. In fact, it's taken US companies over 20 years to develop enough expertise to generate useful applications using this 1960's technological parody. We are impressed with the tenacity of the general Unix and C programmer. In fact, Brian, Dennis and I have never ourselves attempted to write a commercial application in this environment.

We feel really guilty about the chaos, confusion and truly awesome programming projects that have resulted from our silly prank so long ago."

Dennis Ritchie said: "What really tore it (just when ADA was catching on), was that Bjarne Stroustrup caught onto our joke. He extended it to further parody, Smalltalk. Like us, he was caught by surprise when Nobody laughed. So he added multiple inheritance, virtual base classes, and later ... templates. All to no avail. So we now have compilers that can compile 100,000 lines per second, but need to process header files for 25 minutes before they get to the meat of "Hello, World".

Major Unix and C vendors and customers, including AT&T, Microsoft, Hewlett-Packard, GTE, NCR, and DEC have refused comment at this time. Borland International, a leading vendor of object-oriented tools, including the popular Turbo Pascal and Borland C++, stated they had suspected this for a couple of years. In fact, the notoriously late Quattro Pro for Windows was originally written in C++. Philippe Kahn said: "After two and a half years programming, and massive programmer burn-outs, we re-coded the whole thing in Turbo Pascal in three months. I think it's fair to say that Turbo Pascal saved our bacon". Another Borland spokesman said that they would continue to enhance their Pascal products and halt further efforts to develop C/C++.

Professor Wirth of the ETH institute and father of the Pascal, Modula 2 and Oberon structured languages, cryptically said "P.T. Barnum was right." He had no further comments.

:) n6ect, curtis ;)
 

jwt873

Member
Premium Subscriber
Joined
Dec 1, 2015
Messages
1,625
Location
Woodlands, Manitoba
Out of interest, the line:

for (;P("\n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);

Doesn't compile worth a darn using the latest Gnu C compiler. :)

Code:
jim@linux:~$ gcc test.c

test.c:1:1: error: expected identifier or ‘(’ before ‘for’
 for (;P("\n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
 ^
test.c:1:9: error: expected declaration specifiers or ‘...’ before string constant
 for (;P("\n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
         ^
test.c:1:20: error: expected declaration specifiers or ‘...’ before string constant
 for (;P("\n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
                    ^
test.c:1:31: error: invalid suffix "DC" on integer constant
 for (;P("\n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
                               ^
test.c:1:36: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘-’ token
 for (;P("\n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
                                    ^
test.c:1:40: error: expected declaration specifiers or ‘...’ before string constant
 for (;P("\n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
                                        ^
 

n6ect

Member
Joined
Dec 19, 2017
Messages
16
An April Fool's joke.....?!?

;) (grin) This article, “FW: Virus ALERT,” dated “Fri, 14 Nov 1997 10:18:26 -0800,” directed to “axp-list@redhat.com,” was my response to a late response to a computer virus posting that had been established as a spoof / prank.

The original poster “Steve” was a kindly gentleman who ran a business that obtained DEC Alpha (64 bit) computers for those of us into SGI & DEC computers, == who had not seen posts defining this virus as junk.

What I posted here was the second half of that message. Here is the top part I left out:

"(chuckle) geez steve, one would have thought this stuff had been buried by now, but since you 'opted' for this thread, here is a description of what this virus can do (snicker):

This is the most DANGEROUS e-mail virus ever.

"It will rewrite your hard drive and scramble any disks that are even close to your computer. It will recalibrate your freezer's coolness setting so all your ice cream melts. It will demagnetize the strips on all your credit cards, screw up the tracking on your VCR, and use subspace field harmonics to render any CDs you try to play unreadable.

"It will give your ex-boy/girlfriend/ex-husband/wife your new phone number. It will mix antifreeze into your fishtank. It will drink all your beer and leave its socks out on the coffee table when company is coming over. It will put a kitten in the back pocket of your good suit and hide your car keys when you are late for work.

"It will make you fall in love with a "penguin". It will give you nightmares about circus midgets. It will pour sugar in your gas tank and shave off both your eyebrows while dating your current boy/girl- friend behind your back and billing the dinner and hotel room to your Visa card.

"It moves your car randomly around parking lots so you can't find it. It will tease your dog. It will leave strange messages on your boss's voicemail in your voice. It is insidious and subtle. It is dangerous and terrifying to behold. It is also a rather interesting shade of mauve.

"It will give you Dutch Elm disease. It will leave the toilet seat up. It will make a batch of methamphetamine in your bathtub and leave bacon cooking on the stove while it goes out to chase high school kids with your snowblower.

"These are just a few of the signs. Be very, very afraid!" --quoted in part from _The Boston Globe_, 6/26/97

----------------------------------------------------
NOW, want something really scary?
----------------------------------------------------
In an announcement that has stunned the computer industry, Ken Thompson, Dennis Ritchie and Brian Kernighan admitted that the Unix operating system and C programming language created by them is an elaborate prank kept alive for over 20 years." … yada [snip].

Oh, although it has been argued P.T. Barnum did not say a lot of things he was given credit for, in the final line of the article it says, "P.T. Barnum was right." which (smile) may be a clue this article is related to showmanship.

Hope this helps explain and Happy Belated April 1 or “First Church of Fun” as we called it in the past (smile).
 

n6ect

Member
Joined
Dec 19, 2017
Messages
16
An ancient joke, considering that C has been around for far longer than 20 years.

(smile) Intended as an explanation, not a brag.

I’ve been into computers for over 52 years and started during 1966 [actually earlier in the military but am not allowed to disclose] by single handedly writing the coding, communication, control, conversion, and merger systems for the IBM 360/20, which was IBM's first small mainframe not requiring its own building:

https://en.wikipedia.org/wiki/IBM_System/360_Model_20
 

n6ect

Member
Joined
Dec 19, 2017
Messages
16
Out of interest, the line:

for (;P("\n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);

Doesn't compile worth a darn using the latest Gnu C compiler. :)

(chuckle) Yes, that is true, _now_.

Because you mentioned GNU, (grin) and If you don’t hold it against me, I’ll share.

I was an AT&T UN*X bug catcher, one of the GNU developers, yada, and you may find this amusing:

http://www.flyingsnail.com/missingbbs/images/mititwhoj.jpg

where, I [CSPANG] am doing WHOJ on one of the MIT AI ITS consoles.

Also working is [RMS] Richard Stallman,

https://en.wikipedia.org/wiki/Richard_Stallman

who wrote Emacs and later helped found the Free Software Foundation, yada, and constant guest at our “Toad Hall” residence.

Number 84 of the first 100 dot coms was in my basement:

100 Oldest Currently Registered dot COM Domains

Here's some stuff about BBS days:

Missing BBS Files - Introduction
 

nanZor

Active Member
Joined
May 28, 2009
Messages
2,807
Hah! I'd never seen that one before honestly...

I was always amazed that many amateurs and swls didn't take to the toolbox concept of the commandline, but viewed it almost as someone trying to shove cw down their throat.

I mean we'll spend a lot of time going to the home improvement store, buying wire and whatnot, building, erecting, tuning, pruning, pointing, studying and enjoying all our handiwork with our antenna and gear.

But when it comes to simple logging, the commandline exposure - if ever, was a case of too-much-info from a well-intentioned, but zealous unix dude. Like me. :)

Nobody ever started them out on the simple stuff like keeping a free-form, 1-record-per-line log text file like this:

n6ect 14.200 USB - 599 Kenwood 950 - wx clear 1340 utc 4/01/2018

Add about a million more with no strict format if they don't want with their favorite text editor. But not ED. :)

Work / heard n6ect? Let's find out ....

Code:
grep n6ect mylog.txt

Tada! Too many responses? filter it again with grep or fine-tune the initial query. How many times have I worked N6ECT on a Kenwood and not his SDR xcvr? etc etc.

Works on a PDP-11 to today's apple or raspberry pi.

When I try to introduce interested people to the command line, I take it slow and easy. But most importantly, point out that the basic toolkit approach of sed/grep/awk have been working for almost half a century. So there is no wasted effort in learning it wondering if it will "change" rendering the learning useless. Ruby - Perl - other languages? Yeah great, but start off with grep. Grep was around before Google. Unfortunately, a language zealot often intercedes mandating the use of their favority language, and the op goes back to canned applications avoiding us propeller-heads..

AND even if it is simple, give them some pride in programming (that what it really is) their own stuff. Like building antennas, there is also more than one way to do it to express your own creativity, and nobody is "wrong" at this level. I used to hear this: "the command line just has poor marketing."

Oh well, maybe someone might have a group/club class without beating newcomers over the head with all the tricks all at once, putting them off the whole notion from the start. :)
 
Last edited by a moderator:
Status
Not open for further replies.
Top