Ted Nelson: It All Went Wrong at Xerox PARC - <AUTHOR> https://www.youtube.com/watch?v=c6SUOeAqOjU <comment><USER2> Oh dear. This is a Jef Raskin-esque rant of an old man that's realised they aren't going to be nearly as influential in the history books as they once thought. I would hope never to have to do the same, either from delusions in the present or anger at the end!

This business of underplaying or demeaning the importance of the use of icons, fonts, or familiar metaphors in favour of some abstract notion of an interface that no one has succeeded in ever implementing, not least because no one can agree on what it should be, is a running theme. This is often accompanied by banging on about the importance of what are really just clerical operations.

PARC, like any office of a large organisation, was invariably subject to revisionist history, office politics and all sorts of other nonsense, but attempting to deny the fact they did produce the direction for our last 30 years (and possibly into the near future) is ludicrous, much as a similar rant against Bell Labs would be misguided.

Most specifically he glosses over the fact that the nature of applications in the environments at PARC had far blurrier lines around the edges than say iOS apps do. They had things like OLE, which the web is clearly trending to recreate in the form of web components because though implementations have sucked the idea itself makes sense to people.

Paying close attention to the ideas from PARC you can see that the real philosophical difference is Nelson is closer to the idea of an all ruling single document format - whereas the vision PARC believed in was an all ruling single code format. Once more the parallel to the evolution of the web is clear, in that what began as a way to distribute documents is morphing, slowly, into a method for distributing rich code objects.

<comment><USER3> Can anyone explain what the parent means by "Jef Raskin-esque rant" ?

<comment><USER4> Jef Raskin was a computer/ui designer who worked on the Canon Cat before becoming the leader on the Macintosh program at Apple. Steve Jobs took over the program and Jef was, by some accounts, forced out of the project. He expressed strongly opinionated ideas about what computer interfaces should be in a way that many see as rants about what might have been.

His book, The Humane Inerface ([http://www.amazon.com/The-Humane-Interface- Directions-Intera...](http://www.amazon.com/The-Humane-Interface-Directions- Interactive/dp/0201379376)) does have some interesting thoughts on how novice and expert users have completely different ways of interacting with machines.

<comment><USER5> As has been pointed out, you've got the sequence reversed. Raskin was on the original Macintosh team first. His ideas for the project included keeping the cost down. Things like using an 8-bit CPU (the 6809?) rather than the still- pricey 68000, a character-based display rather than bit-mapped, etc. He later created his own company and used those ideas in what became the Canon Cat product -- something that looked like a shrunken ADM-3A terminal. It kept all your documents on a floppy disk eschewing normal filesystem in favor of a Forth-based image system (not too unlike Smalltalk images).

Unfortunately he was convinced his ideas for interfaces should be protected by patents, virtually guaranteeing that things like his "leap" keys would never be adopted.

Back in the 1960s and 1970s there was a tremendous sense of possibility for what computers could do for us on the personal level. I think Nelson, like Alan Kay, is worth revisiting on that basis: reminding us of possibilities, not so much who was right and wrong or who was first to think of X.

</comment></comment></comment></comment><comment><USER6> As user jasonwatkinspdx pointed out, he's doing this at the Internet Archive headquarters. He's probably for purpose of recording an oral history. It appears that rather than taking the route of singing the glories of great men past, he figures there's enough of that, so he's giving an alternate view that he calls "computers for cynics" to record some of the less glorious aspects of personal computer history. I think he's made the right choice, although if you weren't aware of the context he would seem to be a bit of a crank.

Edit: If you watch "Computers for Cynics 4 - The Dance of Apple and Microsoft [1] he's much less cranky and sings praises to Steve Jobs in a way that made me re-evaluate my opinion of Jobs.

[1] [https://www.youtube.com/watch?v=_xL19f48m9U](https://www.youtube.com/watch?v=_xL19f48m9U)

<comment><USER7> Hmm -- I watched "Computers for Cynics 1 - The Nightmare of Files and Directories" (which I won't bother linking to, because frankly I can't recommend watching it), since file and storage systems are a topic of some interest to me.

It was similarly cranky, and littered with statements that were either poor descriptions of the concepts they aimed to explain, highly misleading, or just flat-out incorrect (if he has any idea how filesystems actually work, he's doing a damn good job hiding it).

</comment></comment><comment><USER8> This is a fascinating discussion. It is especially worth watching to the end.

Among other things, it seems like one could apply this argument to claim that the-web-as-interface is strictly better than the PARC-style GUI.

It well known, however, that Nelson objects to the web nearly as much as he objects to the "PUI". And this is because web is at best as a leaky simulation of multi-part document rather than a real implementation of Nelson's Xanadu vision (articulated in the 60's).

The thing is the Xanadu vision, multi-part documents with living links (distributed version control, permissions and etc) is more or less impractical to implement fully.

On the other hand, the point that a single-person word-processor certainly could use a series of piece a-la the pre-computer method he describes.

As Nelson mentions, one of the key ways the PUI was able to dominate was by organizing a variety of operations with a single metaphor. I suspect that Nelson is underestimating how important that is for making computers accessible to people.

<comment><USER9> This video of his seems to give more of a demonstration of his alternative paradigm:

[http://www.youtube.com/watch?v=En_2T7KH6RA](http://www.youtube.com/watch?v=En_2T7KH6RA)

It's really interesting to see, but in order for any of his idea to actually work you need to rethink the entire operating system it seems - not just the UI. He wants all content to have history, which would fundamentally break copy and paste (one of his points actually). The problem I see with that is you'd still have individual files (actual bits) on the hard drive, just they'd all have some meta content that describes it's origin. Or you'd need some sort of database file system (WinFS).

I'd like to see technology trending more this guy's way, but the reality is that the technological challenges seem to be too great at the moment.

</comment></comment><comment><USER10> It's Ted Nelson rattling through some of his computer-history notes on camera. So it's good material, but it's much better presented in his enjoyable and reasonably-priced book /Geeks Bearing Gifts/ [http://www.lulu.com/shop/ted- nelson/geeks-bearing-gifts/pape...](http://www.lulu.com/shop/ted-nelson/geeks- bearing-gifts/paperback/product-4312837.html) .

I noted a couple of apparent mistakes: at [https://www.youtube.com/watch?v=c6SUOeAqOjU#t=4m26s](https://www.youtube.com/watch?v=c6SUOeAqOjU#t=4m26s) Nelson says that Xerox paid Jobs to look at the PARC work, while AFAIK Apple in fact paid Xerox, in pre-IPO Apple stock. He also suggested that Xerox tried to bring in Jobs, when it seems to have been Apple who made the approach (at the instigation of Jef Raskin at Apple). [https://www.youtube.com/watch?v=c6SUOeAqOjU#t=2m15s](https://www.youtube.com/watch?v=c6SUOeAqOjU#t=2m15s) is misleading. PARC was more-or-less forbidden to buy a DEC PDP-10, which would have reflected badly on the competing machines from Xerox's new acquisition Scientific Data Systems, so PARC built a PDP-10 clone (the MAXC) in-house for their own use. That had very little to do with why they later designed and built the Altos: there was nothing remotely similar to an Alto out there that they could have bought (Nelson knows this).

</comment><comment><USER11> Interesting thoughts; it would be nice to have a transcript. (It's somewhat ironic in the light of the content that while he's clearly reading a prepared text, it's presented in a way that makes excerpting or reorganization nearly impossible; worse even than files of plain text.)

<comment><USER12> Youtube videos are auto-transcribed by Google for closed-captioning purposes. You can view the closed caption transcript by clicking the "Transcript" icon under the video. It's in between the "Add to" and "Statistics" icon unless specifically removed by the uploader.

I especially like the last line:

13:52in order to sell printers they threw away the universe 13:58thank you

</comment></comment><comment><USER13> I love Ted Nelson. He had a vision of a future that never materialized, and never will, but he's not bitter. Instead, he's keen on showing people that this "future" thing isn't an inevitable train crashing towards us, but the result of many, many choices, none of them neutral.

</comment><comment><USER14> It's very difficult to get past his tone in this video -- he seems angry and disgruntled.

I'm not saying he doesn't have valid criticisms, but he's not making it very easy to sympathize with him.

</comment><comment><USER15> Someone run this through a compressor, or advise him to stop with the sudden shouts... hurts to listen to...

</comment><comment><USER16> His point about the bastardization of "cut and paste" is very important in my opinion. Hell, he ends with this..

Bringing a complex tangle of code to heel becomes tractable if you just print it out, cut it up, and rearrange the parts.

It would be fairly sexy to be able to do this on your computer... granted, you need a lot of screen space to pull it off.

Oh, and I'm ignorant of Ted Nelson.... But it seems fairly obvious these talks are meant to be taken with some humour.

</comment><comment><USER17> I enjoy Ted Nelson when he's sharing historical context, but I hope he realizes that most of the salient points he is making are perfectly obvious to rather a lot of technical people. Affecting meaningful change or progress will take more than impassioned pontification.

</comment><comment><USER18> Some dude once said "Those who cannot remember the past are condemned to repeat it", and he was right.

</comment><comment><USER19> Is he sitting on a church pew?

<comment><USER20> Looks like the Internet Archive headquarters: [http://en.wikipedia.org/wiki/File:The_main_hall_at_Internet_...](http://en.wikipedia.org/wiki/File:The_main_hall_at_Internet_Archive_\(2013\).jpg)

<comment><USER21> Well, apparently the Archive HQ is a former Christian Science church.

</comment></comment></comment><comment><USER22> Steve Jobs would just say: "real artists ship"

[http://www.folklore.org/StoryView.py?story=Real_Artists_Ship...](http://www.folklore.org/StoryView.py?story=Real_Artists_Ship.txt)

</comment><comment><USER23> Is it just me or is Ted's vision basically OpenDoc?

[http://en.m.wikipedia.org/wiki/OpenDoc](http://en.m.wikipedia.org/wiki/OpenDoc)

<comment><USER24> Not even a little bit close -- nor can you pick up what his vision has been from that video.

</comment></comment><comment><USER25> Old man, bitter that Alan Key, Steve Jobs & Xerox PARC got more money & credit than he ever did. Who the hell cares about his gripes? The "legendary story" was generally corroborated by all parties involved.

Ted Nelson has yet to admit missing the boat by never being able to release anything in over 40 years. He is a super-consultant & inverse opposite of what Y&C stands for. A great visionary with zero implementation skill. Time to die.

<comment><USER26> Telling an old man it's "time to die" because you idolize PARC or Jobs or something is completely, unacceptably rude.

<comment><USER27> Sociopathic, even.

<comment><USER28> Typical iOS dev?

</comment></comment></comment></comment><comment><USER29> I wonder if meant 'PARC User Interface aka POOEY' ?</comment>


Ask HN: Is it reasonable to choose direct SQL over an ORM - <AUTHOR> I've been using an ORM for years - and often still find myself frustrated trying to map the complexity and nuance of SQL to an ORM api.
What is attractive to me about ORMs, though, is the marshaling of raw result rows into predefined structured objects (preferable pure objects). It seems like if I missed this, I could always reach for something like https://github.com/craigmichaelmartin/sql-toolkit - a small library atop database drivers which accepts raw SQL and return back pure, properly nested business objects.
Is this reasonable? <comment><USER2> It is! And it's a fun way to program imo.

I'm working on a project now, the api is graphql using Graphene in Python (flask-graphql with graphiql support), so we basically define the models using that. The graphene resolvers talk to a package called "services" which is where all the business logic and queries live, and services talks to another package "db" which deals with taking sql+params and returning dict rows.

It is exceedingly simple, easy to debug, and we're using postgres, so if you have a sensible schema, postgres can do just about anything you want to do very easily. We're using postgis, and postgres search features under the hood.

<comment><AUTHOR> Wow, that sounds like a really neat approach!!

</comment></comment><comment><USER3> For something other than a webapp, sure.

If you're writing a webapp, I suppose I would suspect that you just haven't spent enough time with a good ORM. It's natural to get frustrated with it occasionally, but seems like you can drop to SQL for those cases as a one-off, rather than discard the ORM totally?

<comment><AUTHOR> Hmm, yeah, but I think more than just not using a query building api, I prefer pure result objects. Even when dropping to SQL, the result objects are still database-aware objects. I prefer distinct layers between the business domain layer and the data access layer. Having a data access layer return pure business objects allows for this decoupling, but maybe I'm being to strict and forcing a distinction where there doesn't need to be one?

</comment></comment><comment><USER4> It is more than reasonable, you'll be reducing your dependencies and the surface area for bugs. SQL is well documented and provides more features than any ORM, especially if you're using postgres. And if you ever need to expose a REST API you can just slap postgrest in front of the DB.

</comment><comment><USER5> Depends a lot on context.

A simple CRUD query with a filter or two and a couple joins, in a large project maintained by a large team, is going to be more maintainable in an ORM.

But many ORMs will be awkward for writing queries used for complex reporting - if they can be written using the ORM at all.

And if you're working on a project that only you will touch, just use whatever you're most comfortable with.

</comment><comment><USER6> Dapper is a pretty good, lightweight ORM

</comment><comment><USER7> ORMs are great for simple stuff, but there's nothing stopping you from switching to raw SQL for more complex stuff.

Why can't you do both? I do it all the time.

<comment><AUTHOR> In an ORM, the returned objects from even raw SQL is still ORM objects (database-aware objects). I prefer keeping the business logic layer distinct from the data access layer, so I prefer for the return objects to be pure business objects. Maybe I'm being too anal and forcing a distinction where there doesn't need one?</comment></comment>


How we use IRC at Last.fm - <AUTHOR> http://www.metabrew.com/article/how-we-use-irc-at-lastfm/ <comment><USER2> I remember years ago, when I basically lived on IRC. Hell, I still have channels open 24/7. Now anytime I read about some company using IRC, I get really excited. And every time I use a web-based product that is basically an inferior replacement for IRC, it drives me crazy.

The most disappointing thing is that IRC is _still_ awesome and bots make it infinitely more useful than a webapp could ever be. Unless I can setup _Campfire_ bots or something.

<comment><USER3> I've always thought of Twitter as a crap implementation of IRC. It's like they're trying to do something which IRC has been able to do for so long. I think this article sums it up: <http://stubblog.wordpress.com/2008/05/21/how- to-fix-twitter/> \- though the point of people using it is valid. The IRC network I maintain peaked at around 5000 users about 6 years ago, now its down to 700.

<comment><USER4> Twitter _is_ a weak reimplementation of IRC. For that matter, instant messaging in general, from AIM to Jabber, is a weak reimplementation of IRC. It took years for these chat protocols to get features like rooms and direct- client chats and file transfers. It would have been better to slightly extend the IRC protocol to support the handful of things these services offer (SMS delivery and off-line message stores).

In the same vein, all forum software is a weak reimplementation of Usenet. Not distributed, no killfiles, can't pick your own client interface, can't make your own groups.

I learned a valuable lesson when I watched AIM use explode in high school. I realized that non-geeks started using a crappy chat interface because it was well marketed and ubiquitous (AOL and AIM). The same thing happens with many inferior technologies. Java is an extremely weak reimplementation of some most fundamental semantics of Lisp (such as garbage collection), and, thanks to marketing, became exceedingly popular. Twitter is the same thing (except I still don't see non-geeks using it).

<comment><USER5> Don't write usability off as "marketing". AIM presented a usable way to do chat for people who had no idea when IRC was a command-line confus-atron.

<comment><USER6> In this case it was really the adopters though. mIRC for instance was as usable as AIM.

</comment></comment></comment></comment></comment><comment> matthew-wegner We've played around with a few different notification systems at Flashbang/Blurst. It started with our scrolling LED sign, which would display commits along with text-to-speech on the office speakers (video: <http://www.youtube.com/watch?v=FJer51_DoFc>).

Over time, though, we started putting more and more stuff into Growl. We get Growl--via the network stuff--for all kinds of things now. This lets people configure it how they want, disable projects they don't care about (each project shows up independently in Growl), and isn't as disruptive all of the time.

We also use a Google Talk conference bot running an account on our Google Apps, powered by: <http://coders.meta.net.nz/~perry/jabber/confbot.php> . If we had the bot running first we would've probably used that rather than Growl.

We still use the sign for some fun things--we had it doing real-time sales notification of our iPhone games (which talk back to our server), but that became too distracting too quickly. For parties we turn on a webcam and let people type messages into it.

Long comment short, if you don't have real-time notification of source control commits and things--even if you're in the same room--you're missing out on something very useful.

<comment><USER7> Re: your youtube video... I've put up LED signs at work before, but they suffer the problems that:

(a) you need to look at it. Mental polling.

(b) It can show a small amount of text. There is little summary information (that we deal with) which benefits. Either boolean data that could be shown with a single light or lots of data that needs more space. Is it really useful, or more of a novelty?

Also, isn't the text-to-speech somewhat interrupting?

</comment></comment><comment><USER8> At Soup we use Jabber in a similar way: A group chatroom that everyone hangs out in, and a bot (based on Whistle: <http://whistle.rubyforge.org> ) that notifies us of GetSatisfaction requests, emails, commits & deploys and user signups (in batches, to not be too spammy).

<comment><USER9> same at my company... we just use xmpp4r and a git post-commit hook.

It also sends quotes from the quoteboard to our chat at 10, 12, and 2 :)

</comment></comment><comment><USER10> It is a pity IRC is so widely underestimated. I like seeing every utilisation like this.

<comment><USER11> There are countless websites and communities using IRC that you may not realize is IRC. The old big networks are still dying off, quakenet etc, but there's a big surge of growth from smaller networks. Freenode, oftc,

The thing is, IRC is tried and tested. IRC has developed ways to combat spam, abuse, irritating kids, etc etc. That's one of the things that makes it more attractive than any new solution. And of course it's easy to write bots for.

I know I'm biased, but I expect IRC to have a real surge of growth the next year or 2, and take over somewhat from other less immediate forms of communication.

Massive growth from video streaming/chat sites - ustream, justin.tv, things are only going to get more real time interactive, and people are likely to go with IRC.

<comment><USER12> If people are likely to go with IRC in the future, they're not going to know that they're on IRC. It's going to be some webbed up interface. I've met countless people who think "nerd" or "geek" when hearing the word IRC because it's all text and no pictures, so the only way to actually get them on it is with a pretty interface.

Personally, I see Jabber having real growth within the next 2 years due to GTalk, Facebook Chat and MyspaceIM. And as with IRC having a pretty interface, a multitude of people using these means of communication have no idea they're actually on a Jabber server.

Go figure.

<comment><USER13> That's exactly what we were thinking when we added 'chat' to PMOG. It's a well developed standard and, given a suitable simple interface, most people won't even know theyre on an IRC server. Plus, it's realtime, lightweight, hackable, etc, etc.

</comment></comment></comment></comment><comment><USER4> This is cool if only because I learned about netcat. I can't believe I never knew about it before and always relied on "telnet <somehost> <someport>" to do this.

</comment><comment><USER14> We use jabber for much of the same, find it quite strange that xmpp is not more widely used than it is, but can see that changing soon

<comment><USER11> One of the main reasons IMHO is that it's a ridiculously over complicated horrible badly designed hideous protocol, which was designed by committee rather than organically grown.

Writing a bot for XMPP isn't a simple matter of sending a few plain text commands. It's an absolute nightmare. It's so verbose and overcomplicated it's just not funny any more.

(I'm currently working on XMPP support in Mibbit, and writing the protocol lib myself so the pain is still raw).

<comment><USER14> the protocol is certainly verbose, but it isnt very complicated. the verboseness comes with a lot of extra functionality

<comment><USER11> Here is the login procedure:

      * Send out some xml spam to "create a stream"
      * Receive a stream reply, with feature sets.
      * Send out starttls
      * Get a reply back
      * Switch to secure mode
      * Send out some xml spam to "create a stream" inside the first stream
      * Receive reply back, check supported auth modes
      * Send out auth
      * Receive reply back
      * Send out some *MORE* xml spam to "create a stream" inside the first 2
      * Receive reply back, with features
      * Bind
      * Create session

_THEN_ you can do something useful. Most of the verboseness is idiotic XML:

eg <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>

Those xmlns's are everywhere, and are stupidly verbose.

You can write IRC commands by hand into telnet. But typing in xml is just not feasable since it's so stupidly verbose.

<comment><USER14> yeh its too much to be typing into a telnet session, but the extra functionality like being distributed, offline storage, out of band messaging can be very very useful.

irc works great as a chat protocol, xmpp is more viable as a generic messaging protocol

<comment><USER15> Simplicity and ease of access to a protocol is -key- in widespread adoption. This is why REST-like APIs are so popular - you can write a quick script in practically any language, you can test it on the command line with a quick CURL, or you can simply boot up a web browser and try it out.

</comment></comment></comment></comment></comment></comment><comment><USER16> We used Skype on one of my teams. It worked well. The ability to retain the history of the chat was the selling point, and the ease of calling someone up was the another. Problem on my (linux skype client at least) was exporting the chat history to a file.

</comment><comment><USER17> What does the -q0 option on nc do? Neither Linux or OS X appear to have this option available.

<comment><USER18> Shows up on mine (Linux):

-q [seconds] after EOF on stdin, wait the specified number of seconds and then quit.

</comment></comment><comment><USER19> The way he describes his implementation sounds like a digital Utopia. A live scrolling feed of topics people care about, with the ability to look things up from the past.

Twitter is definitely a simplification of this concept: You get your own channel to post into. And you also get to choose which other channels to merge together into one mega-channel that you read. Hashtags can send your posts to other "meta channels" defined by the community. Search basically makes each word in a post go to a channel defined by that word. It's all quite simple and beautiful, and stoneage.

</comment><comment><USER7> I wonder how they find IRC useful - doesn't it suffer from the same problems as tracking any other IRC channel?

Information you care about will be pushed off screen, if you set markers it will be as interrupting as any other popup and alternatively requires manual polling...

</comment><comment><USER20> We actually use a Skype Chat for this. Why? Because it's persistent, which IRC isn't...

We used Campfire for a while, but it was not as good as Skype Chat (and it caused my Firefox to crash in a way such that I had to reboot my Mac to get it working again).

</comment><comment><USER21> Audioscrobbler made sense, but now I look at Last.fm, search for bands that were quite popular there in 2006, but now are in the low single digits of playbacks. I think Last.fm has lost the plot, no matter how many gigabytes its market cap is.

<comment><USER12> You don't think that's just because people have moved on to something else? Seasons change, feelings change.</comment></comment>


Wanna know how I got these scars? I've tried to publish to the app store - <AUTHOR> https://hackernoon.com/wanna-know-how-i-got-these-scars-ive-tried-to-publish-to-the-app-store-6bbfcbf6339d <comment><USER2> Apple objection "1.1.6 Apps that enable anonymous or prank phone calls"

First line of the app's Readme.md "This application is for fake scheduled calls"

20 GOTO 10 ?</comment>