162 comments

[ 3.2 ms ] story [ 203 ms ] thread
RIP Larry Tesler, I ran into him a few times at meetup events in Bay Area, few people knew who he was as he kept a very low profile.
I met him at a meetup I went to out in SF while traveling for work. I didn't know anyone there, just going to kill time. I had no idea who he was just someone willing to chat with me for an hour or so. I started asking him what he did, and it was clear he wasn't there to talk about himself. Just struck me as a really cool, really humble, really approachable guy. With a lot of good ideas, and a passion for spreading curiosity. World needs more people like this, not less.
Very sad, Larry Tesler was brilliant and an inspiration.

Smalltalk, copy-and-paste, the Apple Lisa/Macintosh and Newton, Object Pascal (predecessor of Delphi), Stagecast Creator... NO MODES. ;-)

Pretty sure there isn't any bit of personal computing that Larry Tesler couldn't (or didn't) help make better somehow.

I am sorry to hear that. I once had lunch with him and John Koza (pioneer in genetic programming) around the 1994 time period.

Larry had the first book I wrote (Common Lisp book for Springer Verlag) and in a good natured way was trying to talk me into writing a book on Dylan. We kept in touch but I didn’t write a Dylan book. Talking with him and John for an hour was like getting a year’s worth of good ideas tossed at you, all at once.

Two tech legends left us this week: Larry Tesler and Bert Sutherland. Both played key roles at PARC, the research center Xerox started that sparked large chunks of what we use today.

Regarding Tesler: I sat next to him when I flew back from interviewing at Microsoft. He was in the last row on the plane. I saw his Blackberry, assumed he was a nerd. He had just left Apple, was on the committee that hired Steve Jobs. He had his fingers in so much of the tech that we use today from object oriented programming to the Newton that set the stage for the iPhone.

Sutherland participated in the creation of the personal computer, the tech of microprocessors, the Smalltalk and Java programming languages, and much more.

Huge losses for our industry.

Also Peter Montgomery.

Legend in cryptography who created many algorithms for fast and secure elliptic curve cryptography.

https://en.wikipedia.org/wiki/Peter_Montgomery_(mathematicia...

Yes. I discovered Montgomery Multiplication from the book Hacker's Delight. Potentially very useful for me.

Yesterday I looked at the wiki page for that, followed the link to Peter Montgomery's wiki page, and thought I'd send him a little thank-you just for that (I had no idea of his crypto work, none at all). Then I noticed he had died that very day, yesterday, Feb 18th 2020, age 72. I wish I'd just been able to send him that little thank-you. I missed that window by a few hours.

Keep studying for him, cheers
Larry Tesler was really convinced of the merits of modeless interfaces. He even got “NOMODES” on his license plate.

https://queeniehui.wordpress.com/2013/10/03/designing-intera...

Was at 23andME when he was there, too. We (engineering) had no idea who he was initially but I did notice his license plate "NO MODES." Only after we looked him up and found that he had invented copy-paste did we realize he was a living legend. Sad to see he's passed on.
I remember his mention in Bret Victor's talk, Inventing on Principle. He is known for cut copy paste, but he did far more than that. He introduced a single 'mode' for working for docs, as opposed to having typing, editing, formatting modes. He lived his entire life by the 'nomodes' ethos; that's his twitter handle to boot. I really respect that.
Oh my, Larry was only 74? That is far too young.

We were friends, off and on. Perhaps somewhat "off" after I stole his girlfriend. (In my defense, it was her idea!) But that was 35 years ago, and all was forgiven (and hopefully forgotten) in more recent years.

Here is Larry's Smalltalk article from the August 1981 BYTE, complete with a photo of the famous T-shirt that a mutual friend made for him:

   DON'T
  MODE ME
    IN
https://archive.org/details/byte-magazine-1981-08/page/n103/...

A couple of other good articles:

https://gizmodo.com/1841787408

https://medium.com/@kentbeck_7670/larry-tesler-1945-2020-b91...

(comment deleted)
Programmers die way too young. We need to chill out, code less, walk more. Or we need ways to code while walking.
He gave us so much more than cut, copy, paste. It's clear from all the design history books that I've read that he's a legend.[1]

NO MODES!

https://itsthedatastupid.files.wordpress.com/2010/05/nomodes...

[1] One of the more rare sources for Larry Tesler's contributions is his interview for Bill Moggridge's Designing Interactions (http://www.designinginteractions.com/interviews/LarryTesler)

The Wikipedia article for Cut, Copy, and Paste[1] seems to have this bit that's cited to that book:

> Inspired by early line and character editors that broke a move or copy operation into two steps—between which the user could invoke a preparatory action such as navigation—Lawrence G. Tesler (Larry Tesler) proposed the names "cut" and "copy" for the first step and "paste" for the second step. Beginning in 1974, he and colleagues at Xerox Corporation Palo Alto Research Center (PARC) implemented several text editors that used cut/copy-and-paste commands to move/copy text.

I imagine those "early line and character editors" refers to vi's delete, yank, and put, and emacs's kill, copy/"save as if killed", and yank. I wonder what other editors had back then, before the names he came up with became standardized.

I also wonder how the idea of the operations developed before Larry Tesler contributed to it.

Looking at POSIX[2], it seems ex has delete, yank, and put, but I can't see similar functionality in standard ed (GNU's ed does have yank, but I guess it's an extension).

[1] https://en.wikipedia.org/wiki/Cut,_copy,_and_paste#Populariz...

[2] https://pubs.opengroup.org/onlinepubs/9699919799/

TECO from the 1960's had more than cut and paste, multiple storage slots called "q registers" (they were named with letters) into which you could put text from the main buffer, and from which you could retrieve it back. Text regions in the buffer were referred to by numeric ranges, some number of characters forward or back relative to the current cursor position, with additional notions such as "here to beginning/end of line" or "n lines back/forward from cursor"

TECO commands were typed in as code, essentially, and that code could also be saved and run as macros.

it was extremely powerful, such that emacs was originally written as TECO Edit MACros.

Ah! That's why vi's letter-named registers are written to with the q command.
I was confused by the ‘q’ command in vi, so I did quick testing (in nvi(1)) and scanned vim cheat sheets. I still don’t know what ‘q’ does in the named buffer context - help?
Recording macros, I think.
Looks like you’re correct![0]

In nvi, I just key my commands on a scratch line (testing occasionally), then:

   “xyy
to load the whole line (yy) into buffer ‘x’ (“x). Execution (@x) thereafter looks ~same.

[0] https://vim.fandom.com/wiki/Macros

(comment deleted)
Douglas Engelbart demonstrated copy/paste with a mouse in 1968 [1], however I'm not sure what he called the process. It was also very much an experimental system and not something for sale.

[1] https://www.youtube.com/watch?v=yJDv-zdhzMY

> I imagine those "early line and character editors" refers to vi's delete, yank, and put, and emacs's kill, copy/"save as if killed", and yank.

No, 1974 predates both vi and Emacs

You're right, I missed that. Vi's predecessor ex, which also had these operations, is from '76, so it also couldn't be it. However, Emacs's TECO, which also had yank, is from '62/'63, so that might've been one.
FWIW, Larry also contributed some of his historical knowledge to the Talk page [1] of the Wikipedia article and also edited the article himself.

[1] https://en.wikipedia.org/wiki/Talk:Cut,_copy,_and_paste

Nice catch! And it was on a discussion on the question of "Does anyone know where this idea came from?"

Here's a nice bit:

> I chose Z/X/C/V when I was in charge of the user interface design of Apple's Lisa. In addition to their adjacency on the keyboard, I wanted them to have mnemonic value: "X" a cross-out; "V" an inverted caret or proofreader's arrowhead; "C" the first letter of "copy"; the strokes of "Z" tracing a reversal followed by a new path forward. -- Larry Tesler

> Correction: Apparently, my memory was incorrect. The Lisa user interface seems to have used "U" for Undo. On the Mac (as in Gypsy), "U" was and is for Underline. I do not know who chose "Z" for Mac Undo, or why. I suspect that its proximity to the Command key was the reason. -- Larry Tesler

There's more, but it's too much to insert here.

I'm just hoping this isn't someone posing as Larry Tesler.

The inspiration for my username.
Is there somewhere he elaborates on his No Modes philosophy?

Is it a blanket rule for him for all interfaces, or just text editors?

I don't know if he wrote anything formal, but I remember from talking with him, from his critiques of particular interfaces, and from projects that he was interested in, that he favored UI that made operations as concrete and manifest as possible, that made it as easy as possible to discover operations by experimenting, that made mistakes as low-cost and painless to recover from as possible, and that featured direct manipulation.
See his article "The Smalltalk Environment" in the August 1981 issue of Byte magazine: https://archive.org/details/byte-magazine-1981-08/mode/2up

The basic idea is that modes make the same action (pressing the "D" key, for example) do different things. They make things easier for programmers who want many operations on machines that only have a few possible actions, but they make things hard for the user who have to pay attention to the current mode and know how to navigate from that to the mode where the desired operation is possible.

It is easy to overlook the biggest source of modes: applications!
Here is a fascinating talk where he describes the approach for designing Apple's Lisa:

https://web.archive.org/web/20040511051426/https://computerh...

Fascinating because that exploratory process is essentially what we recognize as "graphical user interface" as of today, and the whole industry has committed itself to that particular design, to the point that exploring how to build interfaces from any other set of principles feels like a titanic task.

(comment deleted)
(comment deleted)
A career in full from his own CV:

"Board director for a FTSE 250 company, vp in three Fortune 500 corporations, president of two small software firms. 32 years building and managing teams of software and hardware engineers, designers, researchers, scientists, product managers and marketers to deliver innovative customer-centered products."

http://www.nomodes.com/Tesler_CV_Public.pdf

Honest but overly modest summary. I picture hiring managers or AI throwing his resumé away because he didn't have enough experience and was "out of date."

The Apple and Xerox segments are nothing short of astonishing.

ARM (Advanced RISC Machines) Holdings, ltd Cambridge, England (co-founder)

Championed the spinout of Advanced RISC Machines (ARM) from Acorn plc and served on ARM’s board for 13 years.

That turned out fairly well....

Wow serious Baader-Meinhof effect!

I recently downloaded all the PDFs from http://worrydream.com/refs/, and was reading Larry Tesler's A Personal History of Modeless Text Editing and Cut-Copy-Paste on my flight Monday.

It's a good paper, you can find it at the link above if you're in the mood to read it in memoriam.

Surprised I have not heard of him. He seems quite significant.
A reminder that our industry is very young still, and many who laid its foundations are still with us today, but won’t be forever.

There is no better time than now for collecting oral history, interviewing people, asking them about their stories, etc. All of this knowledge and stories can get lost very very fast.

And, pretty basic, but thank them for their contribution. Plenty of the stuff we take for granted should not be taken for granted at all, it took a lot of dedicated people working on machines that were severely limited to give us the luxuries we have today and believe that it has always been so. It wasn't.
(comment deleted)
I loved Larry Tesler’s work. No modes!
Sad news; total legend. folklore.org has a lot of stories featuring Larry — short stories on an era of computing that has faded around the edges. RIP.
I think you guys dehumanize these people by reducing them to one or two sentences about computers. You havent lost this man. You didnt even know him.
Some of us actually did know him. I did, albeit not as well as others here, and I see no harm and much good in people celebrating his accomplishments in his chosen career.
You don't necessarily need to know someone personally to feel a sense of loss. You can feel a "bond" with with someone based on all sorts of things: being members of a common community, sharing a common occupation, etc., etc.

To illustrate one case that hits close to home for me... when I think about the 343 firefighters who were killed on 9/11, I find it difficult not to tear up at times. Even though I never met any of them, and couldn't tell you any of their names. But we shared a common bond, by virtue of being firefighters. My sense of loss at their death is rooted in how deeply I admire all of them for the bravery and courage they displayed on that day, putting their lives on the line in the name of saving others. Do I feel that as strongly as if I had been the literal biological sibling of one them? Possibly not, but they were still my brothers, and the sense of loss is still real.

Without piling on: sometimes this is how you get to know someone.

It used to be interesting to scan the obit section of newspapers, just to see the parade of characters and achievements that I had missed or not known enough of.

Larry was a great thinker. I got to discuss "vi vs. emacs" at one of the Fellows induction ceremonies held at the Computer History Museum. He could easily articulate counter cases and keep the discussion both productive and quite civil!

I first met him while I was visiting my wife at her office in Xerox Business Systems (XBS). He came over to discuss some suggestions to improve the protocol she was working on. I thought he was one of her co-workers because the discussion was very peer to peer as opposed to top down. She corrected me to point out he was one of the movers and shakers at PARC. That left a very positive impression on me.

He was also "the other Larry" at Xerox. Larry Garlick, who was also "Larry" to most people, was also at XBS (as was Eric Schmidt) and later followed Eric over to Sun.

Which side of the debate was he on personally?
I'm guessing Emacs, because vi has modes and he was not a fan of modes.
I'm not sure that debate was really important since it's clear that his real answer was 'none of the above'.
He was very much in favor of modeless design, which emacs is much closer to than vi is. My argument was that emacs still has modes, operationally. You can make it a debugger, a mail reader, or a text editor by invoking code that puts it in that "mode." So the discussion quickly becomes what is meant by 'mode' and how are operational modes different than semantic modes which are different than presentation modes. If you haven't guessed it was pretty memorable for me, it helped me see some insights into the difference between design and engineering.
Eric Schmidt was, as I recall (which was when I was there), at PARC proper, doing his PhD thesis research and writing his thesis. But as Larry Tesler's interaction showed, there were fluid interactions between at least some people at PARC and the XBS and Xerox Star teams.
This breaks my heart. I used to work next to Larry—literally sat next to him—on Yahoo’s central design team. We were in frequent meetings together, but didn’t talk one-on-one often. One evening commuting from work, during one of many Caltrain failures, he noticed me as I waited outside the train and offered me a ride home. I remember sitting nervously in the car, a bit awestruck, and I finally got up the courage to ask him “Did you really invent copy and paste?!”

“Yes.”

From then on the ice was broken and we chatted more freely: fun discussions about the (then) up-and-coming voice recognition UIs (I compared them to CLIs which he liked), wearables, design, and cycling.

I consider him a friend. Didn’t expect us to lose him so soon.

To clarify, as the dialogue could be construed otherwise, Larry was actually very humble. While he was not as famous as he should have been, he had so much influence on the industry, it could easily go to your head. He was very approachable and helpful, and overall a generous and kind person. Will be sorely missed.
It’s ok, I think anyone would realise that the fact he gave you a lift meant he was a pretty nice guy. I really enjoyed reading your story. I’m sorry you lost a friend.
> he noticed me as I waited outside the train and offered me a ride home

Ctrl-X + Ctrl-V

Larry kindly traded letters with me when I was a young man attempting to learn programming via Object Pascal. Eventually, my mom made me write him a check for all the postage he had spent. In addition to sending me at least two letters a week for just around a decade, he shipped me dozens of books and manuals. One year for the holidays, someone sent me 4 large FedEx boxes filled with networking gear I desperately needed for a “M”MORPG game I was building. The return label read “53414e544120414e442048495320574f524b53484f50”. In the game, players were elves scrambling to defeat a corrupted workshop. The final boss was S̶a̶t̶a̶n̶ Santa himself.

It was only when I was older that I appreciated that he had probably sent me thousands of dollars worth of gear (and not in 2020 dollars!) in addition to the invaluable advice he provided, sometimes (frankly, often) unsolicited but always direct and always thought provoking.

While I never did become an extremely competent commercial developer, to this day I enjoy programming for programming’s own sake. Larry’s push for me to fix my own headaches, rather than simply giving me a metaphorical aspirin, resulted in my development of solutions for small hobby problems that it appeared often only myself and perhaps a few others shared.

As it turns out, in spite of (or thanks to) my niche interests, my curiosity and the method of targeted problem solving Larry fostered set me on a path I remain on today. Frankly, his contributions helped mold me as a man more than those of any other mentor of mine; that is absolutely meant as a compliment to his prescient pedagogy, rather than a slight at my life’s many other wonderful influences.

I’ve sold a few businesses thanks to Larry’s problem solving approach. The rest I founded are running profitably - and somehow I’ve never lost an investor money. My customers have always, above all else, been happy because they had their problems fixed. (Or, perhaps thanks to his influence, their happiness stemmed from my teams simply providing them with the tools they needed to solve their own problems!)

And because I followed Larry’s personal advice, I have been able to spend every day for nearly two decades doing what he encouraged and what has consistently engaged me: finding, isolating and destroying problems.

Thank you for everything.

Wow, that is quite the gesture.
Great story, thanks for sharing.
Cute... 53414e544120414e442048495320574f524b53484f50 = SANTA AND HIS WORKSHOP
(comment deleted)
Ha, I was wondering how you managed to reverse the hash and then had a facepalm moment.
I still don’t get it.
It's hexadecimal ascii
It's a hexadecimal encoding of the ASCII character codes: 53 41 4e 54 41 20 41 ... etc.
python, decoding and encoding the message

a="53414e544120414e442048495320574f524b53484f50"

"".join([chr(int(a[i:(i+2)],16)) for i in range(0,len(a),2)])

=> 'SANTA AND HIS WORKSHOP'

a = 'SANTA AND HIS WORKSHOP'

"".join([hex(ord(c)) for c in a]).replace('0x','')

=> '53414e544120414e442048495320574f524b53484f50'

An easier version and IMO more true to what's actually going on:

>>> bytes.fromhex('53414e544120414e442048495320574f524b53484f50')

b'SANTA AND HIS WORKSHOP'

>>> b'SANTA AND HIS WORKSHOP'.hex()

'53414e544120414e442048495320574f524b53484f50'

Thanks, nice. bytes.fromhex is really reading bytes from a hex string, so perhaps a better name should be bytes.fromhexstring, but since python names are short I understand the trade-off. Also, my first impression is that hex should be called bytes.tohexstring, but for those using python daily I understand the need of shorter names.
Great story to honor him. Maybe it is now time for you to be the ‘Larry’ in others lives.
> doing what he encouraged

Did he encourage you do be you ?

Are you You because of him, maybe not, because its impossible to grade.

But here you are paying respect to a man that you met, so I would say: he had an impact on you. Even at that moment.

We could play highschool politics and as what you learnt from him.

But from your message it's clear.

I never met him personally, but I certainly felt his impact.

RIP