<?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; retro</title>
	<atom:link href="http://www.decontextualize.com/tag/retro/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.decontextualize.com</link>
	<description>decontextualize.com</description>
	<lastBuildDate>Sat, 01 May 2010 18:49:36 +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>5-in-5 Day 2: twbasic</title>
		<link>http://www.decontextualize.com/2008/07/5-in-5-day-2-twbasic/</link>
		<comments>http://www.decontextualize.com/2008/07/5-in-5-day-2-twbasic/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 04:24:03 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.decontextualize.com/?p=35</guid>
		<description><![CDATA[My day 2 project is called twbasic.  It&#8217;s an implementation of classic, line-numbered, home computer-era BASIC that runs on top of Twitter.  You can start using twbasic right now by twittering your program listing to @twbasic.  Here&#8217;s how to get twenty rolls of a six-sided die:
@twbasic 10 for i = 1 to [...]]]></description>
			<content:encoded><![CDATA[<p>My day 2 project is called <i>twbasic</i>.  It&#8217;s an implementation of classic, line-numbered, home computer-era <a href="http://en.wikipedia.org/wiki/BASIC_programming_language">BASIC</a> that runs on top of Twitter.  You can start using twbasic right now by twittering your program listing to @twbasic.  Here&#8217;s how to get twenty rolls of a six-sided die:</p>
<pre>@twbasic 10 for i = 1 to val(ARG$)
@twbasic 20 print rnd(6) + 1
@twbasic 30 next i
@twbasic run 20</pre>
<p><a href='http://5-in-5.com/wp-content/uploads/2008/07/screenshot.png'><img src="http://5-in-5.com/wp-content/uploads/2008/07/screenshot-300x137.png" alt="" width="300" height="137" class="alignnone size-medium wp-image-122" /></a><br />
<br style="clear: both"/></p>
<p>(The above screenshot depicts twbasic providing a listing of the program above, and then the results of running the code.)</p>
<p>A reference for using twbasic can be found after the jump.</p>
<p><span id="more-35"></span><br />
<br/></p>
<h3>Twbasic Language Reference</h3>
<p>Twbasic is built on top of Malcom McLean&#8217;s liberally licensed <a href="http://www.personal.leeds.ac.uk/~bgy1mm/Minibasic/MiniBasicHome.html">MiniBasic</a>.  Twbasic supports all of MiniBasic&#8217;s keywords (see the <a href="http://www.personal.leeds.ac.uk/~bgy1mm/Minibasic/keywords.html">manual</a> for a list and explanations), with the following additions and omissions:</p>
<ul>
<li>The INPUT keyword is unsupported.  (It doesn&#8217;t make sense in the context of twitter, since there is no keyboard to retrieve input from.)
</li>
<li>An additional global variable, ARG$, is available to your program.  This variable contains the whatever string follows the <i>run</i> command (see below).
</li>
<li>Keywords are insensitive to case. (MiniBasic requires keywords in all-caps.  I found that to be annoying for use from mobile phones.)
</li>
</ul>
<p>Twbasic also limits the output of any program to 120 characters (approximately one tweet).  The server is currently set up to automatically kill any twbasic process that runs longer than fifteen seconds (so keep your programs brief).</p>
<h3>Using twbasic</h3>
<p>To use twbasic, simply start tweeting your program listing to twbasic using the reply syntax, like so:</p>
<pre>@twbasic 10 rem my first twbasic program
@twbasic 20 print "hello!"</pre>
<p>To retrieve a listing of your program, send <code>@twbasic list</code>.  Your program will be sent back to you as a reply, one line at a time.  (This might take a while.)</p>
<p>To clear your current program and start from scratch, send <code>@twbasic clear</code>.</p>
<p>You can revise a line in your program by sending another line with the same line number.  For example, if you had originally sent the program above, then sent <code>@twbasic 20 print "goodbye!"</code>, then you&#8217;d receive the following listing from <code>@twbasic list</code>:</p>
<pre>@twbasic 10 rem my first twbasic program
@twbasic 20 print "goodbye!"</pre>
<p>Once you&#8217;re satisfied with your program listing, run your program with the following syntax: <code>@twbasic run</code>.  Any characters following <code>run</code> will be available within the program as the <code>ARG$</code> variable.</p>
<p>After you&#8217;ve run your code, twbasic reply with its output (if any).  If you&#8217;re following @twbasic, the output will show up on your timeline.  If not, you&#8217;ll have to visit <a href="http://twitter.com/twbasic">twitter.com/twbasic</a>.</p>
<p>(Please be patient with twbasic: it&#8217;s only as responsive as its friendly whale master allows it to be.)</p>
<h3>Rationale</h3>
<p>The abbreviated, text-heavy and asynchronous nature of Twitter reminded me of my formative years in front of a TRS-80 Color Computer 2.  I used BASIC then, why not use it now?</p>
<p>While twbasic is mostly just a fun hack, it could potentially form the basis of a mobile, cross-platform programming platform.  Twitter&#8217;s biggest assets are its scriptability (via the excellent API) and its accessibility (if you can text, you can tweet).  So if you&#8217;re on the road somewhere with only your uncle&#8217;s crippled mobile phone, you can still use twbasic to write some trigonometry algorithms.</p>
<p>Let me know if you have any problems (that can&#8217;t be explained away by twitter&#8217;s recent flakiness) or if you come up with any ideas for interesting applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.decontextualize.com/2008/07/5-in-5-day-2-twbasic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5-in-5 Day 1: Mega Man Linocut Prints</title>
		<link>http://www.decontextualize.com/2008/07/5-in-5-day-1-mega-man-linocut-prints/</link>
		<comments>http://www.decontextualize.com/2008/07/5-in-5-day-1-mega-man-linocut-prints/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 06:41:36 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[megaman]]></category>
		<category><![CDATA[printmaking]]></category>
		<category><![CDATA[retro]]></category>

		<guid isPermaLink="false">http://www.decontextualize.com/?p=34</guid>
		<description><![CDATA[My day 1 project was about an analogy between retro video games and printmaking.

The Nintendo Entertainment System has a limited palette: of fifty-odd possible colors, only twenty-five can appear at any one time, and only four of those can be used in a single sprite.  Games produced for the NES made careful use of [...]]]></description>
			<content:encoded><![CDATA[<p>My day 1 project was about an analogy between retro video games and printmaking.</p>
<p><a href="http://5-in-5.com/wp-content/uploads/2008/07/blueandcyan.jpg"><img class="size-medium wp-image-86" src="http://5-in-5.com/wp-content/uploads/2008/07/blueandcyan-300x224.jpg" alt="your basic mega man" width="200" /></a></p>
<p>The Nintendo Entertainment System has a limited palette: of fifty-odd possible colors, only twenty-five can appear at any one time, and only four of those can be used in a single sprite.  Games produced for the NES made careful use of this palette, expressing as much information through color as possible.  This is famously the case in the Mega Man games for the NES, in which Mega Man (our hero) changes colors to indicate which weapon he&#8217;s using.</p>
<p><span id="more-34"></span></p>
<p>In printmaking (and I&#8217;m a novice at this, so let me know if I&#8217;m getting something wrong), multicolor prints are often made by overlaying a number of blocks with complementary negative spaces, producing a number of interlocking monochromatic fields. Look at it sideways, and that&#8217;s a lot like how color works on the Nintendo.</p>
<p><a href="http://5-in-5.com/wp-content/uploads/2008/07/pristine-cuts.jpg"><img class="alignnone size-medium wp-image-82" src="http://5-in-5.com/wp-content/uploads/2008/07/pristine-cuts-168x300.jpg" alt="blocks before printing" width="168" height="300" /></a></p>
<p>As a means of investigating this parallelism (and making some fan art in the process) I made these blocks for a basic Mega Man sprite (his shooting stance).  There are four blocks: one for the background, one for Mega Man&#8217;s outline, and the two colors to indicate which weapon he&#8217;s using.  The blocks were made by drawing a 32&#215;24 grid on the linoleum, then drawing an outline around the pixels that belonged to each color area.  I scored the edges of the areas with an exacto knife to ensure neatness, and then went at the thing with my linoleum cutter.  That was how I spent the majority of the day.</p>
<p>Once you&#8217;ve got your blocks, inking and printing a bunch of Mega Men is easy.  My first test print is at the beginning of this entry.  I think the ragged (&#8220;hand pulled&#8221; or whatever) registration served the subject matter, so I stuck with it for the rest of the day.  Here&#8217;s a larger composition I&#8217;ve been working on, in various stages of completion:</p>
<p><a href="http://5-in-5.com/wp-content/uploads/2008/07/fivebyfive.jpg"><img class="alignnone size-medium wp-image-85" src="http://5-in-5.com/wp-content/uploads/2008/07/fivebyfive-300x168.jpg" alt="backgrounds and outlines" width="300" height="168" /></a></p>
<p><a href="http://5-in-5.com/wp-content/uploads/2008/07/ninemegamen.jpg"><img class="alignnone size-medium wp-image-83" src="http://5-in-5.com/wp-content/uploads/2008/07/ninemegamen-300x193.jpg" alt="" width="300" height="193" /></a></p>
<p><a href="http://5-in-5.com/wp-content/uploads/2008/07/blueandyellow.jpg"><img class="alignnone size-medium wp-image-84" src="http://5-in-5.com/wp-content/uploads/2008/07/blueandyellow-300x228.jpg" alt="" width="300" height="228" /></a></p>
<p>(detail from center top)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.decontextualize.com/2008/07/5-in-5-day-1-mega-man-linocut-prints/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
