A bot that writes poetry which can only be read by humans.
Code "ZXX" is used when there is: "No linguistic content; Not applicable." The project started with a genuine question: How can we conceal our fundamental thoughts from artificial intelligences and those who deploy them? I decided to create a typeface that would be unreadable by text scanning software (whether used by a government agency or a lone hacker) — misdirecting information or sometimes not giving any at all. -- Source
ZXX is a free Open Type Font designed to frustrate text scanning software while still being legible by humans. I unzipped the files into my ~/.fonts/ and /usr/local/share/fonts on my ubuntu 14.04 machine and did sudo fc-cache -f -v. The fonts were ready to go now and I could see that they show up nicely inside libreoffice and screen-message. However, I wanted a way that I can script the content into images. I searched around and messed with postscript and enscript but the tool that really gave me the best results was pango-view.
pango-view --no-display --text="Hello, World!" --font='Zxx Noise' --waterfall --output=hello.png pango-view -qt "Hello World" --font="Zxx Camo" --waterfall -o hello2.png pango-view -qt "Hello World" --font="Zxx False" --dpi=300 -o hello3.png
I saw from this test strip that I would need to adjust the font size and resolution. The --background option is nice in that it offers transparency. For longer text input you will want to set the --wrap flag. Here's an example with a Bruce Sterling quote:
pango-view -qt 'The ruins of the unsustainable are the 21st century's frontier.' --font='Zxx Camo' --dpi=200 --width=200 --wrap=word -o out-test.png
I want to know how he got a different type for every character. I think my best bet is to make a script that will iterate over the string, change the font flag, and print the letter. Each output in pango-view is an image so this could make things tricky. I could stick the images together with imagemagick; a geeky method of magazine clippings and elmers glue. Let me know if you have any ideas that can rotate between the different fonts. In the meantime, here's what the processed poem looks like:
I stumbled upon Ray Kurzweil's Cybernetic Poet one night while I was researching artificial intelligence and various text generators. I became really impressed when I read the example poems that came out of it; it was as if he had uploaded the minds of the dead to keep writing forever. The ability to combine different 'personalities,' including your own, to write original poetry really goes to show the genius of this man and the power behind this program. It was written in the 1980s and works on Windows 95/98/2000 machines so I launched VirtualBox and created a virtual machine for windows 2000 to experiment with the free version of this software. I configured my VirtualBox network settings to attach to a bridged adapter and bidirectional clipboard. I browsed to the site with the ancient internet explorer program and installed the cybernetic poet from Kurzweil's site and opened up Poet's Assistant. From here, you can select a poet and the tabs give you the option to do alliterations, rhymes/Endings, Next Word, Rest of Line, & Rest of Poem. There's also a text editor along with it:
I'm curious about how I might be able to pull the output into my Host computer so I enabled Telnet in the meantime. There's also the possibility that I could save the file on a shared folder and pull it from there. To enable telnet:
Go into Control Panel, click Users and Passwords, and set a password for the Administrator account. Then go back to Control Panel and into Administrative Tools, and click Telnet Server Administration: Press 3 to Display/change registry; 7 NTLM; Set to 0; Go back; Start the service (cmd.exe: net start telnet)
Playing around with the poem is a lot of fun. If you browse to the Template Poetry folder, you can see that it's filled with long text files of poems to create the personalities from. I decided to use a poem generated by the personality of Edgar Allen Poe for my experiment.
FauxCrypt is an algorithm for modification of a plaintext document that leaves it generally readable by a person but not readily searched or indexed by machine. The algorithm employs a dictionary substitution of selected words, and an obfuscating transposition of letters in other words. The obfuscation is designed to leave the words understandable, although they are badly spelled. FauxCrypt is free, open source software, with source code available.
fauxcrypt is an alhroitgm for modifictaion of a planitext documnet taht laeves it gneerally raedable by a person but not raedily saercehd or idnexed by macihne. the alhroitgm empyols a dicitnoary subtsituiton of selected wrods, and an obfusctanig trnasposition of lteters in ohter wrods. the obfusctaion is dseigned to laeve the wrods udnertsnadable, aghtuolh tehy are badly slelpde. fauxcrypt is fere, open suorce sfotwaer, with suorce code available.
Usage: fauxcrypt input.txt output.txt
I saw only to the river Murmuring in the ringing Of her soul in the sky i saw only to the river murmurnig in the rnignig of her suol in the syk.Errr... I guess I should use a larger sample size. Poetry can be confusing as it is already, so I am expecting that it will be a challenge along the way to keep the results understandable by humans.
Oh! that writhes from Heaven- that ever A conscious slumber shall be; For the thought of his songs one word our fame- Not that hung, like any other reasons for me Like some visitor," I remember having dwelt Some ocean throbbing of that brood Over every depth of our sign in the Moon, Down under ground. And the less bright The angels, whispering to me! I feel ye in yon brilliant dyes An Eden of tress, And rays from out the pale faces. About it, of all the day- oppress My passions from sight, Into seas without a shelter in the strings. oh! taht writehs from haevne- taht ever a cnosciuos slumber sahll be; for the thuohgt of his snogs one wrod our fame- not taht hugn, like any ohter raesnos for me like some vsiitro," i remember havnig dwelt some ocaen throbbnig of taht brood over...Read more »