John Warnock has died
reuters.com
reuters.com
When we got home my wife asked me what Bob had said to me, I explained that he and John and pretty much explained that I didn't know enough about graphics algorithms yet to engage in their discussion. She said, "No, not Bob Taylor, Bob Sproul."
In my unsuccessful search to get it even cheaper, I came across this book, seems to be by the same Bob Sproull: https://www.routledge.com/The-Problem-Solving-Problem-Preven...
From graphics to management.
Why are you and other big names hanging out at HN? I thought Quora (and occasionally Reddit) attracted the big names. (I'm not complaining. I just thought people of your stature had their own "exclusive" watering holes on the Internet ;)
And to clarify, I did not work at PARC, my wife worked as Xerox Business Systems which was co-located with PARC and there was a lot of intermingling. I was at Intel when we moved here, then joined Sun.
https://programmersatwork.wordpress.com/john-warnock/
A good interview detailing among other things why he succesfully made type1 fonts a trade secret for a while:
https://knowledge.wharton.upenn.edu/article/adobe-co-founder...
Cringley book chapter on the three way competition of Adobe, Microsoft and Apple: https://www.cringely.com/2013/03/14/accidental-empires-chapt...
Found these while looking for John Warnock's blog/website which was really interesting to read in the late 90s but I can't remember its name...
Alan Kay on “Should web browsers have stuck to being document viewers?” and a discussion of Smalltalk, NeWS and HyperCard:
https://medium.com/@donhopkins/alan-kay-on-should-web-browse...
>Owen Densmore recounted John Warnock’s idea that PostScript was actually a “linguistic motherboard”. (This was part of a discussion with Owen about NeFS, which was a proposal for the next version of NFS to run a PostScript interpreter in the kernel. More about that here:)
https://donhopkins.com/home/archive/NeWS/linguistic-motherbo...
>Window System? ..NeWS ain’ no stinkin’ Window System! -or- Swiss Army NeWS: A Programmable Network Facility, by Owen Densmore, Sun Microsystems, NeWS Team
>Introduction
>NeWS is difficult to understand simply because it is not just a window system. It is a “Swiss Army Knife” containing several components, some of which contribute to its use as a window system, others which provide the networking facilities for implementing the client-server model, all embedded in a programmable substrate allowing extremely flexible and creative combination of these elements.
>During the initial implementation phase of the Macintosh LaserWriter software, I temporarily transfered from Apple to Adobe working closely with John Warnock and other Adobe engineers. At lunch one day, I asked: “John, what do you plan to do after LaserWriter?” His answer was interesting:
>PostScript is a linguistic “mother board”, which has “slots” for several “cards”. The first card we (Adobe) built was a graphics card. We’re considering other cards. In particular, we’ve thought about other network services, such as a file server card.
>He went on to say how a programmable network was really his goal, and that the printing work was just the first component. His mentioning using PostScript for a file server is particularly interesting: Sun’s next version of NFS is going to use PostScript with file extentions as the client-server protocol!
https://news.ycombinator.com/item?id=22456710
Brian Reid’s deep detailed historic dive “PostScript and Interpress: a comparison”:
WARNOCK: Oh, I’ve always liked mathematics; problem solving has always been fun. My saving grace in life is that I was not introduced to computers at an early age.
INTERVIEWER: Why wouldn’t it help to learn about computers earlier?
WARNOCK: I went through the university, all the way to the master’s level, so I got a good, solid liberal education. I believe it’s really important to have a very solid foundation in mathematics, English, and the basic sciences. Then, when you become a graduate student, it’s okay to learn as much as you can about computers.
> It's incredibly insightful, full of personal stories from his time at Xerox PARC, under the leadership of Robert Taylor, working with Butler Lampson and so much more about the founding of Adobe and Silicon Valley in general.
http://www.codersnotes.com/notes/warnock-subdivision-for-def...
RIP John Warnock.
* https://www.youtube.com/watch?v=pl0GthyD3f0
Also "PostScript: A Digital Printing Press":
* https://computerhistory.org/blog/postscript-a-digital-printi...
John's humility, despite his monumental success, taught me to always keep my feet on the ground. His vision inspired me to push boundaries in software development. But above all, it was his passion that kindled a fervor within me to harness technology for change.
John Warnock's passing is a massive loss for the tech world. My heart goes out to his loved ones during this time. His legacy, however, will continue to shape the industry, inspiring countless others just as he had inspired me. Goodbye, Mr. Warnock. You will be missed.
When Apple turned on Adobe, over and over again, I did not understand how "Apple bites the hand the feeds it" .. Adobe was a likable brand. Of course, Microsoft betrayed and undermined Apple not repeatedly, but as often as possible, inventing new ways to do it with vigor. No review is possible without mentioning the day that Apple, Microsoft and Adobe were on stage at a trade show, and Apple+Microsoft announced the TrueType standard, and John Warnock literally wept in front of thousands with the shock and betrayal of it.
very strange days indeed RIP John Warnock, bright intellect, inventor, leader
It was no Quark, but Adobe was never a likable brand, and has always been as much (if not more) of a monster as Apple.
Remember that TrueType was an Apple/Microsoft response to Adobe's behavior around Adobe's monopoly on core desktop publishing technologies. The reason Warnock was on the verge of tears at Seybold in 1989 is because he was forced to compromise on price and terms to keep PostScript on LaserWriters.
I was there and I do not agree with your summary of the situation. I doubt that anyone knows now except a few C-level and their attorneys.
In the 1990s Cisco and the ISPs were the biggest internet companies, then it quickly moved to yahoo and google, then mere websites (Facebook, Twitter etc).
Methinks apple and Microsoft just bullied Adobe and kept them down.
So what did you decode about the economics of the intense desktop publishing era?
Those days, working with FORTRAN and PostScript, were foundational for me. To this day, the reference books from that era hold a place on my bookshelf:
https://coding-and-computers.blogspot.com/2022/12/postscript...
Warnock's innovations have been instrumental in shaping digital publishing and design.
Desktop publishing was the only killer app for GUI in the late 1980s. Adobe PostScript was a truly genius piece of software that enabled even the relatively low-powered Mac to become a DTP workstation. And of course Warnock was a co-inventor of PostScript.
With it, copied that document and printed it and the university's letterhead was nicely at the top - scaled to any size. It worked just as well on 8x10 as it did on cardstock that was to be sent out.
It cut down on the cost for printing for the department because they didn't have to buy as much of the letterhead pre-printed paper. Saved on time too since you just printed it rather than needing to load one special sheet and then print the rest.
He saved the stack of paper that he used to learn with for a while. Got four tests per page (four edges and flip). The red book for PostScript laid on top of it.
So when I got to use a NextStation with Preview.app, that was a huge revelation, interactive postscript.
GEM and Windows were nibbling at the heels of Apple already. Then you had Sun and others at the high end. PostScript was so advanced that it was further ahead of the competition in its field than Apple was in the GUI market.
https://www.folklore.org/StoryView.py?story=Origins_of_Splin...
https://www.folklore.org/StoryView.py?story=Joining_the_Mac_...
https://www.folklore.org/StoryView.py?project=Macintosh&stor...
In any case, Postscript was probably one of the most important technologies of the last century. It afforded some major-league stuff.
Funny story: I had an engineer that reworked a vignetting algorithm (image processing module), to be about 100X faster. He wrote the spec for it in pure Postscript. The example illustrations were actually Postscript, executing his algorithm.
The folks in Japan defecated masonry over that.
The cool thing was that some parameters to control the rendering were used in the plugin at runtime for file generation (to control file size), but others were written into param declarations in the PS header for execution at print time.
PS is text, so you could manually tweak values for the speed-fidelity trade-off at print time, long after after the file was generated.
Want to spend 30 minutes rendering to A0 without any depth artifacts? Just change a number in the file header.
There is one now.
Nearly half a century ago, a visualization tool for a port (!) morphed into an interpreter for laser printers:
"The concepts of the PostScript language were seeded in 1976 by John Gaffney at Evans & Sutherland, a computer graphics company. At that time Gaffney and John Warnock were developing an interpreter for a large three-dimensional graphics database of New York Harbor." (Wikipedia)
I read about this also in some book (Coders at Work?), and was surprised it did not originate from the graphics design community, although Warnock's wife is a graphics designer. Adobe wasn't named after a habor, but after the little creek behind Warnock's home in California, apparently.
Funny dual meaning here. "The RIP" (pronounced as a word) is what they called the PostScript unit on a high end imagesetter like a Linotronic or Agfa. It stands for Raster Image Processor.
John was a good dude. Brilliant, and the type of leader that was good to work for as an engineer, because he believed the engineering was the point of it all.
> Warnock's wife is a graphics designer
The story I always heard about Illustrator is that it started out as a program he wrote for her to make editing PostScript art easier. She also designed the original green Adobe logo, which the current red A logo is derived from.
I'm happy to say the usage lives on in RIPs small and big, from wide format printers to digital offset presses.
John Warnock's keynote is here: https://www.youtube.com/live/VzEaM6QAy-4?feature=share&t=476...
And the whole 3 hour video is the same link sans the t: https://www.youtube.com/live/VzEaM6QAy-4
And here's the presser: https://www.cs.utah.edu/50th-anniversary-of-computing-at-the...
* quality of life would massively improve as far fewer people would suffer the tragedy of permanently losing loved ones, and would be saved from the ravages of aging and the anguish of an impending death. Saying nothing about the vastly deeper and greater experiences that much longer lifespans would impart.
By world, you mean the environment, due to population growth? By that logic, we should reduce healthcare spending to reduce life expectancy, and with it, the human population.
I am pro-humanity, so I want to end death for all people. The problems of overpopulation can be addressed through other means.
Also, plenty of old people want to explore new ideas and join these experiments, and if they knew they had more time, possibly many more would too.
It's the people who don't believe in the potential of humanity, and thus want to keep human life limited, who seem to lack vision and be stuck in their cynical, rigid mindsets.
With Display Postscript you could type in real Postscript commands into your C/Objective-C source file and it was pre-processed into actual code.
defineps PSWGrayCircle( )
newpath
10.0 10.0 5.0 0.0 360.0 arc
closepath
0.5 setgray
fill
endps
And it could be called just like any other function, including with parameters.https://en.m.wikipedia.org/wiki/Warnock_algorithm
Edit: had a brain fart, fixed my idiocy
Made me understand that at the grand scheme of things it’s a calorie balance problem that one has to solve, regardless of what you eat.
His method included junk food and prepackaged food because it is portioned and you know exactly the calorific content.
Worked for me.
Goodbye:(
Sad news. Like many I'm sure, one of my first magical experiences with computers was printing a color gradient on a Laserjet printer. Hard to overstate what an influence Adobe's products have had not just on the industry, but society as a whole.
Applications are one thing (e.g. the way they took away Quark's iron-handed grasp on DTP).
But, then there are the standards.
For example, PDF.
The modern world would barely operate without PDF.
Adobe PostScript, invented by Warnock, was _the_ standard. It was the means by which an application could describe to the computer in the printer the layout of the page. (And later the compute resources in the printer got separated first into Raster Image Processors (RIPs) and later just part of printer drivers in the computers).
The development of PDF was driven by the need to resolve incompatibilities in PostScript implementations that had become the nightmare of graphics pros in the early 90s. It was not uncommon to have to use random software to convert one PS file to another PS file which could be understood by the RIP owned by a given print shop.
Quark was built on the infrastructure enabled by PostScript in the first place.
Edit to add: possible confusion - RIPs were primarily used to generate super high res output on film used for lithographic plates, but they were enabled by the standardization around PostScript for driving laser printers.
PDF was great when most documents needed to be printed, so sending say an invoice to someone you could ensure their printed copy was the same as your printed copy.
PDF in "modern" world, where printing is less important and really should be sent to the dust bin if history. PDF has become a complex web of security problems, screen compatibility problems, and various other things including the complex web of converters to take PDF's and make them back into something editable / usable.
We need a replacement for PDF, and let PDF go away along with the printer
Actually PDF still rules the roost.
Any professionally printed thing you see, whether as small as a humble corporate business card, or as large as a billboard will have been provided to the print shop as a PDF.
In the past, you would have had to send the DTP file and all the accompanying assets, including the font if you were using a non-standard font.
Now you just send the print shop a PDF. Job done. Its a win-win for both parties.
If you do any kind of business at all, especially the accounting side of things, printing is still a hard requirement and PDF makes all that practical.
That is provably false, lots of businesses have gone paperless, and all (at least for the US) government agencies, courts, etc all fully accept erecords, many preferring it.
Maybe. But maybe people would have simply adopted other standards, like djvu.
- Thank you for the meeting, oh and please send me the djvu of your reports
- Oh I'd swear we already had this conversation and I had already sent them?
Some people still insist on using non-PDF, for example the Swiss tax office insists on some weird proprietary format[1], QDF made by some obscure company called Snapform. All their forms are in QDF format.
It introduces completely un-necessary friction into the process. Everyone knows they should have just used PDF. Instead of forcing people to install some reader software they will never use for any other purpose.
[1] https://www.estv.admin.ch/estv/en/home/anticipatory-tax/clai...
What are these? Adobe provides a large amount of value to the graphics industry and charges a fee for that. People buy it if they want or don't if they don't. I fail to see any rent seeking (seeking to increase their own wealth without creating any benefits or wealth to the society).
But from the day it was announced I have always thought postscript is completely backwards.
It's not bad, it's just drawn that way.
The Shape of PSIBER Space: PostScript Interactive Bug Eradication Routines — October 1989:
https://donhopkins.medium.com/the-shape-of-psiber-space-octo...
This when receiving a link to a pdf on your phone the natural action is to ignore it and do something else.
What I've found over going on three years using a large-format (13.3") e-ink tablet, however, is that PDFs oriented toward documents from roughly octavo to A4 / US Letter formats is what I strongly prefer to free-flowing formats, most especially HTML, but also ePub, so long as the PDFs are sensibly formatted.
Free-flowing formats end up requiring scolling, critical elements (tables, graphics, and images) frequently span viewport boundaries requiring repositioning, and font choices and rendering are often poorer than for PDFs.
It turns out that book and standard paper formats evolved toward the sizes we're accustomed to because they suit the ergonomics of reading and handling well. Mobile phones' core constraint is to fit into a pocket or purse, which tends to be smaller than a full-form book or magazine. It's not so much that PDFs are ill-suited to them as that mobile phones are poor formats for reading full stop.
Yes, PDFs can be poorly formatted and all that jazz, but so can HTML docs (and far more frequently), or ePubs. My principle remaining complaint is that tools for organising and managing a substantial electronic document library are ... exceedingly poor, in most cases. Though that's independent of the document format used.
With NeWS, instead of paper, we drew on overlapping arbitrarily shaped nested scaled clipped canvases, and never used the "showpage" operator or DSC (Document Structuring Conventions) or EPS (Encapsulated PostScript) comments when using PostScript to draw trees of user interfaces components (like Open Look and PSIBER) and interactive zooming applications and visualizations (like the drawing editor in HyperLook, and the zooming scrolling animated SimCity maps and sprite overlays and graphs).
PDF is more constrained and document/page structure focused that free form PostScript even with DSC/EPS, as were Interpress and JaM.
https://en.wikipedia.org/wiki/Document_Structuring_Conventio...
https://en.wikipedia.org/wiki/Encapsulated_PostScript
I always thought it was a bold move to name a page description language for laser printers "JaM" (the predecessor to Interpress).
Brian Reid touched on (or rather dove deep into) it when he described the different approaches JaM and Interpress and PostScript had to structure and semantics. The whole article is fascinating, but I'll quote the relevant parts:
https://www.tech-insider.org/unix/research/1985/0301.html
>From: Brian Reid <reid@Glacier>
>Posted: Fri Mar 1 19:08:05 1985
>Subject: PostScript and Interpress: a comparison
[...]
>There is, however, a crucial difference between the PostScript and Interpress naming schemes that makes them very different, and makes impossible the above-mentioned imagined compiler to translate PostScript into Interpress. That difference is best understood as a semantic difference, and will be explained in the next section.
>Returning to syntactic issues, an Interpress file has what is called "static structure" or "lexical structure". This means that you can look at an Interpress file and make structural assumptions about what you find there. For example, an Interpress file is defined to be a sequence of "bodies"; each body is a sequence of operators and operands. The first body is the "preamble", or setup code; all following bodies correspond to printed pages. If an Interpress file has 11 bodies, then it will print as 10 pages.
>By contrast, a PostScript file has no fixed lexical structure; it is just a stream of tokens to be processed by the interpreter. PostScript prints a page whenever the SHOWPAGE operator is executed. If a PostScript file contains a loop from 1 to 10, with a SHOWPAGE operator inside the loop, then it will print 10 pages even though there is only one actual call to SHOWPAGE in the file. However, since PostScript is a textual language, and since it has a "comment" facility like the C /..../ or Pascal {...}, it is possible for the creator of a PostScript file to represent whatever additional information is desired. It is a slight misnomer to call this a comment facility, because the normal use of the word "comment" in programming languages implies that the contents of the comment are irrelevant. PostScript comments are irrelevant in the sense that they do not affect the image produced by a PostScript file, but they do convey machine-readable information about the structure of the document.
>A PostScript client is free to choose any structuring scheme that he wants, and the tool that he has available to implement this structuring scheme is the PostScript comment. There is a particular "standard" structuring convention documented along with PostScript by which page boundaries and other lexical information can be marked. A PostScript file that follows that convention is called a "conforming" file, but it is a convention and not a rule; the printed image produced by a nonconforming PostScript file will be identical to that produced by the equivalent conforming PostScript file. Conversely, the structure of a PostScript file, as represented by the structuring convention, is completely independent of the appearance of the page images--the actual PostScript text appears to be a series of comments as far as the structuring systems are concerned.
>The technique of mixing two different languages in one file, so that a processor for one language sees the text of the other language as comments, is not new. Perhaps the most widely-known instance of this scheme is Don Knuth's "WEB" system, in which Pascal and TEX are woven together in such a way that the Pascal program looks like a comment to the TEX interpreter and the TEX source looks like a comment to the Pascal compiler.
>This absence of fixed lexical structure in PostScript is a two-edged sword. On the one hand, it offers more flexibility in creating page images, especially repetitive ones; on the other hand, it provides more opportunities to make mistakes.
[...]
>An Interpress file consists of a series of bodies. Each body is executed completely independently of each other body. In particular, at the beginning of each page body, the execution environment is restored to the state that it had at the end of execution of the preamble, so that each page body is executed as if it were the only page in the document. There is absolutely nothing that the code in one Interpress page can do that will have any effect on the execution of the code in any other Interpress page, and the Interpress language guarantees that independence. This permits, for example, the pages to be executed or printed in any order, front to back or back to front, or in folios of 16 pages at a time, with complete confidence that the appearance of the pages will not change.
>By contrast, a PostScript file has no static structure, so there is no convenient place to build automatic firewalls. PostScript provides, instead, two pairs of operators by which a PostScript user can build his own firewalls wherever he wants them. There is an operator called SAVE, and another operator called RESTORE. The RESTORE operator restores the execution state of the machine back to what it was when the last SAVE operator was executed. Thus, if a PostScript user wants to have pages that are firewalled against each other, then he puts a SAVE operator at the beginning of the page and a RESTORE operator at the end of the page. If the PostScript user wants to play tricks, and build PostScript files that do bizarre things with the execution state between pages, he is free to do so by leaving out the SAVE and RESTORE.
>By now you can probably see the fundamental philosophical difference between PostScript and Interpress. Interpress takes the stance that the language system must guarantee certain useful properties, while PostScript takes the stance that the language system must provide the user with the means to achieve those properties if he wants them. With very few exceptions, both languages provide the same facilities, but in Interpress the protection mechanisms are mandatory and in PostScript they are optional. Debates over the relative merits of mandatory and optional protection systems have raged for years not only in the programming language community but also among owners of motorcycle helmets. While the Interpress language mandates a particular organization, the PostScript language provides the tools (structuring conventions and SAVE/RESTORE) to duplicate that organization exactly, with all of the attendant benefits. However, the PostScript user need not employ those tools.
>Before taking a stand on this issue, you must remember that neither Interpress nor PostScript is engineered to be a general-purpose programming language, but rather to be a scheme for the description of page images, so it is not necessarily valid to apply programming language lore to these two systems.
[...]
<https://en.wikipedia.org/wiki/Brian_Reid_(computer_scientist...>
https://freecomputerbooks.com/PostScript-Language-Program-De...
https://freecomputerbooks.com/Thinking-in-Postscript.html
https://news.ycombinator.com/item?id=28115946
>Glenn Reid wrote a PostScript partial evaluator in PostScript that optimized other PostScript drawning programs, called "The Distillery". You would send still.ps to your PostScript printer, and then send another PostScript file that drew something to the printer. The first PostScript Distillery program would then partially evaluate the second PostScript drawing program, and send back a third PostScript program, an optimized drawing program, with all the loops and conditionals unrolled, calculations and transformations pre-computed, all in the same coordinate system.
https://news.ycombinator.com/item?id=19751161
>Around 1990, Glenn Reid wrote a delightful original "Font Appreciation" app for NeXT called TouchType, which decades later only recently somehow found its way into Illustrator. Adobe even CALLED it the "Touch Type Tool", but didn't give him any credit or royalty. The only difference in Adobe's version of TouchType is that there's a space between "Touch" and "Type" (which TouchType made really easy to do), and that it came decades later!
https://news.ycombinator.com/item?id=19882301
>Brian's brother Glenn Reid was also very active in the PostScript world, he worked for Adobe (Illustrator), Apple (iMovie) and Fractal Design (Painter, Dabbler, Poser), and NeXT (Interpersonal Computing).
Brian Reid also published the Usenet Cookbook, maps of Usenet in PostScript, and wrote the story about "The Mother of All Grease Fires" that almost happened outside of where he worked at DECWRL (DEC Western Research Laboratories in Palo Alto).
https://milk.com/wall-o-shame/bucket.html
https://en.wikipedia.org/wiki/Brian_Reid_(computer_scientist...
<https://archive.org/details/interpresssource0000harr/page/2/...>
I think I was vaguely aware of his work on Scribe though that had slunk off into dark recesses of my brain (which is to say, most of it). Given my interests in documents and their specification & management, Scribe's been something I've meant to look at more closely, so this is a handy reminder, and I appreciate the further context.
I see absolutely no reason we should stop. Is it really an inconvenience to have a simple black bar at the top of the page to act as a reminder?
The black bar is not "a simple gesture of respect" — if it was, it would never disappear. It's a sign of mourning over the passing of someone whose contributions were extremely influential to the high-tech industry, and who is/was widely known for their contributions.
> I see absolutely no reason we should stop.
Neither do I; nor do I think we should be doing that on a daily basis.
Broad demographics are regular, but we're sliding into the period where "the first 10,000 people to make a living from working with computer technology" are all going to be dead or about to die. That's a sort of unique inflection point.
If you also reflect on the fact that a lot of the computer technologies that impact people the most today were developed in the 1970s-1990s period, this becomes even more so.