Re: More on voting stations

From: Jan Karrman <jan_at_it_dot_uu_dot_se>
Date: Sat May 29 2004 - 15:44:21 CDT

On Fri, 7 May 2004, Douglas W. Jones wrote:

> The problem with Postscript is that Postscript includes a
> good chunk of Forth, and is Turing equivalent. Therefore,
> postscript documents can do amazing things. Such amazing
> things that some Postscript monsters have been created that
> can take over the printer when you try to print them,
> requiring that the printer be reset before it can be trusted
> to work correctly again.
>

This is true; but, as Karl wrote in another thread, a lot of the
potential security problems with this can be avoided by using good
design rules. The Postscript code for the ballot need not contain
any of the parts that makes Postscript Turing equivalent. The PS
code for the current ballot *does* contain conditional statements
and loops, but that's just because I found it easier to quickly make
something that worked for the demo. Had I written code for the real
system, I wouldn't have made it in that way.

Or maybe we should make the ballot in PDF instead, and let Ghostscript
convert it to PS for printing; PDF is *not* a programming language.

To illustrate what can be done with Postscript, here is one of my
favorites: a winner at a Postscript obfuscating contest - an 830 byte
ray tracer:

%!OPS-1.0 %%Creator: HAYAKAWA,Takashi<h-takasi@isea.is.titech.ac.jp>
/A/copy/p/floor/q/gt/S/add/n/exch/i/index/J/ifelse/r/roll/w/div/H{{loop}stopped
Y}def/t/and/C/neg/T/dup/h/exp/Y/pop/d/mul/s/cvi/e/sqrt/R/rlineto{load def}H 300
T translate(V2L&1i2A00053r45hNvQXz&vUX&UOvQXzFJ!FJ!J!O&Y43d9rE3IaN96r63rvx2dcaN
G&140N7!U&4C577d7!z&&93r6IQO2Z4o3AQYaNlxS2w!!f&nY9wn7wpSps1t1S!D&cjS5o32rS4oS3o
Z&blxC1SdC9n5dh!I&3STinTinTinY!B&V0R0VRVC0R!N&3A3Axe1nwc!l&993dC99Cc96raN!a&1CD
E&YYY!F&&vGYx4oGbxSd0nq&3IGbxSGY4Ixwca3AlvvUkbQkdbGYx4ofwnw!&vlx2w13wSb8Z4wS!J!
c&j1idj2id42rd!X&4I3Ax52r8Ia3A3Ax65rTdCS4iw5o5IxnwTTd32rCST0q&eCST0q&D1!&EYE0!J
&EYEY0!J0q!x&jd5o32rd4odSS!K&WCVW!Q&31C85d4!k&X&E9!&1!J!v&6A!b&7o!o&1r!j&43r!W)
{( )T 0 4 3 r put T(/)q{T(9)q{cvn}{s}J}{($)q{[}{]}J}J cvx}forall 270{def}H
K{K{L setgray moveto B fill}for Y}for showpage

/Jan
==================================================================
= The content of this message, with the exception of any external
= quotations under fair use, are released to the Public Domain
==================================================================
Received on Mon May 31 23:18:13 2004

This archive was generated by hypermail 2.1.8 : Mon May 31 2004 - 23:18:17 CDT