Domain: thinkofit.com
Stories and comments across the archive that link to thinkofit.com.
Comments · 27
-
Re:So, What Is PLATO?
Just found an article by the developer of Notes. It was 63 messages max.
-
Re:what plato is..
The PLATO Notes application that allowed communication was written by David Woolley, who was 17 years old at the time.
-
Re:No Plato users here?
Claim to Fame: Not much
Name: Gary Dunn
Age in 1973: 23
Doing: Graduate school, University of Illinois, Master of Music in CompositionI would walk past this big building every day and see kids working at computer terminals. They seemed strangely engaged, as if in a trance. At the same time my friend John Van der Slice was learning FORTRAN in order to use a music composition program. He used to carry around long boxes of punch cards. I thought computer programming was the nerdiest thing possible, as lame as playing the accordian. In 1984 I was working at the University of Hawaii, writing some audio analysis stuff in Basic on a Harris. In the same terminal room were some PLATO terminals, with erie orange screens. I recall watching someone play hangman against an opponent somewhere on the mainland. I was impressed.
In 2000 I wrote to David R. Woolley in regards to my newly formed Open Slate Project. Here is his reply, being sent from one of my mail account to another:
At 11:04 AM 9/19/00 -1000, you wrote:
> I am designing an educational system to be propogated in the spirit of
> the
> open-source software community and would like to draw upon the lessons
> learned
> at Plato. I found a web page ( [dead link] h t t p://www.cbi.umn.edu/inv/cerlplat.htm
> ) listing
> articles related to Plato, but without pointers to the text of the
> articles.
> It's a start.Yes... I expect that little, if any, of that material is online. To
read it you'd probably have to travel to where the stuff is physically
archived (apparently both at the U of Minnesota and the U of Illinois).> I would like to ask more questions about Plato, if you are interested.
Sure, I'd be glad to tell you what I can. If you just have a few
questions, and they're fairly simple, I can answer by email. If there
are a lot, I'd prefer to do it by phone. You can reach me at
[he gave me his phone number but I regret I never called].David R. Woolley
http://thinkofit.com/drwool/I find it incomprehensible that PLATO and everything like it has been so successfully kept out of schools.
-
Dave Woolley's Was EarlierQuoting David Woolley:
Reminds me of something I did on PLATO III. Back then, the -press- command let you give an argument to cause a keypress at another terminal. Naturally, the 16-year-old mind wonders what will happen if you put all the terminals in the classroom into a chain where a keypress on one ripples through them all and cycles back around to the original. Well, it hangs the system, that's what.
I actually remember being there when the -ext- command exploit hit. It didn't hit me personally but it created quite an uproar.
However, that was on that PLATO IV system in 1974. PLATO III was a few years earlier.
-
Source of apps
-
The Mother of all Prior Art ...
.. was missed, if I scanned the text properly:
Quote: "PLATO originated in the early 1960's at the Urbana campus of the University of Illinois. Professor Don Bitzer became interested in using computers for teaching, and with some colleagues founded the Computer-based Education Research Laboratory (CERL). Bitzer, an electrical engineer, collaborated with a few other engineers to design the PLATO hardware. To write the software, he collected a staff of creative eccentrics ranging from university professors to high school students, few of whom had any computer background. Together they built a system that was at least a decade ahead of its time in many ways." (emphasis mine)
Please note that they had a place for "eccentrics" back then.
CC. -
Jobs didn't get it.As I described here years ago:
Gutting programmer effectiveness and routing new programmers into BASIC by a factor of at least 10 while maintaining, and even slightly improving the GUI is a great example of "not getting it". You can say OOP would become important in a few years and I can say the windowing GUI would become important in a few years with or without Jobs. But the revolution had already occured at PARC (and if you're focused on the mouse environment -- even a decade earlier at SRI which is where PARC, and indeed PLATO with its touch panel, got their inspiration -- I remember sitting in meetings at CERL/PLATO viewing the films of SRI's research in 1974 as part of PLATO's computer-based conferencing project).
DOS applications were starting to pick up on it despite the horrid CGA they had to work with initially -- and it wasn't because Jobs did the Mac. The Windowing GUI was inevitable and obvious to people with money as well as most personal computer programmers, especially once Tesler had already popularized it with his 1981 Byte magazine article.
Dynamic, late-binding programming environments that highly leverage the sparse nerd matrix out there -- like Smalltalk, Python, etc. -- are, however _still_ struggling to make it past the concrete barriers Jobs poured into the OO culture with the Mac.
When Jobs passed up Smalltalk for Object Pascal, and then again, with Next, passed up Smalltalk for Objective C, he set a pattern that continues to this day when Sun passed up that sun-of-Smalltalk, Self and went with that son-of-Objective-C, Java.
Gutting the superstructure of technology while maintaining appearances isn't leadership.
-
Re:Usenet?
Or PLATO, at the University of Illinois and Control Data Corporation?
-
The article doesn't mention PLATOThe article doesn't mention one of the first collaborative environments. The PLATO system thrived at the University of Illinois (and elsewhere) during the 1970s:
-
Don't blame IBM
Do we have to trade powerful features for usability?
So experience would seem to indicate!Seriously, here's the big problem with Notes. It wasn't designed -- it just grew. It appeared back in 1973 as a simple public message system. It's gone through umteen transitions and been split into two related programs (the Notes client and the Domino server). It has thirty years of legacy features to support, and a huge bureaucratic company maintaining it. They've been struggling to make it usable ever since they decided to make it a shrink-wrap product (used to be you could only buy Notes as part of big hyper-expensive support bundle), but it's a big task. If usability were the top priority, they would probably junk the client and start from scratch. But features are what sell a product, so that's where they put the effort.
Anyway, you're right, and you're wrong. You're right that Notes is a nightmare. You wrong to think this shows any special ineptitude on the part of IBM. Do you see any mail or messaging client that isn't feature-bloated and painful to use? Outlook, Pegasus, Eudora, Mulberry -- they all ignore usability in favor of Cool Features. The only difference with Notes is that it's had a lot more time to bloat up.
The notable exception is Netscape/Mozilla/Firebird. Which has issues, but is at least reasonably simple to use. I credit it to the fact that it's a commercial failure, so there's no pressure to keep shoving in features.
-
Ozzie Already Had His Microsoft Money
Lots of it in fact, from Microsoft's minority stake in Groove. With his old-school geek roots, it's probably just the principle of the thing that's motivating him here.
-
Fifth Generation Nonsense AgainThe Japanese are wise in their attempt to deal with an aging population via automation rather than immigration but they are foolish to do it in another Apollo-style project. They tried this already and it was destructive to their technical base and to ours.
Around 1980 the man who had told me I could work on getting PLATO to the mass market (thus drawing me away from working on an 8086 operating system on CDC Cyber emulation before the first silicon had been etched) ran into the system programmers' room in Arden Hills, MN and excitedly told us that the big new challenge was to beat the Japanese at their recently announced "Fifth Generation Computing" initiative -- which was supposed to do things like give us AI, robots, etc... etc... I was even invited to join the newly formed Microelectronics & Computing Consortium which would have required that I abandon the work to bring PLATO to the mass market. I refused the offer and ended up being disappointed that CDC's management didn't follow through when presented with the scale and economy of systems/networking (cable/phone/etc.) required to meet mass market demands of the era.
So the mass marketing of networking was delayed a decade or two while Cyc (a spin-off of MCC) attempted to solve the 'common sense' computing problem. What they did was create a cool logic programming system with persistence but not the 'common sense' solution predicted by the Japanese or the supporters of industrial policy in the US.
I've said it before and I'll say it again -- the future of all this stuff is solving the rational programming problem deriving from Russell and Whitehead's vision of a relation arithmetic.
PS: Ask yourself why there has yet to be a programming language that uses dimensions and their units as an integral aspect of types? Statistics apply to anything.
-
Cities Are a Security LiabilityWilliam Norris, Nebraska farmer's son, WW II cryptoanalyst, cofounder with Seymour Cray, of Control Data Corporation and developer of some of the first supercomputers used to control missile silos and do adequate models of nuclear detonations, bet his company on a strategic vision:
Make the civil defense of the United States more robust via computer networking, rural power systems and family-owned agriculture disintermediating the Chicago commodities pits. A lot of people think the reason Wall Street analysts grabbed CDC by the throat was the nearly $1 billion investment in the PLATO project supported by Norris -- but the PLATO project was just the networking dimension of his vision for a robust decentralized society. The real reason Wall Street went after Norris is that his vision was viable -- far more viable than centralizing all key assets in a small number of target zones for small nuclear powers to destroy with a few nukes. If he had been allowed even to deploy PLATO to the mass market, it could have spelled the end of the hyper-centralization that lends so much power to the bottlenecks of power and influence that typifies Wall Street.
There is good reason to believe that those who control central power points are threatened more by decentralization via space settlement than they are by the throw-weight of suborbital rockets.
As a reductio ad absurdum of the position that they are afraid of rocket delivery of weapons of mass destruction: What is the throw-weight of the billions of dollars of heroin and other contraband into the US every year, not to mention the huge influx of illegal labor over the boarders?
Norris was right -- but he was more right than he imagined. There are really good reasons to depopulate cities -- not the least of which is the fact that cities are producing more disinformation than information -- more theocracy than enlightenment -- more control than degrees of freedom.
Technically it appears populations structured around demes of 5,000 people, what Plato specified as the size of a deme in ancient Greece, is feasible as an alternative to hypercivilization now infesting most of the planet. This is an achievable goal compared to the vast majority of the nonsense being promoted by environmentalists, nationalists and globalists alike.
-
Re:AOL Prior Art
On the old PLATO system there was an instant messaging called term-talk
Woo-hoo! PLATO was (is? are there any PLATO systems (pca, uofdel, etc.) still around?) way cool in this respect.
I always loved "term-consult" which allowed a PSO (PLATO Services Organization) Consultant (typically one with mad programming skills) to "see" your code as you maneuvered around the editor, while still "term-talking" on the bottom of the screen. -
The Real Deal - University Of Illinois' Don Bitzer
Don Bitzer is the true unsung hero of computer science - his work as head of the University Of Illinois' PLATO project touched virtually everything people love today about computers and the Internet!
Check out his 1965! patent - bitmapped graphics, audio and photographic quality images back in the sixties!
Other (pre-1975!) PLATO innovations included instant messaging, near zero latency multiplayer network gaming, distance learning, groupware, newsgroups, online newspapers, animated email, network delivery of music, client/server computing, touch screen interfaces, flat-panel displays (the basis for the ones you're just now seeing at Circuit City!), and multimedia that were delivered across a worldwide educational network with satellite and cable communications.
In his ACM article on the early days of Smalltalk, Alan Kay states that he had no idea how to implement his Dynabook concept before seeing a demo of Bitzer's patented plasma display.
Search some of the early WWW documents, and you'll be surprised to see PLATO's influence. Here's e-mail inventor Ray Tomlinson and Ethernet papa Robert Metcalfe attending a 1971 conference that included a demo of Bitzer's PLATO system before their breakthrough work. And there's communication from none less than Tim Berners-Lee encouraging early Internet pioneers to try to meet Professor Daniel Sleator's challenge to try to provide the Web with easy-to-use PLATO features from two decades earlier.
Prominent users of Bitzer's PLATO system at the University of Illinois included Groove's Ray Ozzie (who credits PLATO with giving him the idea for Lotus Notes) and Brand Fortner, a founder of Spyglass, which produced the original Internet Explorer for Microsoft.
At the risk of overestimating PLATO's profound influence, it certainly is an odd coincidence that "ground zero" of PLATO just happened to be across the street from Netscape founder Mark Andreesen's NSCA gig (where Fortner also worked at one time).
For more info on PLATO, check out David Woolley's excellent PLATO: The Emergence of Online Community.
After reading it, you'll see that Bitzer's PLATO of the early '70s had far more in common with today's popular Internet that Berners-Lee's Web of the early '90s.
Don Bitzer's been the Rodney Dangerfield of the Internet for far too long - it's time to give the guy the proper respect he deserves! -
Re:Prior Art....Plato?
Interestingly enough, the BT patent credits a 1965! patent awarded to UIUC Professor Don Bitzer for his PLATO work that sure seems like suitable prior art on its own for hyperlinks.
Don Bitzer is the true unsung hero of computer science - his work touched virtually everything people love today about computers and the Internet!
Check out the patent - bitmapped graphics, audio and photographic quality images back in 1965!
Other (pre-1975!) PLATO innovations included instant messaging, near zero latency multiplayer network gaming, distance learning, groupware, newsgroups, online newspapers, animated email, network delivery of music, client/server computing, touch screen interfaces, flat-panel displays (the basis for the ones you're just now seeing at Circuit City!), and multimedia that were delivered across a worldwide educational network with satellite and cable communications.
In his ACM article on the early days of Smalltalk, Alan Kay states that he had no idea how to implement his Dynabook concept before seeing a demo of Bitzer's patented plasma display.
Search some of the early WWW documents, and you'll be surprised to see PLATO's influence. Here's e-mail inventor Ray Tomlinson and Ethernet papa Robert Metcalfe attending a 1971 conference that included a demo of Bitzer's PLATO system before their breakthrough work. And there's communication from none less than Tim Berners-Lee encouraging early Internet pioneers to try to meet Professor Daniel Sleator's challenge to try to provide the Web with easy-to-use PLATO features from two decades earlier.
Prominent users of Bitzer's PLATO system at the University of Illinois included Groove's Ray Ozzie (who credits PLATO with giving him the idea for Lotus Notes) and Brand Fortner, a founder of Spyglass, which produced the original Internet Explorer for Microsoft.
At the risk of overestimating PLATO's profound influence, it certainly is an odd coincidence that "ground zero" of PLATO just happened to be across the street from Netscape founder Mark Andreesen's NSCA gig (where Fortner also worked at one time).
For more info on PLATO, check out David Woolley's excellent PLATO: The Emergence of Online Community.
After reading it, you'll see that Bitzer's PLATO of the early '70s had far more in common with today's popular Internet that Berners-Lee's Web of the early '90s.
Don Bitzer's been the Rodney Dangerfield of the Internet for far too long - it's time to give the guy the proper respect he deserves! -
Rational Programming vs Semantic WebAs I posted to Slashdot a year ago on the topic:
The future of the Internet is in what I call "rational programming" derived from a revival of Bertrand Russell's Relation Arithmetic. Rational programming is a classically applicable branch of relation arithmetic's sub theory of quantum software (as opposed to the hardware-oriented technology of quantum computing). By classically applicable I mean it is applies to conventional computing systems -- not just quantum information systems. Rational programming will subsume what Tim Berners Lee calls the semantic web. The basic problem Tim (and just about everyone back through Bertrand Russell) fails to perceive is that logic is irrational. John McCarthy's signature line says it all about this kind of approach: "He who refuses to do arithmetic is doomed to talk nonsense." More on this a bit later, but first some history, because he who fails to learn from history is doomed to repeat its nonsense:
When I invented the precursor to Postscript (an audacious claim that I can back up -- it started as a replacement for NAPLPS which I proposed while Manager of Interactive Architectures for Viewdata Corp of America back in November of 1981 -- the Xerox PARC guys found my approach of what they called a "tokenized Forth" communication protocol to be an intriguing way to encode text and graphics), I was interested in having a Forth virtual machine migrate into silicon (ala Novix) so it could evolve from mere graphics rendering into a distributed Smalltalk VM environment (ala Squeak) as videotex terminal/personal computer capacities increased. But I was _not_ interested in object-oriented programming as the long-term semantics of distributed programming environments. (I still have some of the hardcopy of the communiques with Xerox PARC and others from this period.)
Rather, relational semantics were what I saw as the ultimate direction for distributed programming. I had a bit of a go at Tony Hoare's "communicating sequential processes" paradigm and its Transputer realization because he was, at least, starting with the hard problem of parallelism rather than making like the drunk looking for his keys under the light post the way everyone else seemed to be doing (and still are, save for Mozart, since threads, etc. are always an afterthought). But, because there were other hard problems like abstraction, transactions and persistence that he ignored, I christened his approach "Occam's Chainsaw Massacre" in my communiques (in honor of his distributed programming language "Occam") and dropped it in favor of relational programming, which has inherent parallelism resulting from both dependency and indeterminacy. (BTW: Dr. Hoare seems to have finally come to his senses about this issue.)
Unfortunately, the only researcher doing hardcore work on relational programming (meaning, getting to the root of relational semantics in a way that Codd had failed to do) at the time was Bruce MacLennan, then, of The Naval Postgraduate School, and he just didn't have the glamour of Alan Kay at places like Xerox PARC to attract the attention of guys like Steve Jobs. Bruce had a bit of a blind-spot, too, when it came to transactions and persistence, which I attempted to remedy by bringing David P. Reed's work on distributed transactions for the ARPAnet to him, but although he wrote a white paper on a predicate calculus (close to a relational) implementation of Reed's thesis (MIT/LCS/TR-205), he didn't really "get it", IMHO. Reed and MacLennan abandoned their work for other pursuits (ironically, Reed was chief scientist at Lotus while Notes was being developed but did not contribute his ideas on distributed synchronization to that development despite the fact that we had a mutual acquaintance from my Plato days by the name of Ray Ozzie -- so, I share some of the blame for this failure) even as Steve Jobs botched the embryonic object oriented world by abandoning Smalltalk and giving us, instead, a lineage consisting of Object Pascal on the Lisa/Mac which begat Objective C on Jobs's NeXT which begat Java at Sun via Naughton and Gosling's experience with NeXT.
This brings us to the present -- a world in which Javascript-based technologies like Tibet promise to not only salvage the object oriented aspect of the Internet from the birth defects of Jobs's spawn, but actually provide an advance over Smalltalk in the same lineage as CLOS and Self. But it is also a world in which there is growing confusion over the proper role of "metadata" in the form of XML -- particularly when it comes to speech acts and distributed inference. I would call Tibet "the next major Internet advance" except for the fact that the basic idea for a Tibet-like system has been around and well understood since the early 1980's. When it is finally released, Tibet (or a system like it) will put the Internet back on track. I call that a "recovery", not an "advance".
We are now poised to move forward with type inference based on full blown inference engines, thereby dispensing with the nonterminating arguments over statically vs dynamically typed languages that allowed Steve Jobs's spawn to get its nose in the tent. If you want to declare a "type" in a declarative language, just make another declaration and let the inference engine figure out what it can do with that information prior to run time. See how easy that was? Well, there is more to it than that, but not that much: Assertions have implications and assertions made prior to run time have implications prior to run time. Live with it and don't repeat the mistakes of the past.
The confusion over semantic webs, and the reason Berners Lee et al will fail, is essentially the same as the confusion that has beleaguered all inferential systems such as logic programming and "artificial intelligence" over the years: logic is irrational and the real world demands rationality -- otherwise nothing makes sense. By "rationality" I mean that reasoning must literally incorporate "ratios" -- or, as John McCarthy would put it, doing arithmetic so things make sense. By making sense, I mean there is a sense in which one interprets the sea of assertions that clearly dominates for a particular purpose. With logic not only are you limited to 0 and 1 as effective quantities; you have no adequate theoretic basis from which to derive more accurate quantities with which to make sense by taking ratios and determining which inferences are dominant.
Fuzzy logic and expert systems incorporating probabilities have typically failed because they are not based in the first principles of probability and statistics. As Gauss, the premiere probability theorist put it, "Mathematics is the study of relations." He didn't say, "Mathematics is the study of multisets." There are good reasons that relational databases, and not set manipulation languages, have come to dominate business applications -- and Gauss was aware of these differences when he began to derive his laws of probability. Subsequent axiomatizations of mathematics based on set theory were similarly misguided and have led to the idea that "fuzzy sets" are the way to introduce rationality into programming. Rather than sets, relations are the foundation, not just of mathematics but of rationality in the same sense that Gauss realized when he derived his theory of probability from the study of relations.
Rationality allows for judgment which is recognized as inherently fallible -- but which allows one to procede without exponentiating all possible paths of inference. Judgment also allows various identities to limit sharing of information to that needed -- thereby creating speech acts and a basis for rational measures of credibility associated with those identities. Since credit-rating is a degeneration of credibility, it should come as no shock that the invention of negative numbers, originating as they did with the Arabic invention of double entry account keeping, has its analog in something that might be called "logical debt" with which negative probabilities are associated.
And now we have come to the "quantum" aspect of rational programming. It is precisely the "credibility debt" aspect of rational programming that corresponds, in mathematical detail, to the various equations of quantum mechanics and their negative probability amplitudes. (Von Neumann's quantum logic failed to properly incorporate logical debt which has led to much confusion.) Logical debt is important to distributed programming for the same reason debt is important to financial networks. Logical debt is a way of handling poor synchronization of information flow in the same way that financial debt is a way of handling poor synchronization of cash flow. As in any rational system, there are both limits to credit and limits to credibilty that influence one's judgments and actions, including speech acts.
The object oriented folks may, in a sense, have the last laugh here because when we divide up inference into identities that engage in speech acts, we are reintroducing the notion of objects that hide information via exchange of speech act messages that can be thought of as "setters" (assertions) and "getters" (queries). However, I believe it is only fair to recognize that the excellent intuitions of Johan Dahl and Kristen Nygaard did need the added insights and rigor of philosophers like J. L. Austin and T. Etter.
-
Re:But is Domino Groupware?No, Domino is a workflow / text database / collaboration tool...
No, you're confusing Domino with the apps that have been written using Notes/Domino as a platform. When it was introduced Lotus Notes (and its CDC predecessor) were the only game in town for ad hoc informations sharing. That was cool in 1990, but nowadays there are lots of ways to pass information back and forth.
Come to think of it, I was very enthusiastic about Notes when Lotus first released it. Only the initial high cost kept me away. But now that I can afford it, I find that most of what I wanted to do with Notes can be more easily done with common internet tools.
Date check: 2001. Using today's standards, Domino simply doesn't stand out as a platform for workflow, textbase, or collaboration apps. The feature set is no longer impressive, the learning curve is too high, administration is too difficult. Time to move on.
IBM has had some luck pushing Domino as a general-purpose app server. I'm no expert, but I imagine an NSF file is a fairly efficient way to serve up huge gobs of not-very-dynamic content. A long way from what Ozzie & Co. designed it for, but that's life.
__________________
-
When Lawyers Aren't Enough...In the mid80s I attempted to set up a bottom-up representative computer network development company and spent thousands on lawyers trying to figure out how to avoid problems with the SEC. Althought there were other problems with implementing this idea, I eventually came to the conclusion that in order to do it without undue government harrassment, one might either have to bring down civilization as we know it, or acquire political authority over the SEC.
This idea was based in part on a vision I wrote up in a 1982 white paper when I was "Manager of Interactive Architectures" at a major videotex startup -- some of the ideas for which are starting to take shape, such as an implementation of a more flexible voting scheme.
Back in the common law days, if the laws weren't simple enough for the common man to remember, they were discarded, primarily via jury nullifcation (yes, not only did they have juries back then, but juries originated among the "pagans" who didn't particularly like one guy from somewhere else telling them how to run their communities). Then the lawyers took over and made laws so complex you couldn't operate as a competent adult unless you had a law degree. Then the laws got so complex not even law degree qualified you to operate as a full citizen. Then things got _really_ corrupt, and you have to have been a political appointee to a Federal bureaucracy like the SEC, in order to just go do something that appears a bit out of the ordinary.
It looks like being a former head of the SEC, while it wasn't absolutely necessary to try the experiment in GPL software organization, was most definitely helpful in avoding the Fear Uncertainty and Doubt factors that accompanied my attempts to placate such fears with lawyers fees 15 years ago.
Having looked at the problems with my original ideas, I'm quite skeptical of the approach these guys are taking -- particularly focusing as they are on government contracting -- although I suppose this is consistent with their drawing an analogy to the kibutzim. The kibutzim received a lot of help from the Israeli government.
-
Mossberg Needs a History LessonWALTER S. MOSSBERG needs to learn some history.
Even where foreign innovators struck first, or at the same time as Americans, it was America that exploited the technology best. For instance, one of the best-known early PCs, the Sinclair, was a British invention, but it lost out because of poor marketing and follow-through.
For every non-US story of this type there are 10 US stories of this type. I was involved in one of them at the University of Illinois, Jack Stifle's 8080-based Plato terminal, that came out with a color display and floppy disk AND modem (a 9600bps POTS modem was invented in the lab there) AND multiuser games on a 500 simultaneous user system before the Apple I was a gleam in the Woz's eye. It didn't go anywhere mainly because the head of the lab, Don Bitzer, had visions of his plasma display displacing CRT displays for the network revolution.
France pioneered the mass online community with its Minitel terminals
Again, it was the Plato IV system out of the University of Illinois that had the first large scale online community involving mass numbers of students as well as corporations. Some of this sordid history of how Plato's potential got squandered is sitting around in the Slashdot archives although I don't think the public has access to them.
In fact, liberal immigration policies and easy capital have lured brilliant engineers and entrepreneurs to the U.S. from Europe, India, Israel and elsewhere.
As a result, nearly everything cool in consumer digital technology, whether it was hardware, software or an online innovation, showed up first in the U.S.
Yeah, right, and Henry Ford, the Wright Brothers, Schockley, Brattain, Bardeen, Noyce... were all sons of east european immigrants who arrived penniless at Ellis Island...
Not with a bang but a revision...
-
Rational Programming is Not an OxymoronThe future of the Internet is in what I call "rational programming" derived from a revival of Bertrand Russell's Relation Arithmetic. Rational programming is a classically applicable branch of relation arithmetic's sub theory of quantum software (as opposed to the hardware-oriented technology of quantum computing). By classically applicable I mean it is applies to conventional computing systems -- not just quantum information systems. Rational programming will subsume what Tim Berners Lee calls the semantic web. The basic problem Tim (and just about everyone back through Bertrand Russell) fails to perceive is that logic is irrational. John McCarthy's signature line says it all about this kind of approach: "He who refuses to do arithmetic is doomed to talk nonsense." More on this a bit later, but first some history, because he who fails to learn from history is doomed to repeat its nonsense:
When I invented the precursor to Postscript (an audacious claim that I can back up -- it started as a replacement for NAPLPS which I proposed while Manager of Interactive Architectures for Viewdata Corp of America back in November of 1981 -- the Xerox PARC guys found my approach of what they called a "tokenized Forth" communication protocol to be an intriguing way to encode text and graphics), I was interested in having a Forth virtual machine migrate into silicon (ala Novix) so it could evolve from mere graphics rendering into a distributed Smalltalk VM environment (ala Squeak) as videotex terminal/personal computer capacities increased. But I was _not_ interested in object-oriented programming as the long-term semantics of distributed programming environments. (I still have some of the hardcopy of the communiques with Xerox PARC and others from this period.)
Rather, relational semantics were what I saw as the ultimate direction for distributed programming. I had a bit of a go at Tony Hoare's "communicating sequential processes" paradigm and its Transputer realization because he was, at least, starting with the hard problem of parallelism rather than making like the drunk looking for his keys under the light post the way everyone else seemed to be doing (and still are, save for Mozart, since threads, etc. are always an afterthought). But, because there were other hard problems like abstraction, transactions and persistence that he ignored, I christened his approach "Occam's Chainsaw Massacre" in my communiques (in honor of his distributed programming language "Occam") and dropped it in favor of relational programming, which has inherent parallelism resulting from both dependency and indeterminacy. (BTW: Dr. Hoare seems to have finally come to his senses about this issue.)
Unfortunately, the only researcher doing hardcore work on relational programming (meaning, getting to the root of relational semantics in a way that Codd had failed to do) at the time was Bruce MacLennan, then, of The Naval Postgraduate School, and he just didn't have the glamour of Alan Kay at places like Xerox PARC to attract the attention of guys like Steve Jobs. Bruce had a bit of a blind-spot, too, when it came to transactions and persistence, which I attempted to remedy by bringing David P. Reed's work on distributed transactions for the ARPAnet to him, but although he wrote a white paper on a predicate calculus (close to a relational) implementation of Reed's thesis (MIT/LCS/TR-205), he didn't really "get it", IMHO. Reed and MacLennan abandoned their work for other pursuits (ironically, Reed was chief scientist at Lotus while Notes was being developed but did not contribute his ideas on distributed synchronization to that development despite the fact that we had a mutual acquaintance from my Plato days by the name of Ray Ozzie -- so, I share some of the blame for this failure) even as Steve Jobs botched the embryonic object oriented world by abandoning Smalltalk and giving us, instead, a lineage consisting of Object Pascal on the Lisa/Mac which begat Objective C on Jobs's NeXT which begat Java at Sun via Naughton and Gosling's experience with NeXT.
This brings us to the present -- a world in which Javascript-based technologies like Tibet promise to not only salvage the object oriented aspect of the Internet from the birth defects of Jobs's spawn, but actually provide an advance over Smalltalk in the same lineage as CLOS and Self. But it is also a world in which there is growing confusion over the proper role of "metadata" in the form of XML -- particularly when it comes to speech acts and distributed inference. I would call Tibet "the next major Internet advance" except for the fact that the basic idea for a Tibet-like system has been around and well understood since the early 1980's. When it is finally released, Tibet (or a system like it) will put the Internet back on track. I call that a "recovery", not an "advance".
We are now poised to move forward with type inference based on full blown inference engines, thereby dispensing with the nonterminating arguments over statically vs dynamically typed languages that allowed Steve Jobs's spawn to get its nose in the tent. If you want to declare a "type" in a declarative language, just make another declaration and let the inference engine figure out what it can do with that information prior to run time. See how easy that was? Well, there is more to it than that, but not that much: Assertions have implications and assertions made prior to run time have implications prior to run time. Live with it and don't repeat the mistakes of the past.
The confusion over semantic webs, and the reason Berners Lee et al will fail, is essentially the same as the confusion that has beleaguered all inferential systems such as logic programming and "artificial intelligence" over the years: logic is irrational and the real world demands rationality -- otherwise nothing makes sense. By "rationality" I mean that reasoning must literally incorporate "ratios" -- or, as John McCarthy would put it, doing arithmetic so things make sense. By making sense, I mean there is a sense in which one interprets the sea of assertions that clearly dominates for a particular purpose. With logic not only are you limited to 0 and 1 as effective quantities; you have no adequate theoretic basis from which to derive more accurate quantities with which to make sense by taking ratios and determining which inferences are dominant.
Fuzzy logic and expert systems incorporating probabilities have typically failed because they are not based in the first principles of probability and statistics. As Gauss, the premiere probability theorist put it, "Mathematics is the study of relations." He didn't say, "Mathematics is the study of multisets." There are good reasons that relational databases, and not set manipulation languages, have come to dominate business applications -- and Gauss was aware of these differences when he began to derive his laws of probability. Subsequent axiomatizations of mathematics based on set theory were similarly misguided and have led to the idea that "fuzzy sets" are the way to introduce rationality into programming. Rather than sets, relations are the foundation, not just of mathematics but of rationality in the same sense that Gauss realized when he derived his theory of probability from the study of relations.
Rationality allows for judgment which is recognized as inherently fallible -- but which allows one to procede without exponentiating all possible paths of inference. Judgment also allows various identities to limit sharing of information to that needed -- thereby creating speech acts and a basis for rational measures of credibility associated with those identities. Since credit-rating is a degeneration of credibility, it should come as no shock that the invention of negative numbers, originating as they did with the Arabic invention of double entry account keeping, has its analog in something that might be called "logical debt" with which negative probabilities are associated.
And now we have come to the "quantum" aspect of rational programming. It is precisely the "credibility debt" aspect of rational programming that corresponds, in mathematical detail, to the various equations of quantum mechanics and their negative probability amplitudes. (Von Neumann's quantum logic failed to properly incorporate logical debt which has led to much confusion.) Logical debt is important to distributed programming for the same reason debt is important to financial networks. Logical debt is a way of handling poor synchronization of information flow in the same way that financial debt is a way of handling poor synchronization of cash flow. As in any rational system, there are both limits to credit and limits to credibilty that influence one's judgments and actions, including speech acts.
The object oriented folks may, in a sense, have the last laugh here because when we divide up inference into identities that engage in speech acts, we are reintroducing the notion of objects that hide information via exchange of speech act messages that can be thought of as "setters" (assertions) and "getters" (queries). However, I believe it is only fair to recognize that the excellent intuitions of Johan Dahl and Kristen Nygaard did need the added insights and rigor of philosophers like J. L. Austin and T. Etter.
-
This 70's ShowAll this has been in the Computer-Mediated Communications literature since the 1970's (yes, we had computers then). I'm still surprised there aren't better methods yet.
This
/. BBS has a prettier look but is very similar to forums back then (and PLATO had graphics then, even if only in orange-on-black), although now there's a Web to point links at. IRC is old hat also, there were talk programs on hundred-user systems with dozens of participants -- using a network instead of a central computer is only an implementation detail. -
A Slight Revision to the History of LisaIn late 1981, I was given the responsibility to develop an authoring system for the Viewtron videotex network planned for nation-wide deployment by AT&T and Knight-Ridder due to my prior work at the Plato project. At about that time, the cover story for Byte Magazine by Larry Tesler of Xerox PARC was about Smalltalk. Since I had been looking for a decent language upon which to base a network programming environment, Dennis Hall, then technical director of the Viewtron pilot, arranged a trip to Xerox PARC to see a demonstration of their system. We met with the Xerox PARC Smalltalk team in November of 1981.
We were having difficulty with the standards committee controlling the North American Presentation Level Protocol Syntax -- the graphics protocol upon which the Viewtron videotex terminals built by Western Electric were based. Specifically, there wasn't enough programmability. The Western Electric terminal was so limited in capacity that we had to fit the graphics interpreter into a very few number of bytes, and could afford only a few thousand bytes of dynamically downloadable store. I had been enamored with Forth ever since the Byte magazine article about it about a year or so earlier (my first digital purchase was an HP35 so reverse polish didn't bother me perhaps as much as it should have). Even so, I was hunting around for options. Jim Thompson, another senior staff member with the Viewtron project, was also interested in Forth -- enough so that he had subscribed to the Forth newsletter, which he shared with me. Jim was supposed to develop a menu system to run on the central system. I had specifically asked that his menu system never achieve Turing Machine equivalence, because I knew what sort of horrors lay in wait for us if it did. Nevertheless, Jim eventually implemented GOLFBAL "Game Oriented Language for Business And Leisure" -- and it was a Forth derivative. I had rejected Forth as anything but the low level protocol and engine for the telesoftware graphics system and was fairly horrified to discover what he had done. In any case, it was this immersion in Forth we brought with us to our meeting with the Xerox PARC folks.
Now, I swear on a stack of bibles that after I met with the PARC folks and discussed the problems of graphics communications, I had no idea the industry could end up being stuck with Postscript as a type-setting standard. I can say this for a certainty because:
I wanted to see a Novix-style reduction-to-hardware of the Forth virtual machine so that Forth would become the macro assembly language. Then we could use the Forth silicon machine to start running dynamically downloaded Smalltalk -- or some similar high level language -- compiled for the Forth stack machine which would provide much more powerful graphics specifications than Forth itself.
I never imagined the Smalltalk guys would actually depart from Smalltalk itself as a graphical specification language.
By the time the PARC guys spun off Adobe with Postscript and its Forth-like engine, I had become more interested in constraint/relational programming semantics than object oriented semantics because it more naturally fits graphics description, distribution, nondeterminism and parallelism not to mention databases.
It was summer of 1982 when I met with Tesler for the last time -- and he had just left PARC to go work on Lisa. We were sitting in the empty Astrodome, I think it was, next to the convention center where the Commodore 64 was being introduced to the world market as part of the precursor to Comdex. 64K of memory! At any rate, Tesler and I discussed the reason he had abandoned Smalltalk for the Lisa. I had thought that type inference coupled with artful use of assembly language libraries would be sufficient on the Motorola 68000 family, but Tesler was insistent that Object Pascal was necessary for adequate speed. Frankly, I was apalled that Tesler had so easily abandoned Smalltalk with type inference since he had made specific mention of it as an optimization technique in his Byte article. But in a recent email exchange about this history, he told me type inference was never of much interest to him -- that others at Apple were hooked on Object Pascal.
The horrifying thing about all this is that when Steve Jobs took off from Apple to found NeXT, instead of correcting the nonsense with Postscript and going straight for Smalltalk with type inference, he repeated the mistake, only this time with Objective-C. Then, as I understand it, Objective-C was the precursor to Java with its reliance on declaration rather than inference for type checking. This despite the fact that Sun already had the Self programming language in house with type inference and dynamic optimization technologies that realized the potential of Smalltalk at along last. Unfortunately the only technology to make it bigtime from Sun's Self project was the Hotspot JVM.
Although these aren't exactly the same mistakes over and over, we're still struggling to get a decent, widely-used dynamically typed language "for everyone" that includes a pure OO library for graphics. Python isn't easily deployable and although I'm a Perl bigot, even I realize we're unlikely to get Perlscript installed in every browser anytime soon. Anyway I'm partial to prototype languages like Self when it comes to Smalltalk offspring. I do have hopes for TIBET as a way of turning Javascript into a powerful programming system across many platforms -- as outrageous as that sounds. I know Bill Edney and Scott Shattuck were some of the first NeXT hackers, but we can all pray for a swift recovery. This isn't an official announcement or anything -- but Bill and Scott did do a presentation at Hackers so I figure I can mention it in the mode of a "hot rumor".
As I said, I'm more into constraint/relational stuff these days myself, but it sure would be nice if someone brought the power originally in Smalltalk the ubiquity it deserved almost 20 years ago.
-
Re:Jobs Didn't Get ItGutting programmer effectiveness and routing new programmers into BASIC by a factor of at least 10 while maintaining, and even slightly improving the GUI is a great example of "not getting it". You can say OOP would become important in a few years and I can say the windowing GUI would become important in a few years with or without Jobs. But the revolution had already occured at PARC (and if you're focused on the mouse environment -- even a decade earlier at SRI which is where PARC, and indeed PLATO with its touch panel, got their inspiration -- I remember sitting in meetings at CERL/PLATO viewing the films of SRI's research in 1974 as part of PLATO's computer-based conferencing project).
DOS applications were starting to pick up on it despite the horrid CGA they had to work with initially -- and it wasn't because Jobs did the Mac. The Windowing GUI was inevitable and obvious to people with money as well as most personal computer programmers, especially once Tesler had already popularized it with his 1981 Byte magazine article.
Dynamic, late-binding programming environments that highly leverage the sparse nerd matrix out there -- like Smalltalk, Python, etc. -- are, however _still_ struggling to make it past the concrete barriers Jobs poured into the OO culture with the Mac.
When Jobs passed up Smalltalk for Object Pascal, and then again, with Next, passed up Smalltalk for Objective C, he set a pattern that continues to this day when Sun passed up that sun-of-Smalltalk, Self and went with that son-of-Objective-C, Java.
Gutting the superstructure of technology while maintaining appearances isn't leadership.
-
Liability vs ReliabilityReliability starts with liability.
Back in the mid '70s, when I was at CERL, Sherwin Gooch came up to me on the verge of panic. He said something to the effect "We're dead. Software engineering is no longer a profession!"
What rattled his cage was a court case in which the defendant, a software engineer, was held immune to the claims damage by his client. In the opinion, the judge in the case held that software engineering was not an engineering profession in the same class as civil engineers, and that therefore the programmer could not be held liable for damages resulting from his software.
Sherwin was right. It has taken decades for the demand for highly skilled programmers to rebound from the lows they experienced in the late '70s when I was doing systems programming at Control Data Corporation's side of the PLATO project for about $20K/year.
-
Dvorak Won the PLATO Typing CompetitionThe PLATO system had a typing competition called "debugs". I did the statistics subsystem for that competition. I don't recall the exact numbers, but I do recall that the fastest scores were with the Dvorak keyboard. The Dvorak keyboard became so popular among the fastest typists in "debugs" that they pressured the system staff into allowing a Dvorak configuration option at the comm driver level. Not surprisingly, many of the fastest typists were system programmers so there wasn't much resistance to the idea.
This became something of a problem because there were some students who were going around switching the key caps to the Dvorak configuration so they could learn faster.
-
Time for Civil Disobediance? Think Carefully...When a "former" NSA employee forbade me, in 1982, from continuing my work to incorporate RSA's public key algorithm in the home shopping and banking capabilities of the Western Electric videotex terminal that was to be deployed in the Viewtron service a few years later, I knew it was going to be a long haul before the potential of this technology could be realized. (I believe my comment to him was "The NSA contracted with IBM to report on the security of its 56 bit DES, and many independent experts believe this was more than a mere conflict of interest." His response was something like, "I'm a former NSA employee. You will stop work on RSA and use DES.")
Seymour Cray's final product involved the fastest switching technology ever activated in a super computer, which was then coupled into a massively parallel computing system. The Cray-3/Super Scalable System had a revolutionary GaAs control processor with potentially tens of millions of computing memory elements. This system (an adaptation of the original GaAs Cray-3) was financed by the NSA. Seymour Cray accepted this funding in a last-ditch effort to save his company and when I visited the Colorado Springs office, I was actually given the impression by one of their executives that they had a working model and would consider commercial sale of the device. Cray Computer Corporation went bankrupt shortly thereafter in the first business failure of Cray's phenomenal career. About a year later, Cray was killed in a jeeping accident. Having cut my teeth on his machines at the CDC/Urbana PLATO project, I knew Cray was unhappy with the direction his technology had been taken by "the spook shops" from before the day he left CDC to found Cray Research on his farm in in Wisconsin.
Recent revelations of RSA's vulnerability come as no surprise. The NSA, despite the fact that it is run by unaccountable bureaucrats embedded in a dough ball of Federal funding, is probably far beyond a cabal of private hackers in their capabilities.
Lest hackers and civil libertarians get the idea that now is the time for civil disobedience in protest of regulations against unlimited key sizes, you should probably be aware that Federal officials are so embolden by their lack of accountability that some of them have slipped up and are explicitly threatening suspects with prisoner gang rape. Given the prevalence of HIV infection in the prison systems, and the efficiency with which the virus is transmitted during gang rape, such threats amount to murderous sexual sadism as punishment for civil disobedience. In one of the most outrageous examples, Assistant U.S. attorney Gordon Zubrod from Harrisburg, PA made the following statement in a broadcast statement to 3 suspects who fled to Canada (this statement was captured for the public record during a Canadian Broadcasting Corporation interview):
"You're going to be the boyfriend of a very bad man if you wait out your extradition."
If you think the use of murderous sexual sadism against protesters who engage in civil disobedience is unrealistic, or somehow so low risk as to be inconsequential, you should read Torture In The American Gulag before taking any personal risks.