Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Printer It's funny.  Laugh.

Game of Life in Postscript 274

smashr writes "It never really occured to me that postscript could be used for something other than printing, until I came across this page. Evidently someone has written the classic 'Game of life' entirely in postscript. You can even send it to the printer and have it output every single iteration.. now that would be a fun prank."
This discussion has been archived. No new comments can be posted.

Game of Life in Postscript

Comments Filter:
  • wow (Score:5, Funny)

    by Kipper the Llama ( 454021 ) on Saturday May 24, 2003 @06:02PM (#6032387)
    Sad memories of being a nine year old loser are flooding my brain at the mere mention of "The Game of Life".
  • Wow. (Score:5, Insightful)

    by JanusFury ( 452699 ) <kevin.gadd@gmail.COBOLcom minus language> on Saturday May 24, 2003 @06:04PM (#6032399) Homepage Journal
    I find it impressive that a technology that's been around since 1985 is not only still usable, but it's used almost everywhere for printing and is also an extremely powerful language. If only more technology was created this way these days. Definitely a testament to the people who created postscript...
    • don't exaggerate (Score:4, Informative)

      by Baki ( 72515 ) on Saturday May 24, 2003 @06:21PM (#6032498)
      It is a programming language (stack based, like forth), which is amazing for its primary purpose: printing.

      But to call the language itself "extremely powerful" is an exaggeration. As a programming language it is quite primitive and incomprehensible, compared to more powerful languages such as C++, java, ML, yes even forth.
      • by dysprosia ( 661648 )
        That's your opinion of it. Any new programming language looks "incomprehensible" once you begin to learn it, and once you've got the hang of the nuances of the language it becomes clearer.
        Calling PostScript "primitive" is a joke as well. Learn about the language. Read the PS Language Reference. Look at some of its more complex features.
      • As a programming language [PostScript] is quite primitive and incomprehensible

        Really? It's fairly easy to test a printer by banging out a line or two...

        echo '/Times-Roman findfont 72 scalefont setfont 1 72 mul 9 72 mul moveto (This is a test) show showpage' >/dev/lp0

        I wouldn't call that incomprehensible. It loads 72-point Times Roman, moves to a point 1" to the right and 9" from the bottom, renders "This is a test", and tells the rendering device to print (or otherwise finalize) the page.

        Po

    • Re:Wow. (Score:5, Interesting)

      by g4dget ( 579145 ) on Saturday May 24, 2003 @06:42PM (#6032570)
      PostScript survived because of its imaging model, which was far better than anything else around at the time. The PostScript language only survived because of the imaging model; the language itself has required numerous workarounds, add-ons, and conventions to make its continued use in printing practical, making it a complicated mess that still doesn't really work all that well as a language.

      Adobe has pretty much admitted as much with their creation of PDF. Apple also dumped PostScript for PDF, for the same reasons.

      PostScript was an idea worth trying, but a few decades later, we really know that procedural languages do not make good page description languages. The future belongs to standards like PDF and SVG.
    • Re:Wow. (Score:5, Interesting)

      by mark-t ( 151149 ) <markt AT nerdflat DOT com> on Saturday May 24, 2003 @06:54PM (#6032613) Journal
      Definitely a testament to the people who created postscript
      Person, actually. Postscript was invented by one man.

      Postscript has an interesting story, actually. The man who invented it had, previously, designed the "language" to be used by Xerox's new laser printers. This was not a real programming language, but was simply a control language. Xerox was nevertheless entirely delighted with it, and paid him a fair amount of money for it. After he had finished this task for Xerox, he then decided to start from scratch and try to build a printer language that was more suited to his vision of what one should be. When he finished, he decided to notify Xerox of his new development (hoping, perhaps, to get another large paycheque from them), but Xerox declined to use it, wanting to stick with his first printer language that they were already beginning to use. He teamed up with someone else and founded the company Adobe, and they called the language "Postscript".

      • The man in question [adobe.com], I beleive, is John Warnock. I'd heard he was working with Evans and Sutherland at the time, rather than Xerox, but that was word of mouth...
        • I'd heard he was working with Evans and Sutherland at the time, rather than Xerox
          This may be entirely true. To the best of my knowledge, he was not directly working for Xerox anyways, but was simply being paid to do the one, single job.
  • Webserver (Score:5, Interesting)

    by JohnFluxx ( 413620 ) on Saturday May 24, 2003 @06:04PM (#6032401)
    Didn't someone write a webserver in postscript?

    Anyway, most people know script it turing complete - this is hardly the greatest hack ever :)

    But it's cool - i'm not being negative.
    • Re:Webserver (Score:5, Informative)

      by Xonea ( 637183 ) on Saturday May 24, 2003 @06:10PM (#6032438)
      Yes, it can be found here [pugo.org]

      It must be used with inetd though, because postscript doesn't support sockets...
    • Ray Tracer (Score:5, Interesting)

      by CaseyB ( 1105 ) on Saturday May 24, 2003 @06:16PM (#6032474)
      How about a PostScript ray tracer [3dspot.com]?
    • Re: Easy (Score:2, Funny)

      First designate 3 or more variables will we call buffers to represent poles to hold stacks of data. Then declare some double scripted arrays we will call discs. The number in the array will determine the size of the disc.

      Now write a towers of hanio program utilizing the n-1 algorithm.

      Using the 3 or more poles you created to move all the discs from smallest to largest from pole1 to polex (x being the greatest number or the opposite pole). Use the second pole as a temporary holding area.
    • yes, and... (Score:5, Insightful)

      by pb ( 1020 ) on Saturday May 24, 2003 @07:20PM (#6032721)
      Conway's Game of Life is also turing complete [server.org.uk]; therefore, you can regard this PostScript hack as proof that PostScript is turing complete as well, since you could implement a turing machine on top of Life, on top of PostScript..... :)
    • I dunno, but about 10 years ago or so, an urban ledgend went around the BBSs that someone had coded a PostScript document trojan that printed a pretty picture (of a tiger?) AND set the access password on your printer to a random string so you couldn't access the printer anymore.
  • ...it auto-generated ASCII porn.
  • OS (Score:4, Funny)

    by spikexyz ( 403776 ) on Saturday May 24, 2003 @06:05PM (#6032409)
    Ok, someone write an OS in it.
    • Re:OS (Score:3, Informative)

      by Art Tatum ( 6890 )
      That's meant as a joke but NeXTSTEP used PostScript to write their window server. Not quite an OS, but still low-level system software. They added some stuff for window management and event handling and so on. One of the nice features was that all NeXT software had perfect WYSIWYG.
    • by spun ( 1352 )
      As a previous poster mentions, PostScript is Turing-Complete. You can write any program in PostScript you could write in any other language.

      Not that it would necessarily be easy, but it could be done.
  • Much cooler PS hack (Score:5, Informative)

    by ocelotbob ( 173602 ) <ocelot@nosPAm.ocelotbob.org> on Saturday May 24, 2003 @06:06PM (#6032414) Homepage
    PS-HTTPD [pugo.org] - a webserver in PostScript.
  • by Chicane-UK ( 455253 ) <chicane-uk@@@ntlworld...com> on Saturday May 24, 2003 @06:08PM (#6032423) Homepage
    ..THIS [boardgamecentral.com] game of life.. I couldn't quite understand out how that was going to work as it got spewed out of a printer :)
  • I'm still a little unsure as to why we should use a scripting language to print. In my untrained, extremely naive opinion, printers should be sent the data that they are expected to print.

    Shouldn't the actual processing of data be solely handled by the computer? I mean, this article clearly says that it can tie up the printer for a long time if you actually try this.
    • i'm not the PS expert, but wouldn't that allow for some device independence? i wouldn't want web pages coming in as bitmaps (although i've seen some that do...)
    • In some contexts, the size of the file sent
      to the printer is an important consideration.
      Coding a page as the shortest computer
      program that can generate the page is "the
      best you can do". Of course, whether or not
      dvips is generating the optimal program is
      another issue entirely.

      • If they were worried about size, why can't you send .ps files to the printer in gzipped form?
        • Please remember the era of whence postscript originates.
        • If you were around coding postscript about 15 years ago, you would have a good idea that the time to print a file was almost completely dependent on the file size (and size of stack used). The processor in the printers of that time were not so powerful, supporting gzip would probably have taken all their RAM.

          It is for this reason that postscript prologs quite often redefine all common postscript commands into one or two letter equivalents (which also renders the postscript practically illegible).

          We used t
    • by WolfWithoutAClause ( 162946 ) on Saturday May 24, 2003 @06:21PM (#6032496) Homepage
      It's not exactly a scripting language. It's actually a very close cousin of 'forth'. It runs quite quickly, and doesn't particularly excel at text processing, which most scripting languages do.

      As other people have pointed out, it's useful to have a fairly powerful language in a printer since it allows the printer to adapt the printed stuff to the paper size and so forth (no pun intended).

      Another language that is very closely related is pdf; as I understand it, it's pretty much postscript with a few cludges on the side to make it run faster.

      • by Anonymous Coward
        The most valuable difference between PDF and Postcript is that page breaks are set in stone in PDF, which is not the case in PS. Thus, if you save your work in PS, it is possible sometimes to get a tiny amount of stuff hanging off onto the last page by itself due to subtle metrics differences between printer fonts and screen fonts, roundoff errors, etc. PDF prevents this.
    • It isn't a good thing. Basically, it was a mistake to make it a Turing-complete language. That's why when Adobe created PDF, they made it Turing-incomplete. The real problem with a Turing-complete language is that it's extremely difficult to do any type of automatic manipulation on it.

      It's funny how many people in the Unix world seem to have this thing against PDF, and keep insisting that PS is better. PDF is better, because:

      • It's Turing-incomplete.
      • It's device-independent. (The P in PDF is for "portabl
    • by Matthias Wiesmann ( 221411 ) on Saturday May 24, 2003 @06:39PM (#6032563) Homepage Journal
      Shouldn't the actual processing of data be solely handled by the computer? I mean, this article clearly says that it can tie up the printer for a long time if you actually try this.
      The main advantage of postscript is that it is versatile. Of course coding games or fractals is extreme, but there are many other uses:
      • You can send the graphical data in a very compact form, vectors and compressed bitmaps (the Apple drivers could compress bitmaps in JPEG and would transmit a JPEG decompresser postscript program).
      • You can transmit your own data format. Instead of transforming your data into "real" postscript, you send a set of postscript procedures that reproduce the behaviour of your graphic language. This was actually one of the primary requirements of postscript, something that could handle quickdraw (Apple's graphic language pre OS-X) reasonably well. DVI2PS does a similar trick.
      • You can factorise out common data. For instance you could transmit a form once, and then only send the data to fill out multiple versions of the form.
      • Pre-loading - you can upload common fonts to the printer, this saves you the time of including them in all jobs. Some high-end postscript printer even have hard drives to store those fonts.
      • Precision handling - instead of calculating word justification on the computer, you send a procedure to calculate word positioning to the printer, this ensures that justification is done using the printer's font metrics and knowing the printer's resolution.
      • Special handling and configuration. Special printer configuraton can be handled using postscript. For instance on certain printers, the user has to enter a PIN to trigger output. This is very usefull for sending sensitive documents to shared printers.
      • On the fly reconfiguration - for instance you can reprogram the printer to do 2-up or 4-up printing quite easily.
      This design made a lot of sense when postscript printers started, bandwidth to the printer was bad (serial, parrallel or localtalk) and processing power on the machines was low - in fact it was common to have a laserwriter II (68020) attached to a classic 9' macintosh (68000).

      Even nowadays this design makes sense for network attached shared printers - this ensures that page composition is not tied to the client machines. Also you have to realise the bitmap of printing page is quite large: an uncompressed A4 page 300 DPI black/white bitmap is around 15MB. Today's laser printer support 2400 DPI, that means nearly a Gigabyte per page.

      • You can transmit your own data format. Instead of transforming your data into "real" postscript, you send a set of postscript procedures that reproduce the behaviour of your graphic language. This was actually one of the primary requirements of postscript, something that could handle quickdraw (Apple's graphic language pre OS-X) reasonably well. DVI2PS does a similar trick.

        Apple also wrote an Imagewriter emulator in PostScript...the intended purpose was to enable 8-bit Apple II software to print to Lase

    • When my graduate advisor was working on his PhD thesis, he was doing a lot of numerical simulations, and the best way to display the output was as a plot. Coincidentally, the fastest floating-point processor he had available at the time was in Apple's new LaserWriter (this was in the late '80s). So he did most of his simulations directly on the printer, often tying it up for days at a time processing his page. He was really pissed when one of the profs power-cycled it because his print job wasn't coming
  • by Anonymous Coward
    That postscript document has just one page that is never finished -- what you see on the ghostview screen is the first page being drawn, forever. So if you go and send this to a printer, the job never finishes and the printer "hangs" until you cancel the print job on the printer.
  • PostScript Fractals (Score:5, Informative)

    by e271828 ( 89234 ) on Saturday May 24, 2003 @06:09PM (#6032433)
    If you like this sort of thing, check out the PostScript Fractals [pvv.ntnu.no] page. You can print out very detailed images from tiny PostScript files.
    • I wrote a mandelbrot program in postscript once. Tiny, but it took hours for the printer to print it, to the dismay of everyone behind me in the printer queue.
  • by _dl_ ( 20841 ) on Saturday May 24, 2003 @06:14PM (#6032457) Homepage
    %!PS-Adobe-1.0 EPSF-10. % PS GoBan (c) 1996 by Laurent Demailly
    %%BoundingBox: 0 0 150 150 % *** http://www.demailly.com/~dl/go/ ***
    /D{def} def/d{dup}D/e{exch}D/s{stroke}D/l{lineto}D/M{mul}D /f{fill}D/S{setgray}D
    /R{grestore}D/m{moveto}D/z 9 D/c 15 D/x z c M D/p{42 sub d z mod 1 add e z idiv
    1 add gsave 1 index c M 1 index c M c .5 M 1 0 arc gsave f R .5 S s c M e c M e
    c .3 M 270 360 arc s R}D 0 0 x 2 M 1 0 arc .9 .7 .5 setrgbcolor f s 0 S c c x{d
    c m d x l d c e m x e l}for s(BeJR\\IHP>=6U){p}forall 1 S(?TS[QcGZFOC){p}forall
  • by Xonea ( 637183 ) on Saturday May 24, 2003 @06:18PM (#6032478)
    Another nice little postscript program can be found here [in.tum.de]

    It's only about 10 lines long and creates a image with 2 bubbles and even reflections.

    And if someone wants to learn Postscript:
    A first Guide to Postscript [indiana.edu]
  • by Anonymous Coward on Saturday May 24, 2003 @06:19PM (#6032484)
    My own personal contribution to the world of stupid postscript tricks wasn't nearly as productive as this one. But I promise you it was funnier!

    I wrote a program that substitutes occurances of one string with another one. You send it to the printer than laugh as everyone else's pages mysteriously have the word "this" replaced with "that". One time I loaded it on just before a friend printed his source code. He couldn't figure out for the life of him where his semicolons had gone! Ah... youth.

    The best part is, the code stays resident until the printer is power cycled. This enables slightly more sinster uses for this sort of thing. One of my professors used to joke about using as program like this to change the numbers on his paycheck when it was being printed!

    The code is still on my website [cyll.org] near the bottom. It's called PSReplace.

  • But... (Score:2, Insightful)

    by VTS ( 673706 )
    ...think of the trees!

    Seriously, I have seen enough stuff being printed around the office and then trashed, this would be like an evolution of paper wastage to the next level.

    Especially if someone posts a story on slashdot about it and every coder out there has a go.... oh wait...
  • I remember seeing John Conway's Life implemented on an Apple Laserwriter in 1988. I don't ever recall knowing who wrote the version I played with then, but I'd hardly call something 15 years old "news".

    It's still cool, though.... very high nerd factor.

  • um (Score:3, Funny)

    by mschoolbus ( 627182 ) <{travisriley} {at} {gmail.com}> on Saturday May 24, 2003 @06:30PM (#6032530)
    now that would be a fun prank

    No... Not really...
  • by mabu ( 178417 ) on Saturday May 24, 2003 @06:32PM (#6032541)
    Ok, I am finally prompted to write this... please forgive me but I feel compelled to comment.

    There are two other times when I came to the realization that the tech community was sometimes way lost beyond the boundaries of practicality in addition to this latest thing. Once upon touring MIT and seeing the amazing amount of intellect dedicated towards uber mundane pursuits such as remotely identifying the inventory of a coke machine, and another situation at Siggraph seeing tens of millions of dollars wasted on research projects that had a snowball's chance in hell of developing practical applications for the findings.

    Now I can appreciate the pursuit of a tech solution to something that's of interest, and I understand that things like Star Wars in ASCII are projects borne of love, but at the same time, I wonder, do tech people every try to achieve both in the same breath? Yes, you can add an ant farm to your PC case. But if you ever wonder why the mainstream looks at tech types as total weirdos, it's because they love to use as an example, these weird manifestations of our ability, when we all know, these are more the exception than the rule. Or are they?

    So my question is, aside from the arguments where someone draws a reasoned path explaining how a tennis shoe with voice recognition will change society, is anyone concerned about the image of the tech community and finding more realistic ways to demonstrate the creativity and resourcefulness of nerds?
    • Who gives a shit what people will think? If something turns you on and it doesn't hurt anyone, by all means do it. If it's a time-waster, so is watching TV.

      On the other hand, as someone already pointed out, this is really old news. When Postscript was new, people were doing tons of these things (cute Postscript hacks).

    • OT, but bear with me.

      is anyone concerned about the image of the tech community and finding more realistic ways to demonstrate the creativity and resourcefulness of nerds?

      I can only speak for myself in this respect, but no. Why would I be bothered about how the mainstream view the "tech community" - if we all started worrying about how others see us, would the world be a better place? Would it be fun, being drones dedicated to furthering what you, or some other person, see as worthwhile projects?

      explai

      • My question to you is, why should we care about how the "mainstream" views us?

        That's a good question. Normally I'd be right with you and say screw the mainstream.

        But who here really feels that the mainstream's idea of innovation and efficiency is even remotely accurate? How many people get frustrated when they see some marketing guy take a great idea and pervert it into something that is sad? Hasn't the tech community's indifference contributed to this problem? Yea, playing the game is demoralizing,
    • by pohl ( 872 ) on Saturday May 24, 2003 @08:18PM (#6032935) Homepage
      ...is anyone concerned about the image of the tech community and finding more realistic ways to demonstrate the creativity and resourcefulness of nerds?

      I once spent a day with a guitarist of immense talent. He spent countless hours with his instrument, but not making music...it was all just pointless scales, arpeggios, chord progressions around the cycle of fifths...not one bit of actual music did he perform. Sure, it was amazing to watch, but I couldn't understand why he was wasting his immense muscial intellect with such mundane exercises.

      I wonder where he got the talent. Must have been a gift from god. It surely couldn't be that tireless practice of one's art leads to mastery, and that anything that helps one make practice fun aids in one's journey towards eminence in one's field...nope, no way.
    • Oh it's just what makes it fun to do what you do. I prefer to work in a place where people like what they are doing and show great interest in their profession. And it is the little fun projects that takes you in places the "real" projects does not, that you learn even more and can afford to fail. Even if the little spare time project failed you will have gained knowledge in the process that can be used in the real projects. I have worked in different places and I will always prefer to work in a place where
  • No why? (Score:2, Interesting)

    by Anonymous Coward
    I can't believe that tons of people asked why someone would write an HTML browser in Java, but hardly anyone asked why someone would do this?

    Are you guys living in the real world? :)

  • That's nothing .... (Score:3, Interesting)

    by jreynold ( 56969 ) on Saturday May 24, 2003 @06:48PM (#6032589)
    That's nothing! In college, my compiler writing course was changed (to help "discourage ``re-use'' of previous years students' code") to writing a C compiler which used *PostScript* as its target language instead of XYZ machine code for PDQ processor.

    We took the output of our compiler and "ran" it with ghostscript. It was actually quite fun. One of the harder parts was writing a suitable "libc" to "link" in for basic stdio.
  • Woohoo! Now I can have that flip book story of evolution I've always wanted!
  • Most people know that Postscript is Turing-complete, but I think the game of Life is too. So for a _real_ challenge you could implement a Postscript interpreter in Life (provided you find some way to encode the input and some way to do 'showpage').

    Actually, I don't know of any working Turing machine or lambda-calculus implementations in Life, but I believe it is thought possible.
  • by mnemonic_ ( 164550 ) <jamec@umich. e d u> on Saturday May 24, 2003 @06:59PM (#6032634) Homepage Journal
    Install Ghostscript [wisc.edu] first, then use GSView [wisc.edu] to open the .ps files.
  • by jerryasher ( 151512 ) on Saturday May 24, 2003 @07:02PM (#6032645)
    [seyboldreports.com]
    By the mid-90s, Xerox had written what was basically a SmallTalk interpreter using GhostScript. It was called DocuScript.

    With that, Xerox wrote all sorts of applications for hallway copiers, including web browsers, hang-man games, and image processing/manipulation applications.

    Take a piece of paper with an image you want to copy. Circle the image. Scan it. Take a piece of paper that you want the image on. Mark where the image goes. Scan the paper. Output: new piece of paper with the image from the first on it and the other elements from the second piece.

    Ooops, you dropped 200 pages of a paper on the floor, and you have gathered it up in the wrong order. Circle the page number on the first page of the paper. Scan the entire paper in. Output: your paper now resorted according page number.

    Go to a hospital and triage yourself by taking a printed image of the human body and circling on the image where you hurt and scanning it in to the hallway copier.

    Take your 100 page paper and scan it into the hallway copier. Get a one page token in return (containing, basically, an encoded URL) Fly across country to a conference holding only that one page token. At the conference scan in your token. Output your 100 page paper.

    And then, being Xerox, they found they couldn't/wouldn't/didn't want to sell it. Talk about the Game of Life!
    • Erm, the URL isn't really about what you describe, is it?
      • Yes and no. I was a bit lazy with that. The URL is apparently the only piece of it easily available through google these days.

        DataGlyphs were the key behind the implementation of many of the features I described.

        For instance if you scanned your 100 page paper in, and got a token back, but what that token was was the URL printed out in nice easily read text as well as easily machine read dataglyphs.

        The hangman game printed out looking like a hangman game complete with head, noose, whatever, but there wer
    • by leighklotz ( 192300 ) on Saturday May 24, 2003 @09:56PM (#6033275) Homepage

      >And then, being Xerox, they found they couldn't/wouldn't/didn't want to sell it.

      Actually, Xerox did sell it, in Japan, as the DocuStation IM 200. When Java came out, we and otehrs worked with Sun to add the image processing features that were necessary (which became java2d) it was re-written in Java and sold again as FlowPort, and is still sold.

      At the time the choice was made, we were examining Scheme, but felt a lot of resistance from the industrial engineering community we were targeting. So, although I helped develop 6.001 [mit.edu] and the book "Structure and Interpretation of Computer Programs" that introduced Scheme, we abandoned that approach and looked for a language that would be more palatable to the printer and copier engineers. The system was written in PostScript because it was an interpreted language that was capable of running inside hardware such as copies, scanners, and printers. There were hired industry pundits who had suggested that we use Visual Basic, but that was even harder to fit into a copier in 1991, so PostScript it was.

      Just as we were making the decision, I saw on alt.sources a new small object-oriented language announced and tried it out, but it had absolutely no class libraries, and no tools, and nobody had hever heard about it before (some guy named Guido) so we passed up on Python...

      The goal was to make paper be the universal access portal to information, and to piggyback on images as the universal information transfer medium. We did hyperlinks on paper, used dialup modems for transferring information, etc. Basically it was the web and web forms on paper. Now the focus is on capturing paper documents and their metadata and making them first-class citizens in the office network.

      The DocuScript language was actually much more like Java than like Smalltalk. It did have an object-oriented database, which Java lacks, but consider the following:

      • Much of the PostScript code was written in PdB, a C++-like language compiled to PostScript. PdB was written at The Turing Institute by Arthur van Hoff, who later went on to write the first Java compiler, with a remarkably similar syntax. So, the system was written in a precursor to Java with GS as the virtual machine.
      • Herb Jellinek worked on the "configurable desktop universal browser" part of the project at PARC. He left and went to Sun to work on Oak and in the meantime, WWW happened and became the protocol for the "universal browser", and he wrote HotJava, which was the web browser that kicked off the Java revolution.
      • The Paper User Interface forms were all done as small PostScript programs that, depending on which set of definitions was loaded into the environment, either rendered a printable image to the image buffer, or read the scanned image from the image buffer and read the checkboxes. The layout decisions were all done with PostScript routines.

        So, in that sense, the layout was like LaTex, where the formatting commands are actually short programs or macros that bottom out into an implementation of primitive operations. After the product was launched, Larry Masinter of PARC convinced me that the LaTex-programmmatic approach was wrong, and that we needed to use a static description language, a path I had resisted because there were no good ones. But in the interim, again WWW had hit, and HTML seemed good. We did a Paper User Interface version of the WWW (now going full circle from our original idea of paper access to information to paper being a proexy for access to information via the WWW) and we made a tool to print Paper UI on any web page.

        Initially we did this as well in PostScript, but found that we needed something faster for the HTML parsing and layout, so we got a company called Universal Access to do that for us. They had a tool they were developing, and they prototyped it for us, and their other customer was a company called Unwired Planet that wanted to make a transcoder to convert HT

      • And now you know, the rest of the story. (jebus I usually hate that phrase.)

        Thanks Leigh, it's good to hear what happened to that.
      • I remember PdB at Sun to program NeWS. You wrote something vaguly resembling C and it would convert it into the shortest possible sequence of pop,exch,roll,dup commands so it was all executed on the PostScript stack. Without that it was impossible to write anything more complex than a+b without using named temporary variables. We were told not to use it (apparently some worry about the open-source license which was probably the phb's being confused and scared) and I ended up rewriting the output to disguise
  • I have a program for my Palm that lets me print from it via IR on IR enabled printers. Step 1: Download program Step 2: Find IR and Postscript enabled printer(s) Step 3: Annoy somebody beyond reason (NO PROFIT!!!!)
  • Don Lancaster used to make a HUGE deal about writing stuff in Postscript. He used to have programs in _Byte_ magazine all the time that did number crunching, fractal calculations, etc, in Postscript on a printer and then printed out the results.
  • who read the blurb and expected the printer to start printing out little cards reading "Teacher", "Doctor", "20,000", "100,000", etc? :)
  • by c ( 8461 ) <beauregardcp@gmail.com> on Saturday May 24, 2003 @08:39PM (#6033014)
    The best source about PostScript as a programming language is book "Thinking in PostScript" (http://www.rightbrain.com/pages/books.html).

    I read it originally to learn PostScript from a printing perspective, which was somewhat futile. Very little of the book actually talks about printing or page layout at all.

    Anyhow, a quick read of the table of contents would be enough to understand that the Game of Life in PostScript is neither difficult nor terribly interesting.

    c.
  • a fully functional programming language. Granted the syntax leaves something to be desired. In my NeXT days (I used to do OPENSTEP programming, I now am a major participant in GNUstep) it was well known that you could hack into a machine if the Display Postscript Server was set to "public" (meaning other machines can connect, like xhost + under X).

    I even heard that someone wrote a fully functional program to pull ANY file on a machine with DPS set to public.

    Scary.. and very cool. ;)

    Later, GJC
  • Now then... I wouldn't advocate this, but how long until some script kiddie takes the ol' Game of Life Postscript file, changes the bit at the end to print out a zillion pages, and then e-mails it off to his friendly local Kinko's with fake contact information?

    Damn, I wish I were 14 and irresponsible again. Now I'm just irresponsible.

"The four building blocks of the universe are fire, water, gravel and vinyl." -- Dave Barry

Working...