PostScript’s sudden death in Sonoma
eclecticlight.co
eclecticlight.co
Not sure about EPS - last I used it was for vector graphics within LaTeX documents. That was in the early 2000s.
I am sure that applications targeting designers will integrate alternatives like Ghostscript soon enough.
People really should use pdflatex at the very least now. The original latex has too many issues and quirks.
I used to use PDF because you could easily export them from Illustrator and suck them straight in to xelatex or pdflatex (but this was years ago, so I can’t remember all the specifics)
At least it was the case when it mattered to me, now I mostly moved to LuaLaTeX anyway for other reasons.
https://support.microsoft.com/en-us/office/support-for-eps-i...
This library doesn't natively support anything other than PNG, but there is a small superclass that has been contributed to add EPS functionality.
I actually pulled an SVG copy of the required corporate logos and converted them to EPS with Inkscape. Oddly, I had to save them upside-down, then edit the comments in the preamble to more closely match Adobe Illustrator before they would render properly.
I also tried TCPDF, but I found odd reliability problems.
RIP = Raster Image Processor, often a standalone computer acting as a front-end for a printer. It accepts jobs, runs the PostScript, and converts it to a format native to the printer.
At some point, it has to render a bitmap. Conceptually simple, but the frame buffer is going to be multiple megabytes.
When PostScript was young, megabytes of RAM could require thousands of dollars.
The CPU running PostScript was itself a rather powerful machine for the time.
And then, the software license for the PostScript running on the RIP...
I ran a network of 200 Macs, and for a number of years, the most powerful computer on that network was the printer.
I sort of get it now, it's 1996, you have a million dollar printer, you want to make sure the computer assigned to handle the images can keep up with it, the o2 is probably a good fit.
The other fun fact about the o2 is apparently the oil companies liked it. It is a unified memory architecture. On the one hand this means it's graphics were far slower than it's big brother, the octane, On the other the octane has at most 16 megabytes of video memory. you could get close to a gigabyte of memory in the o2 and and you could use as much of that for video memory as you could get away with. Great for those large geological survey visualizations.
An advertising agency had such a setup for in-house production. 1998.
Not sure if they can remove Perl; it's tangled up in standard C libraries I think, and would be hard to kill.
Indeed.
char *cmd = "/usr/bin/perl -e 'print join(chr(0), @ARGV), chr(0)' -- ";
(https://github.com/Apple-FOSS-Mirror/Libc/blob/2ca2ae7464771...)That’s to implement wordexp, a POSIX function that probably is best avoided unless you really really need it.
I think the sanest implementation would move lots of code from the shell into the standard C library, but that probably has its own problems, as FreeBSD does something similar. https://man.freebsd.org/cgi/man.cgi?query=wordexp&apropos=0&...:
”IMPLEMENTATION NOTES
The wordexp() function is implemented using the undocumented freebsd_wordexp shell built-in command.”
OpenBSD actually has the sanest approach. “The only winning move is not to play.” or, in Theo’s words, “I think we should stand up to crap and not ever impliment it” (https://www.mail-archive.com/tech@openbsd.org/msg02325.html)
It seems that's a decent middle ground unless there's not a good API on the perl side
It’s quite interesting actually that they’ve very intentionally focused on building two-way transition layers so they can start gradually integrating Swift into codebases built in C and Objective-C, and recently new support for C++ and Objective-C++. Which is the best way to do it, big rewrites are the worst, after years of effort you often have a replacement with fewer features than the old one! So being able to replace little bits at a time and write new features in a new language is cool.
See this talk for the details on that - https://youtube.com/watch?v=lgivCGdmFrw
So don’t expect to see any Rust code from Apple, although of course they might ship third party things written in it at some point.
"In a few cases they picked the same names and operator spec as us, but in general they didn't try to be compatible. A few incompatibilities seem gratuitious to me."
I work with dozens of graphic designers and am quite certain that zero (0) of them know this is coming.
Some day I'd like to write a blog post about the peculiar relationship between designers/artists and technology… as a whole they seem to have an awful time moving on from the tools they were trained with.
anecdote — I was chatting with one of the most famous book cover designers in the world a few years back, he was still using Quark X-Press 4 on a Mac that ran OS X with "Rosetta" (10.6?). These people are real and are the whole reason why Adobe.
There is vanishingly little value in deviating from a known-good workflow until you have a good reason to.
Do you know the restaurant industry term mis en place? It's this practice of laying out your tools at the beginning of your work shift, so you can grab the knife or the salt or the mixing bowl without even looking. Disrupting a chef's mis en place is an great way to get stabbed.
An even modestly talented graphic designer doesn't look at their keyboard or desktop at all while they're working, they exhibit fantastic amounts of muscle memory while navigating their various screens and palettes.
They also suffer from an unfortunate lack of neural plasticity. There is no room in their day or desire for picking up new techniques, they're way more interested in the ideas they're absorbed with.
I've had to disable the new bubbles download from chrome in so many places already, even my fucking dentist couldn't produce a recipe because they couldn't find the new UI.
professionals like their tools to be reliable and not at the whims of capital greedy corps.
Don't confuse "lack of neural plasticity" with lack of tolerance for tech industry's bullshit. They most likely have a strong case to make that those updates are unnecessary, and likely making a perfectly fine workflow worse. Computers, in general, have been getting increasingly less ergonomic and less functional over time, and the decrease in ergonomics affects even the most specialized software aimed at professionals.
The whole "Adobe CC" thing is also tech industry bullshit, and it is far beyond many designers to even take modest steps to update their skillset.
I sometimes work with one graphic designer who delivers web design in PDFs built in Adobe InDesign and expects everything to be pixel-perfect. It's madness.
I have a friend who makes automotive decals, and he got a new (to him) large format Epson printer last year. The seller included a circa 2014 Mac Mini which has all the software installed and setup for the printer, as apparently it's painful to setup and doesn't work well with Windows.
And the friend uses CorelDRAW for making designs. When he first told me I didn't believe him that it is still around :D
Like, in CYMK is black <0,0,0,1> or <1,1,1,1>? Depends.
Usually I provide art in EPS, PDF, and JPEG/PNG, since one of the 3 works for almost any use.
People who actually use software to get work done tend to hate changes. A UI redesign means a lot of wasted time and lost money. A feature that goes away means that muscle memory is invalidated, generally for no measurable gain.
In this sense EPS is more like SVG, but print friendly and less prone to misinterpreting
you'd be amazed at what people will do. i did the initial layout for a company's product labels in Illustrator with all files saved as *ai files. after the hand off, the person taking over the tasks ran into issues. they had no idea how to use Illustrator, and re-did the entire layout in Photoshop. when you only have a hammer, everything looks like a nail.
so i can see someone trying to export as EPS because "it's vector" from something like photoshop.
It is the best way I have seen to make diagrams with code, which can be very convenient.
so python takes instrument data and writes latex with pstricks, then to ps to pdf/svg/png/* to insert into whatever doc my colleagues are making
We are continually evaluating alternatives as latex is a heavy dependency, but nothing works as well, yet.
and even more importantly it has worked for 10 years and likely will work for the next 50 years with exactly the same code.
If you're working with EPS, you are working in specific non-Apple applications that work with EPS. You're in InDesign or Illustrator, neither of which use the system libraries for EPS parsing.
It’s much better than to have docx or photoshop.
It’s just removed from the base OS for probably both licensing and security reasons.
It’s really great, if you do that kind of thing I second it for sure.
Between Pixelmator and Affinity Designer I've officially kicked Adobe to the curb.
For things sufficiently old that copyright/licensing isn't an issue, sometimes you can just download a ready built machine.
Digital archival support rot marches on and formats will die for lack documentation and usable converters.
I do not have concrete statistics to back this up, but in my experience, a gzipped PostScript documentat is often smaller than an equivalent PDF, and unlike PDF, it's marginally easier to edit by hand after decompressing. Also, the PDFs created by Quartz PDFContext is often needlessly large and tools like pdftk have been able to losslessly compress them, whereas Quartz' own compression filter seems like the equivalent of JPEG compression at quality 0.
The only practical advantage of PDF to me is the presence of an alpha channel, but that is basically it. With that said, PostScript documents themselves being a sort of program has always been a security nightmare for some, so I understand the removal on Apple's side. During the OS X Tiger days, I recall a simple infinite loop in PS could've stalled Preview's PS-to-PDF converter. Being able to properly sandbox PS seems like too much effort at this point given the ubiquity of PDF.
A "preVIEW" app that DELETES a file is an abomination that only Apple could ever get away with.
I have had good luck with pdfsizeopt.
Mac's native handling of PS has always been a slick differentiator -- seems a shame to throw that away.
Yet there is Ghostscript, which could also be run in a VM for extra security. It's a tool I still need in order to keep from distributing licensed fonts in PDFs — turning a PDF into PS, then back into a PDF, is a handy trick.
That said, using it (in a VM) as a workaround requires more steps and a bit more technical interaction that destroys the original seamless experience. Apple has been aggressive about tightening down the OS (still pissed that strace is neutered by default); taking the security approach of just not doing the work at all is really lame on their part.
Theoretically they provide the ability to do just what I'm suggesting: https://developer.apple.com/documentation/xcode/configuring-...
It is getting ridiculous that I have to run multiple VMs for accessing old programs and data; but then at least I should be grateful we have functioning VMs?
Blastdoor is meant to provide a secure sandbox for processing images and other data that arrives in iMessages. Puts all the potentially dangerous format decoders in a little box, and viciously kills anything that starts behaving odd when passed something to process. It certainly improved iOS security, but also quickly proved to be less than bulletproof, mostly due to just how much freedom older image formats provide.
Ultimately code that isn’t in the OS can’t be exploited. Images decoders have a long history of being exploit vectors that are very hard to close. At a certain point simply not shipping them is the best course of action, doesn’t prevent people from adding them later, but at least only those who need the functionality are in the firing line (which reduces the incentive for exploiting those formats, and indirectly ends up providing further protection to those that need to work with the formats).
[1] https://www.macrumors.com/2021/01/28/messages-blastdoor-ios-...
https://hacks.mozilla.org/2021/12/webassembly-and-back-again...
I know that it added a great deal to the price of printers, if I got them with actual (as opposed to emulated) PS.
For example, if memory serves me right, at the time of the introduction the LaserWriter had a more powerful cpu than the Mac that it was supposed to go with.
It wasn't until the Macintosh II came out that there was a mac that was strictly more powerful than the LaserWriter, and by then the LaserWriter IINTX was available; similar CPU to the Mac II, but more base memory and could be expanded to more total memory.
I still do often use PostScript, but I have Ghostscript and the graphical output of the program (if it has any; some of them don't) can be made in many file formats, including PNG, PDF, PCL, etc (it doesn't have SVG output, although that might be helpful if you are making diagrams).
(There are some features I think would be good to add into PostScript, such as alpha transparency, auto-allocation (by specifying null where the object is expected; this is most useful for readline, in case you do not know the length of the input), a "unread" operator (like ungetc in C), being able to specify encodings separately from fonts, and others. Some features are in Ghostscript and are good to have, such as ARGUMENTS and %pipe%, and I do commonly use ARGUMENTS.)
(PDF isn't good either though, but at least it is a format for publishing and documents, despite its problems.)
What's the new standard for vector graphics going forward? SVG? glTF?
[1] For example: https://uguu.org/src_udonge_ps.html
Which comes with its own security issues/problems, especially since adobe is the leading figure of pdf viewing/processing. PDF 2.0 removed a lot of old crap, like xfa… and postscript but they kept JavaScript
I'm not even sure when it happened.
Last I tried I could still load them into GarageBand, but that app by itself is clunky and slow and 10x the size of the entire hard drive I was using back in the day, and the sound fonts feel all wrong anyway.
Not sure what I'd use for alternative. I'm sure there are many little modules that would help. Or I could just install Postscript. But it's nice to have things with fewer dependencies.
But...
Output of SVG in actual print can be quite unpredictable. Of course, I'd stick to a particular implementation, and just aim for it to come out right. Should be pretty simple.
Back when XML was the only way to go, there was a page-description language built on top. And it ultimately generates... PDF!
It's a pity that there appears to be little interest for page-oriented features of CSS: breaks, headers, footers, numbering, etc. Most don't work well or at all.
convert -density 300 input.ps -quality 100 output.pdf
If you're interested in this kind of thing, I packaged a lot of functionality (including zip files) into an open source doc viewer called "chai" (that also works on mac, install deps via brew).Please note its focus is on security rather than looks so it converts docs to page images that you then view in (an optionally local) web client.
You can easily modify the convert process to move it to PDF rather than page images tho. Check it out: https://github.com/dosyago/chai
edit: ChatGPT thinks you might be right! It also says: If you specifically need to maintain the vector properties of the EPS file when converting to PDF, you might want to use a tool designed to work with vector formats, such as epstopdf, which is a utility that comes with most TeX distributions.
It can be fussy.
I've come across issues on my Linux machine too. Gnome's Evince Document Viewer will display a Postscript file just fine, but printing just produces blank pages. Maybe it's a printer issue? But I have tried different printers.
I use Postscript to generate labels. Much lighter weight than TeX and way easier to code than PDF. But now I have to convert them to PDF in order to print.
I've lived in a mixed system world for a long time, opening PS/EPS on Windows has always required extra software. You can convert it on Linux easy enough, or just install Ghostscript on MacOS.
Either way, the time of PS/EPS as a regular and common interchange data format is long gone.
> If there’s one language that’s been at the heart of the Macintosh for the last 39 years it’s PostScript, the page description language developed by the founders of Adobe, the late John Warnock and Charles Geschke, and their team of engineers. It brought the Mac’s first commercial success in desktop publishing, in PostScript fonts, and early PostScript printers including Apple’s game-changing LaserWriter. Although Mac OS X never inherited NeXTStep’s Display PostScript, its descendant Quartz and Core Graphics are still based on PostScript’s relative PDF.
I agree it’s probably not a big deal, but let’s be fair here. That was 22 years ago. Classic MacOS was only around for 17 (1984-2001).
It’s a native format for macOS starting in 10.0 and prior to that an extra native format for NeXT starting in 1989 - when the macOS lineage began (note the lowercase ‘m’)
NextStep licensed Adobe's Display PostScript for it's graphics subsystem, but when MacOS was developed Apple replaced Display PostScript with an in house implementation of the open PDF spec that they called Quartz 2D.
> Quartz 2D is available to all macOS and iOS application environments and provides resolution-independent and device-independent rendering of bitmap graphics, text, and vectors both on-screen and in preparation for printing.
The drawing model utilized by Quartz 2D is based on PDF specification 1.4.
https://en.wikipedia.org/wiki/Quartz_2D
So now both Adobe and Apple have dropped PostScript in favor of PDF.
Fixed, thanks.
The font support?
It was depreciated a couple of years ago and has been removed from current versions of the software as of this year.
> As announced in January 2021, support for all Type 1 fonts in Adobe products is ended after January 2023. Users no longer have the ability to author content using Type 1 fonts in updated Adobe products.
Adobe software will not recognize the presence of Type 1 fonts, even if you have Type 1 fonts installed in your desktop operating system:
https://helpx.adobe.com/fonts/kb/postscript-type-1-fonts-end...
It's the end of an era.
I don't think the trade-offs are worth it.
Or rather in the certainty that it will require less experienced manpower, i.e. will be cheaper.