Ted Nelson on What Modern Programmers Can Learn from the Past (2018)
spectrum.ieee.org
spectrum.ieee.org
He's mentioned in the third person in my book https://www.albertcory.io/the-big-bucks. but he doesn't appear as a character.
So that means every x86-64 PC sold has an ISA with a compatibility lineage that goes straight back to Datapoint.
I'm also in touch with Gordon Peterson, the chief architect of ARCNet, which was a pretty decent LAN, way ahead of everyone else.
"The 4004 was quickly enhanced to the 8008. These devices, very trivial by today's standards, were novel but hardly taken seriously as computers of any worth...In 1978 the third generation was introduced--the 8086. This marked the beginning of microprocessors as 'real' computers...The 8088, the little brother of the 8086, was used in the IBM personal Computer...and this launched the personal computer revolution."
I wish someone else would have read that for me.
I would also argue that the 8008 was a real computer. The ENIAC was the first "real" computer (in the sense of general purpose, digital), with its ~.005 MIPS (integer add/sub) vs. the 8008 at ~0.05 MIPS, and was a bit larger and more difficult to program. I wrote programs on a 6502-based Apple years before the IBM PC appeared. I guess that was a phantom computer.
I read and re-read parts of "Principles of Program Design" (1975) and type little C programs from King's "Modern C" (1996).
The new wonders may come from familiarity with bare metal, algorithms, and the desire to build the "virtual machine" to solve each problem.
It's a slow process. I draw out the boxes and stare blearily at COBOL examples. M.A. Jackson is the invisible guide, silent but for his proclamations.
Each (non-UML) schematic logic accompanied by a single anxious thought:
Am I doing this right?
https://www.youtube.com/watch?v=edZgkNoLdAM
https://www.youtube.com/watch?v=i67rQdHuO-8
80 TN minutes at the 2021 Vintage Computer Festival East
Xanadu is probably the biggest vaporware in the history of computing.
Maybe some lessons learned about how he had all these “brilliant” ideas but never actually made something that actual people actually use.
But that would require humility, introspection, and self-awareness so it is not likely to happen.
“ideas are worth nothing unless executed. They are just a multiplier. Execution is worth millions.”
But here I'd like to think about likely world changing tech. As long as the (successful) execution comes one day, it doesn't matter if it happens 20 years ago or 10 years from now.
Maybe if you only have a business focus. He was apparently not interested in fundamental research.
Likewise other theoretical and fundamental work. Note that this is aside from the question of who gets "credit." Fortune tellers take credit for predictions. This is about what it takes to do good work under most circumstances.
[0] Wikipedia
I'm a bit adamant about this (and willing to eat the downvotes -- fair is fair). Every individual contributor (IC) has experienced credit for something they've worked on being given to a colleague or manager who comes in at the last minute and claims to have blurted out an idea at a meeting.
I've gotten plenty of credit for ideas -- 20+ patents. What I'm proud of is the part of a patent called "reduction to practice," where you figure out the details that prove an idea to be workable, and typically result in additional claims. I've informally adopted a standard that an "idea" has the same requirements as a patent, specifically a study of background information and an explanation of how something can be reduced to practice. I'm super generous with credit, especially towards my junior colleagues.
Ideas are a dime a dozen. And as a musician, I got over the difference between "doing" something, and making money, long ago.
We stand on the shoulders of giants
Nelson got his ideas out there and other people used them in various ways, often without giving him credit. Bill Atkinson was one (https://www.youtube.com/watch?v=FquNpWdf9vg) and he wasn't the first.
at 1:35 in that video, Gary Kildall does give him credit, along with Doug Engelbart.
Actually, he did. He wrote and self-published the big book Computer Lib/Dream Machines, which was ubiquitous and influential in the 1970s. More about that book and its influence here:
1. Xanadu being vaporware 2. His ego
What I really don't get is what Ted Nelson does to trigger this anger in people.
E.g., his book computer lib/dream machines inspired so many, and I find him super self-aware. His appearance in Werner Herzog’s movie about the internet was (IMHO) so refreshing.
I love Ted's work, and it's a huge inspiration to me in my daily work. This video just adds to that.
"We thought computing would be artisanal. We did not imagine great monopolies."
Even though hindsight is 20/20, I'm still surprised that the power of network effects didn't occur to him (or whoever the "we" refers to).
"... artistic expression ..."
Reminds me a lot of when Jaron Lanier talks about how he envisioned VR.
To unwrap that, the “power” of great efficiencies of scale, but also “weakness” from the lack of adaptability and resilience inherent to monocultures.
The jury is still out on which way the balance swings — especially because the former manifests in “typical events” while the latter manifests in “tail events”. Post pandemic disruptions of logistical supply chains and supply-chain vulnerabilities in software, I think folks seem to (or at least ought to) be far more apprehensive of blindly submitting to network effects.
In summary, it’s surprising to me that even in hindsight people seem so enamored with network effects to be blind to the cons.
[1] https://en.wikipedia.org/wiki/Project_Xanadu
[2] https://en.wikipedia.org/wiki/Hypertext
[3] https://dougengelbart.org/pubs/augment-3906-Framework.html
Note that [1] says 1960 for Xanadu and [2] says 1963 for the term hypertext. Go figure.
Edit: fixed typo
> [1] https://en.wikipedia.org/wiki/Project_Xanadu
Wired magazine published an article called "The Curse of Xanadu", calling Project Xanadu "the longest-running vaporware story in the history of the computer industry".[3] The first attempt at implementation began in 1960, but it was not until 1998 that an incomplete implementation was released.
Ouch!
https://web.archive.org/web/20001003011753/http://xanadu.com...
Actually there have been several kicks at the can for rebuttals. Most recent ones are videos: Shorter Video: https://www.youtube.com/watch?v=-_-5cGEU9S0 Feature length: https://www.youtube.com/watch?v=ASgjSxNdDqI
Granted, the people who had the knowledge to teach said methods were probably too busy making comparative bank in private industry, or perhaps were teaching business courses. Most academics are researchers, and researchers tend to be explorers, not builders.
Edit: fixed autocomplete error, removed "even" from last sentence.
I was creative back then, and I remember envisioning VR very similar to today's VR. After studying visual displays and how they were projected on screens for pilots in flight simulators I presented an idea to my computer graphics class that we could put small displays on a helmet one for each eye and have motion and orientation sensors on the helmet to simulate what a pilot would see in 3D as he looked around the virtual cockpit. I said we could even develop multiuser experiences in a big gymnasium with a virtual landscape displayed in each participant's helmet displays. My professor dismissed the ideas as fanciful, and I moved on to other ideas.
It was easy to imagine a future where lots of people owned personal computers and had modems that could be used to log into servers over dial-up lines; I remembered thinking that player verses player games would become a thing because the number of pairs of users online would grow much faster than the number of users [N(N-1) vs N]. But here, I was imagining a single multiuser server, not an internet.
I was aware of the ARPA NET and had even tried out the PLATO timesharing system. I had a copy of Ted Nelson's interesting book of rambling ideas titled Dream Machines where he talked about hypertext, Xanadu, etc. I was also a teaching assistant for a telecommunications course where we talked about the possibility of fiber to the home replacing analog phone lines and providing bandwidth that could replace video rentals for entertainment.
All of these hints foreshadowed the development of the internet, but I didn't see it and neither did any of my colleagues. The scale and importance of the internet just eluded me.
As late as 1989 when I started a software company, it wasn't clear that the company should have it's own domain name!
https://en.wikipedia.org/wiki/What_the_Dormouse_Said
https://en.wikipedia.org/wiki/All_Watched_Over_by_Machines_o...
https://www.goodreads.com/en/book/show/57536256-seattle-myst...
Alfred M. Hubbard had an influence on Silicon Valley that is not well known.
From my copy of the book, page 73: "Meanwhile, as Hubbard crisscrossed the globe, he began hearing murmurs about a group of engineers and scientists in San Francisco who were expressing a strong interest in experiencing one of his guided trips [LSD]. They were located in a stretch of land that would eventually become known as Silicon Valley, and being a fellow inventor himself, the good Captain had every intention of paying them a visit"
.. and how it didn't. Confessing I haven't actually read the book, but I've certainly read reviews & other articles about it.
Hippies did not build the Internet. Or the personal computer industry. They were around and some jumped on it early, but it's clickbait to say they built it. The TV series "Halt and Catch Fire" is actually a better picture of that era (Season One, at least).
'shaped': determine the nature of; have a great influence on
"his childhood was shaped by a loving relationship with his elder brother"
'built': past and past participle of build.
'build': construct (something) by putting parts or material together
"the ironworks were built in 1736"
Or in the context of the topic, in the early 60's Silicon Valley engineers began experimenting with LSD, Eastern philosophy and Science Fiction and their influence shaped views of what was possible with microchip tech and information theory.
I've heard this rejoinder before that 'hippies' didn't build the internet, as if anyone who knew anything said that. It seems mostly driven by disdain for boomer hippies (who were probably the parents of those saying it)
Hippies didn't "shape" the Internet, either. Rather, there was a general idea of openness which almost everyone shared, to some degree -- even the faculty and grad students and researchers who actually did build it. The telephone company people and the IBM'ers did not share it, and that's why their vision did not win out.
I assume that's "haven't" ?
For sure. "Hippie" to me is not broadly defined. Hippies rejected society and regular jobs (and education). There were hippie posers and used-to-be's, who might have been the users on The Well.
https://books.google.com/books?id=6f8VqnZaPQwC&pg=PA97
It’s an anonymized account (from 1982) of what happened to Douglas Engelbart (anonymized as “Vision” Stanley).
There’s a lot of good ideas buried in the past out there that never took off because people adopted some other way due to that being what the textbooks teach or whatever. Most of what I look at isn’t applicable to anything I do, unless I were to find a pile of money so I could write a compiler, but I find it interesting and like messing with language grammars and compiler theory. Someday I might even get past the AST stage with my playing around.
(He might even read this thread!?)
- - - -
There are some modern day Ted Nelsons:
Sean Mcdirmid comes to mind. (He's on HN. Dude, didn't you used to have a blog?)
https://www.youtube.com/user/seanmcdirmid
https://confengine.com/user/sean-mcdirmid
Or Jonathan Edwards https://www.subtext-lang.org/AboutMe.htm
There's the folks behind Enso/Luna https://enso.org/ among others. Jef Raskin's son Asa is still doing things https://en.wikipedia.org/wiki/Aza_Raskin
If you get a chance to see Nelson, do it. You never know if you'll get another chance.
Two are listed below, but there are many more. Nicky case is one of the most well known ones, Bret Victor himself is very well known and very active. There're also a lot of lesser known people in the space,
- Patrick Dubroy: wrote Ohm, makes cool stuff
- @azlenelza on Twitter
- @codexeditor on Twitter: He's building by far the most professional, serious and very very inventive digitised text... system? I have no idea what to call it. It's far far beyond what Roam, Obsidian etc can do. I think Ted would love to have a conversation with this guy. It goes deep in all directions.
- Andy Matuschak is worth mentioning. Goes deep into learning and memory research, and building tools around this.
- Tudor Girba @girba on twitter, makes moldable software environments: Tl;dr, tools to make custom IDEs in seconds to minutes that fit your current task perfectly. Very interesting stuff built on Pharo smalltalk
- Omar @rsnous on Twitter, posts thought experiments about weird interactions with computers multiple times per week. Sometimes cool ideas come out of it :
Of course not all of these people are or will be visionaries of the same level as Ted, but these are all people working to experiment with the status quo, or step out of it completely.
I'm no genius for sure, but even when I do sometimes find myself ahead of the curve, I fall into Hamlet's dilemma:
"...Thus conscience does make cowards of us all, and thus the native hue of resolution is sicklied o'er with the pale cast of Thought, and enterprises of great pith and moment with this regard their currents turn awry and lose the name of action." Wm. Shakespeare, Hamlet, Act III, Scene I
I wish I could explain why the best people and ideas are ignored, or bullied away, but I am at a loss. Best wishes.
I found no way to contact the author of this, as an example, but it's similar, except I'm making some progress: https://news.ycombinator.com/item?id=32495133
I've largely given up on promoting my novel work here, as it never makes the front page, and none of my work ever gets any interesting comments whenever it does.
Could you briefly elaborate?
[edit]
I read the article on your HN link. I didn't quite "get it". Program text gets in the way, let's replace it with [?]. Dr. Strandh at U. of Bordeaux, et al., have argued that we shouldn't store programs as text files in an operating system--is that what you are advocating? An image based system, for example?
> none of my work ever gets any interesting comments whenever it does
Sorry for my part in that, most people don't find me interesting. :) My work doesn't get much attention either, even if someone else happens upon it:
https://www.reddit.com/r/Common_Lisp/comments/ezruuc/tovero_...
----
I don't know why I keep quoting Shakespeare this week, I mostly slept through the Shakespeare module in high school English, but I guess some filtered through and maybe WRT promotion on the Internet:
"Had I so lavish of my presence been, so common-hackneyed in the eyes of men, so stale and cheap to vulgar company, opinion, that did help me to the crown, had still kept loyal to possession and left me in reputeless banishment, a fellow of no mark nor likelihood." Henry IV, Part 1, Act 3, Scene 2
It seems to me like for the most part only the best connected, ruthless, garrulous, overly vocal people get their ideas heard. I've tried business development orgs (including personal connections), directly contacting relevant researchers or sources of funding, on and on. Mostly, the advice has been to throw the spaghetti on the wall (put up a Github project, e.g.) and see what sticks (yell on Twitter, try to get some users). Even one of the founders of this site had difficulty marketing his idea for a new variant of Lisp, you know.
This is my current progress: http://verisimilitudes.net/2022-06-13
However, that was somewhat a waste of time, so I also wrote this reflection on it: http://verisimilitudes.net/2022-06-17
> Sorry for my part in that, most people don't find me interesting.
I didn't intend the remark as an insult.
It's interesting to mention Shakespeare so much. I'm reading The Merchant of Venice lately.
> It seems to me like for the most part only the best connected, ruthless, garrulous, overly vocal people get their ideas heard.
Yes.
> I've tried business development orgs (including personal connections), directly contacting relevant researchers or sources of funding, on and on.
I tried contacting VPRI and similar organizations, but to silence.
https://www.github.com/kaveh808
https://gitlab.com/flatwhatson/guile-prescheme
If you are interested in the nature of machine code and assembly language I would recommend at least looking at Scheme86:
https://dspace.mit.edu/handle/1721.1/6042
It's like a Scheme interpreter running on hardware, and the latest successor to Steele/Sussman's Scheme-on-a-chip--I'm working on microcoding it with my inferior S-assembly. :) I didn't think you were being insulting--my last refuge in an increasingly humorless world appears to be self-deprecating humor.
Have you reached out to John Cowan, who is working on the R7RS Large Scheme standard, and is interested in topics like auxiliary human language as well as computer language and their representation? I'm not serious enough, I'm afraid, for the Scheme community (see above)--but they might take you more seriously:
https://en.wikipedia.org/wiki/John_W._Cowan
Another Scheme person, Jonathan Rees, was (or still may be) at a forward-thinking institute called "Ronin Institute"--I'm not sure what their process is for onboarding scholars but they might be interested in your work:
Elmer Hanks wrote a forward thinking book many years ago called "Enterprises of Great Pith and Moment: A Proposal for a Universal Human Language" (my Shakespeare quote), about his machine readable, sign-language friendly, auxiliary language, and is worth a look in your domain of study.
I have been meaning to re-install Whitaker's Words which I used frequently in my own study of Latin, but lost when I upgraded my OS. You might have heard of Ido, an auxiliary language designed by Louis Couturat, a French logician, and the successor to Esperanto. It's almost completely regular, and I thought it might be a start for a more human-language neutral Scheme implementation (it is a Eurocentric language, so not completely neutral, unfortunately). My middle-school English teacher in 1981 pointed at the Esperanto booth in the language arts faire we took a field trip to and said, "I don't know why that booth is always so disappointingly unattended." I guess "ain't much changed", right?
I recommend "Asimov's Guide to Shakespeare" if you haven't read it:
https://en.wikipedia.org/wiki/Asimov%27s_Guide_to_Shakespear...
and maybe we should both just continue to choose "to be" rather than "not to be".
[edit]
I was talking this over with my wife, and after reading your links, I still don't completely understand the overall advantage of coding word stems rather than characters. It did remind me of the first computer I owned, a Sinclair ZX-81 I built from a kit. Its Basic keywords, FOR, GOSUB, RETURN were each represented as a bytecode--and I think you could enter with a special key modifier with one key-chord. Is this like what you are saying?
I've not reached out to John Cowan but think I might, despite my dislike of Unicode. I'll also look into this Ronin Institute. I'll keep the book in mind. I appreciate the help.
As I explain in the last linked article, a lot of these artificial languages retard language work, rather than help it. I expect to target real languages with most of my time now.
Think of Elision like MIDI, but for human language. Text is stored uniformly as indices into a dictionary, rather than as a sequence of characters with interspersed control codes.
I had never thought about the "asymmetry" of putting control codes with the character codes in ASCII--it does seem illogical now that you point it out. :) Languages like Ido aren't completely "artificial", and I certainly think Couturat didn't fail in some sense--my irrational issue with Ido, despite its numerous strengths, is that words with the same part of speech end in the same letter(s), making it monotonous. But as my wife pointed out, that regularity makes it easier for computers to parse.
> I had never thought about the "asymmetry" of putting control codes with the character codes in ASCII--it does seem illogical now that you point it out.
Yes, this is why I call them insidious.
The issue with constructed languages is that they simply don't have the beauty of something such as Latin, and never can, due to their very nature.
Anyway, feel free to send me an e-mail at some point, if we're to continue our discussion at some later time.
For people too. And isn't that exactly how many natural languages work? Verbs -- someone doeS something -- all end with an 's'[1] in English: He/she/it writes, reads, encodes, builds, blathers, creates, excels, triumphs, loses, sucks...
___
[1]: Admittedly only in the present tense third-person singular, but that's something. Arguably, more of that would make the language easier to parse and learn.
At some point the conversation went a bit like this:
- Do you know what else kids these days don't do?
- What?
- They don't declare all their variables at the top.
- What?
- Yep
- They don't?
- Nope
- W ... where do they declare them then?
- Right before they use them.
- No!
- I shit you not.
- Wtf
I remember laughing hard, and realising I'm also becoming an old fart who complains about kids and their scateboards and shudders at the thought of variable declarations sprinkled thoughout code. :p
There's not really one, it's just a joke about how some languages used to work.
> Also, at the top of which scope are you supposed to declare variables, function scope, class scope, ... somewhere else?
In C, you used to have to declare all local variables at the top of the function rather than throughout the body.
This is true, but support for block-scoped (as opposed to function-scoped) variable declarations was added to C a long time ago. Every version of ANSI C supports them, and this stack exchange answer, https://softwareengineering.stackexchange.com/a/300274/19196, suggests that support was added to K&R C since at least 1978.
Minimizing the scope of variables decreases the amount of scanning/grokking you have to do to find out how they are related. (Making them constant too also helps a lot as well... you know it won't change thereafter)