Hacker Newsnew | past | comments | ask | show | jobs | submitlogin



There's no GitHub because Ted doesn't believe in open source.

He's not on board with open systems at all

We don't talk anymore because of that disagreement. I tried to convince him to blow the thing open and tried to explain how that's how projects get accelerated. Nope, not happening.


I mean open systems would be fundamentally in tension with the whole idea of paid, proprietary transclusion that's one of the central pillars of Xanadu right?


I'd say to make transclusions with the micro transactions work it has to be an open standard. It needs browser support and people willing to use it encoding their work.


Ah sorry I don't mean the mechanism itself, I was referring to the content.

Although even in the case of the standard, leaving aside whether this would make Xanadu feasible or not, I'm not sure given Xanadu's history whether it was ever conceived of being "open" in the same way, say HTML is.

There are plenty of standards that are effectively closed and require payment to access and read (see e.g. ISO standards as well as, in the U.S. the state of Georgia very nearly getting away with putting legally-binding annotations behind a paywall: https://arstechnica.com/tech-policy/2020/04/supreme-court-ru...). I think Xanadu's philosophy would've lent it to a similar approach, independent of what this would mean for its survival.


That you've got to pay for a copy of many (but not all [1]) ISO standards doesn't make them closed. Lack of funding for standardization work and the expectation that everything must be had at no cost is what gets you monopolies and dominating players, such as with so-called web standards. Nothing new really; citing from a post by Paul Prescod from 1997 in the context of subsetting XML from SGML [2]:

> Are you happy with the process for developing and improving HTML? Do you feel that the results are of high quality? Do you think that you've had sufficient input? [...]

> In order to influence ISO standards you need only be recognized as an expert in your country. Unless your country is an oligarchy or dictatorship, this will cost you very little or nothing at all [...]

[1]: https://standards.iso.org/ittf/PubliclyAvailableStandards/in... (beware comically broken page on mobile)

[2]: http://lists.xml.org/archives/xml-dev/199710/msg00189.html


The thing is, ISO isn't charging a fee with the idea that they can make money selling the standards. Hell, most standards they publish don't really have a monetization plan beyond "make all the relevant member organizations happy". The one exception is video, and that's not even money that ISO MPEG (or ITU VCEG) even sees. It all bypasses the standards orgs entirely and goes straight to patent owners through a clusterfsck of patent pools.


Here's another comment I wrote in the HN discussion from a couple years ago about "Ted Nelson on What Modern Programmers Can Learn from the Past [video] (ieee.org)", in which James Clark talked about his role in the transition from SGML to XML, and the value of standards being sufficiently simple to have multiple interoperable implementations:

IEEE Article and video about "Ted Nelson on What Modern Programmers Can Learn from the Past":

https://spectrum.ieee.org/video/geek-life/profiles/ted-nelso...

HN discussion:

https://news.ycombinator.com/item?id=16222520

My comment and quotes from the DDJ interview of James Clark, "The Triumph of Simplicity":

https://news.ycombinator.com/item?id=16227249

In the ideal world we would all be using s-expressions and Lisp, but now XML and JSON fill the need of language-independent data formats.

>Not trying to defend XSLT (which I find to be a mixed bag), but you're aware that it's precursor was DSSSL (Scheme), with pretty much a one-to-one correspondence of language constructs and symbol names, aren't you?

The mighty programmer James Clark wrote the de-facto reference SGML parser and DSSSL implementation, was technical lead of the XML working group, and also helped design and implement XSLT and XPath (not to mention expat, Trex / RELAX NG, etc)! It was totally flexible and incredibly powerful, but massively complicated, and you had to know scheme, which blew a lot of people's minds. But the major factor that killed SGML and DSSSL was the emergence of HTML, XML and XSLT, which were orders of magnitude simpler.

James Clark:

http://www.jclark.com/

https://en.wikipedia.org/wiki/James_Clark_(programmer)

There's a wonderful DDJ interview with James Clark called "A Triumph of Simplicity: James Clark on Markup Languages and XML" where he explains how a standard has failed if everyone just uses the reference implementation, because the point of a standard is to be crisp and simple enough that many different implementations can interoperate perfectly.

A Triumph of Simplicity: James Clark on Markup Languages and XML:

http://www.drdobbs.com/a-triumph-of-simplicity-james-clark-o...

I think it's safe to say that SGML and DSSSL fell short of that sought-after simplicity, and XML and XSLT were the answer to that.

"The standard has to be sufficiently simple that it makes sense to have multiple implementations." -James Clark

My (completely imaginary) impression of the XSLT committee is that there must have been representatives of several different programming languages (Lisp, Prolog, C++, RPG, Brainfuck, etc) sitting around the conference table facing off with each other, and each managed to get a caricature of their language's cliche cool programming technique hammered into XSLT, but without the other context and support it needed to actually be useful. So nobody was happy!

Then Microsoft came out with MSXML, with an XSL processor that let you include <script> tags in your XSLT documents to do all kinds of magic stuff by dynamically accessing the DOM and performing arbitrary computation (in VBScript, JavaScript, C#, or any IScriptingEngine compatible language). Once you hit a wall with XSLT you could drop down to JavaScript and actually get some work done. But after you got used to manipulating the DOM in JavaScript with XPath, you being to wonder what you ever needed XSLT for in the first place, and why you don't just write a nice flexible XML transformation library in JavaScript, and forget about XSLT.

XSLT Stylesheet Scripting Using <msxsl:script>:

https://docs.microsoft.com/en-us/dotnet/standard/data/xml/xs...

Excerpts from the DDJ interview (it's fascinating -- read the whole thing!):

>DDJ: You're well known for writing very good reference implementations for SGML and XML Standards. How important is it for these reference implementations to be good implementations as opposed to just something that works?

>JC: Having a reference implementation that's too good can actually be a negative in some ways.

>DDJ: Why is that?

>JC: Well, because it discourages other people from implementing it. If you've got a standard, and you have only one real implementation, then you might as well not have bothered having a standard. You could have just defined the language by its implementation. The point of standards is that you can have multiple implementations, and they can all interoperate.

>You want to make the standard sufficiently easy to implement so that it's not so much work to do an implementation that people are discouraged by the presence of a good reference implementation from doing their own implementation.

>DDJ: Is that necessarily a bad thing? If you have a single implementation that's good enough so that other people don't feel like they have to write another implementation, don't you achieve what you want with a standard in that all implementations — in this case, there's only one of them — work the same?

>JC: For any standard that's really useful, there are different kinds of usage scenarios and different classes of users, and you can't have one implementation that fits all. Take SGML, for example. Sometimes you want a really heavy-weight implementation that does validation and provides lots of information about a document. Sometimes you'd like a much lighter weight implementation that just runs as fast as possible, doesn't validate, and doesn't provide much information about a document apart from elements and attributes and data. But because it's so much work to write an SGML parser, you end up having one SGML parser that supports everything needed for a huge variety of applications, which makes it a lot more complicated. It would be much nicer if you had one SGML parser that is perfect for this application, and another SGML parser that is perfect for this other application. To make that possible, the standard has to be sufficiently simple that it makes sense to have multiple implementations.

>DDJ: Is there any markup software out there that you like to use and that you haven't written yourself?

>JC: The software I probably use most often that I haven't written myself is Microsoft's XML parser and XSLT implementation. Their current version does a pretty credible job of doing both XML and XSLT. It's remarkable, really. If you said, back when I was doing SGML and DSSSL, that one day, you'd find as a standard part of Windows this DLL that did pretty much the same thing as SGML and DSSSL, I'd think you were dreaming. That's one thing I feel very happy about, that this formerly niche thing is now available to everybody.


Yeah sure.

This is still pretty nascent distinction I'm thinking of but I think there's at least 2 types of innovators.

Those that can delegate and cede the process of new ideas and fundamental control and know others will act in good faith and shepherd things to the finish line. Examples are TBL and Torvalds, who may be a tough cookie, but isn't involved in everything; IBM, Nvidia and Google do their thing.

Then there is the other kind. There's not many kind words for these folks. They'll never delegate creativity or control, only tasks.

Xanadu ideally, and at a previous time in actual documents, was envisioned as a proprietary publishing empire, you know as if you'd get a mythical Alan Kay Xanadu Dynabook that'd have all the dreams manifest.

Sometimes these people are also really good and can make it happen, like Steve Jobs. But most of the time, they aren't good at something and not willing to cede it, something critical. Other times people aren't willing to do the work, it's too much of a barrier.

These types of people can succeed marvelously in smaller ideas. The perfectionist restaurant where the all star chef controls everything is basically every michelin star restaurant explained.

Same goes for great movies or music. Michael Jackson and Hitchcock were supposedly like this.

It's just a harder model to make work for big ideas. So much harder it usually just can't be done.

I really want a Nelson system but unless he can move himself to the TBL column and give way on crucial tenants, I really don't see it happening and having large adoption.

These personality types seem distrustful of people like me, as if I'm going to steal their valor. I have invariably failed to explain that no, I want them to succeed, give me 0 dollars and 0 credit.

I usually recommend don't even cede to me, but to some other, brilliant person, that I have no connection with. However, that's not compatible with their model of human motivation so their distrust becomes further entrenched, usually with me AND the recommendation. It's ugly.

I don't know how to work with these brilliant people.

For instance, Ted's micropayment system is essentially what Eich achieved using his BAT cryptocurrency in the Brave browser. He ceded massive controls to make it happen. Now places like Wikipedia and the Internet Archive are accepting BATs.

A true Nelsonite would debate with me how Eich's BATs are no true Scotsman, and that's the problem. They're close enough damn it, let it go. You aren't always going to get a bull's-eye on the dart board of life. Make it a stepping stone, a pipeline to the true life, whatever, just don't dismiss the good as the enemy of the perfect. I'm sure the first iphone and first ipod wasn't all of Steve's ideas made manifest. Heck, if he didn't have a perfect favorable storm with Microsoft floating Apple during their late 90s antitrust, none of Apple's second spring would've happened either.

Nelson's ideas work, that's what TBL proved with the w3, he just needs to structure them for success.


What you are describing is basically auteur theory. Though, I would argue these types of people are not worried about someone stealing their valor. It's mostly the worry that upon ceding, the original vision will be changed/corrupted in some way. And in my opinion, that fear is definitely justified, but it often comes to the detriment of progress.


I wrote about this on HN a few years ago, and Dave Winer's Userland Frontier discussion group a couple decades ago, after Xanadu released some open source code, which was actually the output of a Smalltalk=>C++ transpiler. (That code was actually from a team Autodesk, not directed by Ted Nelson -- see his reply below.)

https://news.ycombinator.com/item?id=16224154

I think his biggest problem is that he refuses to collaborate with other people, or build on top of current technology. He's had a lot of great important inspirational ideas, but his implementation of those ideas didn't go anywhere, he's angry and bitter, and he hasn't bothered re-implementing them with any of the "inferior technologies" that he rejects.

Back in 1999, project Xanadu released their source code as open source. It was a classic example of "open sourcing" something that was never going to ship otherwise, and that nobody could actually use or improve, just to get some attention ("open source" was a huge fad at the time).

http://www.theregister.co.uk/1999/08/27/web_precursor_xanadu...

>Register believe it or not factoid: Nelson's book Computer Lib was at one point published by Microsoft Press. Oh yes. ®

They originally wrote Xanadu in Smalltalk, then implemented a Smalltalk to C++ compiler, and finally they released the machine generated output of that compiler, which was unreadable and practically useless. It completely missed the point and purpose of "open source software".

I looked at the code when it was released in 1999 and wrote up some initial reactions that Dave Winer asked me to post to his UserLand Frontier discussion group:

http://static.userland.com/userlanddiscussarchive/msg010163....

http://static.userland.com/userlanddiscussarchive/msg010164....

http://static.userland.com/userlanddiscussarchive/msg010165....

http://static.userland.com/userlanddiscussarchive/msg010166....

http://static.userland.com/userlanddiscussarchive/msg010167....

A few excerpts (remember I wrote this in 1999 so some of the examples are dated):

>Sheez. You don't actually believe anybody will be able to do anything useful with all that source code, do you? Take a look at the code. It's mostly uncommented glue gluing glue to glue. Nothing reusable there.

>Have you gotten it running? The documentation included was not very helpful. Is there a web page that tells me how to run Xanadu? Did you have to install Python, and run it in a tty window?

>What would be much more useful, would be some well written design documents and port-mortems, comparisons with current technologies like DHTML, XML, XLink, XPath, HyTime, XSL, etc, and proposals for extending current technologies and using them to capture the good ideas of Xanadu.

>Has Xanadu been used to document its own source code? How does it compare to, say, the browseable cross-referenced mozilla source code? Or Knuth's classic Literate Programming work with TeX?

>Last time I saw Ted Nelson talk (a few years ago at Ted Selker's NPUC workshop at IBM Almaden), he was quite bitter, but he didn't have anything positive to contribute. He talked about how he invented everything before anyone else, but everyone thought he was crazy, and how the world wide web totally sucks, but it's not his fault, if only they would have listened to him. And he verbally attacked a nice guy from Netscape (Martin Haeberli -- Paul's brother) for lame reasons, when there were plenty of other perfectly valid things to rag the poor guy about.

>Don't get me wrong -- I've got my own old worn-out copy of the double sided Dream Machines / Computer Lib, as well as Literary Machines, which I enjoyed and found very inspiring. I first met the Xanadu guys some time ago in the 80's, when they were showing off Xanadu at the MIT AI lab.

>I was a "random turist" high school kid visiting the AI lab on a pilgrimage. That was when I first met Hugh Daniel: this energetic excited big hairy hippie guy in a Xanadu baseball cap with wings, who I worked with later, hacking NeWS. Hugh and I worked together for two different companies porting NeWS to the Mac.

>I "got" the hypertext demo they were showing (presumably the same code they've finally released -- that they were running on an Ann Arbor Ambassador, of course). I thought Xanadu was neat and important, but an obvious idea that had been around in many forms, that a lot of people were working on. It reminded me of the "info" documentation browser in emacs (but it wasn't programmable).

>The fact that Xanadu didn't have a built-in extension language was a disappointment, since extensibility was an essential ingredient to the success of Emacs, HyperCard, Director, and the World Wide Web.

>I would be much more interested in reading about why Xanadu failed, and how it was found to be inadequate, than how great it would have been if only it had taken over the world.

>Anyway, my take on all this hyper-crap is that it's useless without a good scripting language. I think that's why Emacs was so successful, why HyperCard was so important, what made NeWS so interesting, why HyperLook was so powerful, why Director has been so successful, how it's possible for you to read this discussion board served by Frontier, and what made the World Wide Web what it is today: they all had extension languages built into them.

>So what's Xanadu's scripting language story? Later on, in the second version, they obviously recognized the need for an interactive programming language like Smalltalk, for development.

>But a real-world system like the World Wide Web is CONSTANTLY in development (witness all the stupid "under construction" icons), so the Xanadu back and front end developers aren't the only people who need the flexibility that only an extension language can provide. As JavaScript and the World Wide Web have proven, authors (the many people writing web pages) need extension languages at least as much as developers (the few people writing browsers and servers).

>Ideally, an extension language should be designed into the system from day one. JavaScript kind of fits the bill, but was really just nailed onto the side of HTML as an afterthought, and is pretty kludgey compared to how it could have been.

>That's Xanadu's problem too -- it tries to explain the entire universe from creation to collapse in terms of one grand unified theory, when all we need now are some practical techniques for rubbing sticks together to make fire, building shelters over our heads to keep the rain out, and convincing people to be nice and stop killing each other. The grandiose theories of Xanadu were certainly ahead of their time.

>It's the same old story of gross practicality winning out over pure idealism.

>Anyway, my point, as it relates to Xanadu, and is illustrated by COM (which has its own, more down-to-earth set of ideals), is that it's the interfaces, and the ideas and protocols behind them, that are important. Not the implementation. Code is (and should be) throw-away.

>There's nothing wrong with publishing old code for educational purposes, to learn from its successes and mistakes, but don't waste your time trying to make it into something it's not.

Ted replied to the HN thread:

>The 1999 "source code" referred to above is in two parts: xu88, the design my group worked out in 1979, now called "Xanadu Green", described in my book "Literary Machines"; and a later design I repudiate, called "Udanax Gold", which the team at XOC (not under direction of Roger Gregory or myself) redesigned for four years until terminated by Autodesk. That's the one with the dual implementation in Smalltalk. They tried hard but not on my watch. Please distinguish between these two endeavors.


There's a tendency of ideologues to value ideological purity over fitness for use.

This is fine as long as people acknowledging their pure thought stuff is malleable.

One of Ted's memorable issues was in say indexing documents. He's wanted the markup to exist in a separate document that was byte addressable, not inline. So a separate index file.

I asked him "what about locales? Some systems are UTF 16." And you know, instead of I dunno, admitting that not doing a packet, block, or inline format was a mistake, he just insisted it'll be handled later. I asked him about cadence, how will you do versioning between the two, things are grossly inefficient if you change one byte, etc..

One of the other nice things of inline systems is you can get a partial file and still have all the context. With that system however, corruption is way too easy.

There's all these technical requirements to his grand idea that he asserts are completely absolutely necessary and have no technical equivalencies at all and do not have the obvious design and implementation limitations that can easily be overcome with very slight permutations in a way that still completely satisfies all practical usecases.

And he loves saying he's not a programmer. It's like come on Ted, trust the people who say you're micromanaging of implementation is erroneous. It's been like 50 years, some of your stuff doesn't work.

He shouldn't be bitter. Everyone technical in the field knows him. He's up there with Stallman, Knuth, and Shannon in name recognition. I probably won't even appear as a footnote no matter how hard I work. So yeah, mission fucking accomplished already Ted. Geez.


It's funny because he said it would be open at first. How did you know or come to work with him?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: