<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Adam Parrish &#187; text</title>
	<atom:link href="http://www.decontextualize.com/tag/text/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.decontextualize.com</link>
	<description>decontextualize.com</description>
	<lastBuildDate>Thu, 09 Sep 2010 00:00:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Crazy Animal Stories Keyboard</title>
		<link>http://www.decontextualize.com/2010/08/crazy-animal-stories-keyboard/</link>
		<comments>http://www.decontextualize.com/2010/08/crazy-animal-stories-keyboard/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 15:23:39 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[hackday]]></category>
		<category><![CDATA[keyboards]]></category>
		<category><![CDATA[poetics]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[text]]></category>

		<guid isPermaLink="false">http://www.decontextualize.com/?p=672</guid>
		<description><![CDATA[Last Saturday, Socialbomb held its first Hack Day.
I had two goals for Hack Day: (1) get a PS/2 keyboard talking to an Arduino and (2) make something interesting with processing.py. Here&#8217;s the end result (make sure to click through to the full-screen version for maximum legibility):

Crazy Animal Stories Keyboard from Adam Parrish on Vimeo.
It&#8217;s the [...]]]></description>
			<content:encoded><![CDATA[<p>Last Saturday, <a href="http://socialbomb.com/">Socialbomb</a> held its first Hack Day.</p>
<p>I had two goals for Hack Day: (1) get a PS/2 keyboard talking to an Arduino and (2) make something interesting with <a href="http://github.com/jdf/processing.py">processing.py</a>. Here&#8217;s the end result (make sure to click through to the full-screen version for maximum legibility):</p>
<p><iframe src="http://player.vimeo.com/video/14364224" width="500" height="300" frameborder="0"></iframe>
<p><a href="http://vimeo.com/14364224">Crazy Animal Stories Keyboard</a> from <a href="http://vimeo.com/user479798">Adam Parrish</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>It&#8217;s the Crazy Animal Stories Keyboard, a keyboard which intermittently replaces whatever you&#8217;re typing with a Crazy Animal Story.</p>
<p>It turns out that the part of this project that I thought would be difficult turned out to be easy: getting a PS/2 keyboard talking to an Arduino was a piece of cake. I already had a bunch of mini-din connectors; I just soldered one up to a breadboard, hooked it up to my trusty Arduino Diecimila, put the excellent <a href="http://code.google.com/p/ps2keypolled/">ps2keypolled</a> library in my libraries folder, plugged in the keyboard and voila: keystrokes gettin&#8217; read.</p>
<div id="attachment_674" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.decontextualize.com/wp-content/uploads/2010/08/the-setup.jpg"><img src="http://www.decontextualize.com/wp-content/uploads/2010/08/the-setup-300x225.jpg" alt="" title="the setup" width="300" height="225" class="size-medium wp-image-674" /></a><p class="wp-caption-text">Here's what the setup looks like</p></div>
<div id="attachment_673" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.decontextualize.com/wp-content/uploads/2010/08/globby-solders.jpg"><img src="http://www.decontextualize.com/wp-content/uploads/2010/08/globby-solders-300x225.jpg" alt="" title="globby solders" width="300" height="225" class="size-medium wp-image-673" /></a><p class="wp-caption-text">globbiest solders since middle school</p></div>
<p>I&#8217;ve got big plans for the PS/2-to-Arduino data chain, involving a data logging chip and shoes made of keyboards and sledgehammers and/or yogurt. But for Hack Day, I just wanted to whip up something fun. So the next step was to get the keystrokes from the Arduino to my computer, preferably into a processing.py sketch. Much to my surprise, Processing&#8217;s serial communication libraries worked with processing.py without a hitch*, which left me free to write the tiny little generative text toy that you see in the video above.</p>
<p>The biggest unforeseen timesink: I spent a few hours trying to figure out the best way to send ps2keypolled&#8217;s 16-bit key codes from the Arduino to the computer, eventually settling on the stupidest possible ad-hoc protocol that could work (and porting a big chunk of C code to Python to translate the key codes to ASCII). See the source code for more details.</p>
<p>Most surprising happy discovery: processing.py is amazing. Being able to quickly write the text-munging code in Python while still retaining Processing&#8217;s built-in functions and easy-to-use libraries is just… a revelation. For a project that&#8217;s just a few weeks old, it feels surprisingly polished. If you&#8217;ve got Python and Processing expertise, I recommend you give it a go.</p>
<p>Source code for the whole shebang: <a href="http://www.decontextualize.com/wp-content/uploads/2010/08/crazy_animal_keyboard_source.zip">crazy_animal_keyboard_source.zip</a></p>
<p>Here&#8217;s a picture of Mr. Brendan Berg enjoying his time with the device, while I appear to be leering lecherously:</p>
<p><a href="http://www.flickr.com/photos/bentobox/4920566663/" title="20100821-IMG_1981 by doryexmachina, on Flickr"><img src="http://farm5.static.flickr.com/4118/4920566663_ea2d8d1be0.jpg" width="500" height="333" alt="20100821-IMG_1981" /></a></p>
<p><small>* Okay, there was a single hitch. Apparently, the serial communication library included with Processing (and, therefore, processing.py) doesn&#8217;t support 64-bit Snow Leopard (as documented e.g. <a href="http://www.arduino.cc/en/Guide/Troubleshooting#toc3">here</a>). I was able to get around this without problems by using the <tt>-d32</tt> parameter to the java runner, i.e.<br />
<code><br />
  $ java -d32 -jar processing.py animal_keyboard.py<br />
</code></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.decontextualize.com/2010/08/crazy-animal-stories-keyboard/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Text lathe prototype</title>
		<link>http://www.decontextualize.com/2010/03/text-lathe-prototype/</link>
		<comments>http://www.decontextualize.com/2010/03/text-lathe-prototype/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 23:00:07 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[pcomp]]></category>
		<category><![CDATA[poetics]]></category>
		<category><![CDATA[poetry]]></category>
		<category><![CDATA[text]]></category>

		<guid isPermaLink="false">http://www.decontextualize.com/?p=598</guid>
		<description><![CDATA[
Text lathe prototype from Adam Parrish on Vimeo.
This is a little prototype for a textual interface that I came up with last week after receiving my nanoKONTROL. (I saw J&#246;rg Piringer use one of these in a live electronic sound poetry performance last year at E-Poetry, and I knew I had to have one.) The [...]]]></description>
			<content:encoded><![CDATA[<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=10225767&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=10225767&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>
<p><a href="http://vimeo.com/10225767">Text lathe prototype</a> from <a href="http://vimeo.com/user479798">Adam Parrish</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>This is a little prototype for a textual interface that I came up with last week after receiving my <a href="http://www.amazon.com/gp/product/B001H2P294/">nanoKONTROL</a>. (I saw <a href="http://joerg.piringer.net/">J&ouml;rg Piringer</a> use one of these in a live electronic sound poetry performance last year at E-Poetry, and I knew I had to have one.) The idea is that two knobs on the controller determine how much text is cut from either side of a text fed to the program on standard input; another knob controls how fast lines of text are read in and displayed. It&#8217;s a very simple mapping, but I&#8217;m pleased with the results so far.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.decontextualize.com/2010/03/text-lathe-prototype/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Tree With Managers and Jittery Boats</title>
		<link>http://www.decontextualize.com/2009/09/a-tree-with-managers-and-jittery-boats/</link>
		<comments>http://www.decontextualize.com/2009/09/a-tree-with-managers-and-jittery-boats/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 03:42:20 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[text]]></category>

		<guid isPermaLink="false">http://www.decontextualize.com/?p=383</guid>
		<description><![CDATA[
An experiment in interfaces for generative text from Jason Nelson (whom you may better know as the creator of i made this. you play this. we are enemies and game, game, game and again game).
The snippets of text are arranged in hierarchical menus, and seem to cohere both vertically (from top to bottom within the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://static.decontextualize.com/snaps/a%20tree%20with%20managers.jpg"><img alt="" src="http://static.decontextualize.com/snaps/a%20tree%20with%20managers.jpg" title="jittery boats screenshot" class="alignnone" width="400" height="300" /></a></p>
<p>An experiment in interfaces for generative text from <a href="http://www.secrettechnology.com/">Jason Nelson</a> (whom you may better know as the creator of <a href="http://www.secrettechnology.com/madethis/enemy6.html">i made this. you play this. we are enemies</a> and <a href="http://www.secrettechnology.com/gamegame/agame.html">game, game, game and again game</a>).</p>
<p>The snippets of text are arranged in hierarchical menus, and seem to cohere both vertically (from top to bottom within the same level of hierarchy) and horizontally (from left to right, as you drill down deeper into the hierarchy). I would be interested to hear from Jason how the snippets were composed, and what his methodology was for arranging them.</p>
<p>I&#8217;m struck by the similarities between this piece and <a href="http://netpoetic.com/2009/09/a-tiny-poetry-generator-with-blinkenlights/">Nick Montfort&#8217;s ppg256 series</a>. While Montfort and Nelson clearly have different stylistic aims, both are using computers to define procedures for combining snippets of text. The procedure in <i>A Tree With Managers&#8230;</i> relies more heavily on interactivity than the procedure in <i>ppg256</i>, but the underlying data structures, and the kinds of choices that can be made, are analogous.</p>
<p>(One method of more directly comparing the output of the two procedures might be to transcribe the snippets in <i>A Tree With Managers&#8230;</i>, along with their relationships, then create a program to randomly traverse them. Maybe a weekend project?)</p>
<p>(<a href="http://netpoetic.com/2009/09/a-tree-with-managers-and-jittery-boats/">via, where you can also find comments and discussion</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.decontextualize.com/2009/09/a-tree-with-managers-and-jittery-boats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Longest Poem in the World</title>
		<link>http://www.decontextualize.com/2009/08/the-longest-poem-in-the-world/</link>
		<comments>http://www.decontextualize.com/2009/08/the-longest-poem-in-the-world/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 13:47:02 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[poetry]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.decontextualize.com/?p=367</guid>
		<description><![CDATA[
The procedure: scrape Twitter&#8217;s public timeline and find rhyming couplets. The effect is striking: even though the juxtaposition of tweets is essentially random, the presence of rhyme gives them a strange cohesion.
The only obvious weirdness comes when the procedure tries to rhyme emoticons, as in the following couplet:
Finished a paper for class and time to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.longestpoemintheworld.com/"><img src="http://static.decontextualize.com/snaps/longestpoem.png" alt="longestpoem" width="400"/></a></p>
<p>The procedure: scrape Twitter&#8217;s public timeline and find rhyming couplets. The effect is striking: even though the juxtaposition of tweets is essentially random, the presence of rhyme gives them a strange cohesion.</p>
<p>The only obvious weirdness comes when the procedure tries to rhyme emoticons, as in the following couplet:</p>
<blockquote><p>Finished a paper for class and time to relax. Yay me!!<br />
Showered and feeling good :) How are y&#8217;all smelling? :b</p></blockquote>
<p>On second thought, I like that: it&#8217;s as though the procedure suggests you read the emoticon aloud in a cutesy way (&#8220;time to relax, yay me! / &#8230; how are y&#8217;all smelling? colon lowercase bee&#8221;).</p>
<p>(<a href="http://www.metafilter.com/84298/twitter-defines-our-world-in-poetry">via</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.decontextualize.com/2009/08/the-longest-poem-in-the-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Murmur Study</title>
		<link>http://www.decontextualize.com/2009/08/murmur-study/</link>
		<comments>http://www.decontextualize.com/2009/08/murmur-study/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 01:46:26 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[pcomp]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.decontextualize.com/?p=358</guid>
		<description><![CDATA[
Murmur Study from Christopher Baker on Vimeo.
Murmur Study is a physicalized reading of Twitter, created by artists Christopher Baker and Márton András Juhász. (More details and photos.) The process, according to the artist&#8217;s site:
This installation consists of 30 thermal printers that continuously monitor Twitter for new messages containing variations on common emotional utterances. Messages containing [...]]]></description>
			<content:encoded><![CDATA[<p><object width="400" height="225"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4464887&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=FF7F00&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=4464887&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=FF7F00&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object>
<p><a href="http://vimeo.com/4464887">Murmur Study</a> from <a href="http://vimeo.com/christopherbaker">Christopher Baker</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><i>Murmur Study</i> is a physicalized reading of Twitter, created by artists <a href="http://christopherbaker.net/">Christopher Baker</a> and <a href="http://nilseuropa.com/projects.htm">Márton András Juhász</a>. (<a href="http://christopherbaker.net/projects/murmur-study/">More details and photos.</a>) The process, according to the artist&#8217;s site:</p>
<blockquote><p>This installation consists of 30 thermal printers that continuously monitor Twitter for new messages containing variations on common emotional utterances. Messages containing hundreds of variations on words such as argh, meh, grrrr, oooo, ewww, and hmph, are printed as an endless waterfall of text accumulating in tangled piles below.</p></blockquote>
<p>I&#8217;m not quite sure I understand the reason to single out tweets that match those particular text patterns&#8212;how is this format more appropriate for illustrating the mass of &#8220;emotional&#8221; tweets? (as opposed to tweets about kittens, tweet spam, tweets from political figures, tweets about thermal printers, etc.) Stunning in its scale, nevertheless.</p>
<p>See also: <a href="http://www.interactivearchitecture.org/bitfall.html">bitfall</a> and Simanowski&#8217;s keynote from e-poetry 2009 (not linked, because I can&#8217;t find a link).</p>
<p><a href="http://rhizome.org/editorial/2825">(via rhizome.org)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.decontextualize.com/2009/08/murmur-study/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
