<?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>chip the glasses &#187; open source</title>
	<atom:link href="http://chiptheglasses.com/tag/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://chiptheglasses.com</link>
	<description>a garden of forking libraries of babel</description>
	<lastBuildDate>Wed, 11 Aug 2010 14:58:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>shakesbot: a shakespeare play performer for twitter</title>
		<link>http://chiptheglasses.com/2010/05/shakesbot-a-shakespeare-play-performer-for-twitter/</link>
		<comments>http://chiptheglasses.com/2010/05/shakesbot-a-shakespeare-play-performer-for-twitter/#comments</comments>
		<pubDate>Sat, 01 May 2010 18:10:45 +0000</pubDate>
		<dc:creator>nathanielksmith</dc:creator>
				<category><![CDATA[art]]></category>
		<category><![CDATA[open source technology]]></category>
		<category><![CDATA[drama]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[plays]]></category>
		<category><![CDATA[robots]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[shakespeare]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://chiptheglasses.com/?p=190</guid>
		<description><![CDATA[the shakesbot I came across this collection by chance recently. I noticed that the HTML used for each play was clean and well structured, so I thought I&#8217;d write a twitter bot to perform them. I&#8217;ve been waiting for a chance to learn Ruby, too, so I thought I&#8217;d use this as an excuse. features [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com/shakesbot">the shakesbot</a></p>
<p>I came across <a href="http://shakespeare.mit.edu/">this collection</a> by chance recently. I noticed that the HTML used for each play was clean and well structured, so I thought I&#8217;d write a twitter bot to perform them. I&#8217;ve been waiting for a chance to learn Ruby, too, so I thought I&#8217;d use this as an excuse.</p>
<div id="attachment_192" class="wp-caption aligncenter" style="width: 577px"><a href="http://chiptheglasses.com/wp-content/uploads/2010/05/shakesbot.png"><img src="http://chiptheglasses.com/wp-content/uploads/2010/05/shakesbot.png" alt="screenshot of shakesbot" title="shakesbot" width="567" height="408" class="size-full wp-image-192" /></a><p class="wp-caption-text">The Tragedy of Hamlet, Prince of Denmark</p></div>
<h3>features</h3>
<ul>
<li>parses MIT shakespeare plays</li>
<li>can handle an over-capacity twitter</li>
<li>specify tweet interval, rehearsal (dry-run) mode</li>
<li>authenticates to Twitter using the <a href="http://github.com/moomerman/twitter_oauth">twitter_oauth</a> gem</li>
</ul>
<h3>installation</h3>
<p>it&#8217;s just source code for now as it&#8217;s not really useful outside of my one twitter account. However, it could provide a basis for a more general structured-play reader/tweeter, so in the future it may be a releasable tool.</p>
<p>For now, check out the source on <a href="http://github.com/nathanielksmith/shakesbot">github</a>.</p>
<h3>thanks to</h3>
<ul>
<li><a href="http://www.mit.edu/">MIT</a>, for having nicely parse-able plays</li>
<li><a href="http://github.com/mirhampt">mirhampt</a> for getting excited about ruby with me</li>
<li><a href="http://twitter.com">twitter</a> for trying its best to make the oauth conversion less annoying for one-off twitter toy writers like myself</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://chiptheglasses.com/2010/05/shakesbot-a-shakespeare-play-performer-for-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>done: a minimal command line todo list tool</title>
		<link>http://chiptheglasses.com/2010/04/done-a-minimal-command-line-todo-list-tool/</link>
		<comments>http://chiptheglasses.com/2010/04/done-a-minimal-command-line-todo-list-tool/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 01:54:13 +0000</pubDate>
		<dc:creator>nathanielksmith</dc:creator>
				<category><![CDATA[open source technology]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[done]]></category>
		<category><![CDATA[gtd]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[todo]]></category>

		<guid isPermaLink="false">http://chiptheglasses.com/?p=182</guid>
		<description><![CDATA[Having tried todo.sh, ikog, and a plain text file I was frustrated with my options for todo list management from the command line. Daily I use timebook for time tracking at work and wanted something similar to manage my todo list. I chose this opportunity to write my own todo list and learn Haskell doing [...]]]></description>
			<content:encoded><![CDATA[<p>Having tried <a href="http://ginatrapani.github.com/todo.txt-cli/">todo.sh</a>, <a href="http://www.henspace.co.uk/ikog/index.html">ikog</a>, and a plain text file I was frustrated with my options for todo list management from the command line. Daily I use <a href="http://pypi.python.org/pypi/timebook/1.1.0">timebook</a> for time tracking at work and wanted something similar to manage my todo list.</p>
<p>I chose this opportunity to write my own todo list and learn Haskell doing it. I managed to produce something basically usable but it didn&#8217;t support due dates and wasn&#8217;t scaling too well. I had grown dependent on the tool, though, so instead of waiting till my Haskell improved I just rewrote it in Python.</p>
<p>Thus, I present done.</p>
<h3>features</h3>
<ul>
<li>natural date parsing (eg. &#8216;tomorrow&#8217;, &#8216;in 2 days&#8217;) for due dates</li>
<li>color-coded due dates (items go from green to red as due date approaches)</li>
<li>tagging</li>
<li>hardly any footprint: minimal in design and in implementation</li>
</ul>
<h3>screenshot</h3>
<div id="attachment_184" class="wp-caption aligncenter" style="width: 478px"><a href="http://chiptheglasses.com/wp-content/uploads/2010/04/done.png"><img src="http://chiptheglasses.com/wp-content/uploads/2010/04/done.png" alt="screenshot of the done tool" title="done in action" width="468" height="523" class="size-full wp-image-184" /></a><p class="wp-caption-text">done in action</p></div>
<h3>installation</h3>
<p>to try out done, you can do:</p>
<p><code>sudo pip install done</code></p>
<p>or <a href="http://pypi.python.org/pypi/done/1.0.3">download it from PyPi</a> and run </p>
<p><code>sudo python setup.py install</code></p>
<p>In both instances, you need setuptools (python-setuptools in the debian repo).</p>
<h3>thanks to</h3>
<ul>
<li>the <a href="http://code.google.com/p/parsedatetime/">parsedatetime</a> library</li>
<li><a href="http://bitbucket.org/mirhampt/sql_interp/">SQLInterp</a> for Python</li>
<li><a href="http://pypi.python.org/pypi/termcolor">termcolor</a></li>
</ul>
<h3>feedback</h3>
<p>I&#8217;d love to hear what you think. Leave a comment or open an issue <a href="http://www.github.com/nathanielksmith/done">on github</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://chiptheglasses.com/2010/04/done-a-minimal-command-line-todo-list-tool/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>tabtweet &#8212; a Twitter tab-completion extension for Google Chrome (or Chromium)</title>
		<link>http://chiptheglasses.com/2010/02/announcing-tabtweet-for-chromiume/</link>
		<comments>http://chiptheglasses.com/2010/02/announcing-tabtweet-for-chromiume/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 04:37:15 +0000</pubDate>
		<dc:creator>nathanielksmith</dc:creator>
				<category><![CDATA[open source technology]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[autocomplete]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[chromium]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[complete]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[friends]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[tab]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://chiptheglasses.com/?p=151</guid>
		<description><![CDATA[I just uploaded a chrom{e,ium} extension to google&#8217;s extension repository. It adds tab-completion to twitter; when you type an @ symbol into your status box an autocomplete menu pops up with all of your friends&#8217; screen names in it. The project is open source. Here is the code (as well as an issue tracker, if [...]]]></description>
			<content:encoded><![CDATA[<p>I just uploaded a chrom{e,ium} extension to google&#8217;s <a href="https://chrome.google.com/extensions/detail/bfjiajakknijcdpgifedaheifnpbgokn">extension repository</a>. It adds tab-completion to twitter; when you type an @ symbol into your status box an autocomplete menu pops up with all of your friends&#8217; screen names in it.</p>
<div id="attachment_152" class="wp-caption aligncenter" style="width: 799px"><a href="http://chiptheglasses.com/wp-content/uploads/2010/02/screenshot.png"><img src="http://chiptheglasses.com/wp-content/uploads/2010/02/screenshot.png" alt="tabtweet screenshot" title="tabtweet screenshot" width="789" height="221" class="size-full wp-image-152" /></a><p class="wp-caption-text">tabtweet screenshot</p></div>
<p>The project is open source. <a href="http://github.com/nathanielksmith/tabtweet">Here is the code</a> (as well as an issue tracker, if you need to submit a bug report).</p>
<p>Technically speaking it&#8217;s an interesting project. It is a combination of:</p>
<ul>
<li>the Chrom{e,ium} extensions framework / API</li>
<li>the Twitter API</li>
<li>the OAuth specification</li>
<li>HTML5 (local storage)</li>
<li>The jQuery library (with a patched autocomplete plugin)</li>
</ul>
<p>and is the first open source javascript OAuth application I&#8217;ve come across. It uses code from <a href="http://oauth.googlecode.com/svn/code/javascript/">this project</a> (albiet with a small patch) to successfully implement the 7-step OAuth flow using AJAX. This was a pretty tremendous struggle as the internet doesn&#8217;t think you should do that.</p>
<p>The extension is <a href="https://chrome.google.com/extensions/detail/bfjiajakknijcdpgifedaheifnpbgokn">in the Google chrome extensions directory.</a> Try it out!</p>
]]></content:encoded>
			<wfw:commentRss>http://chiptheglasses.com/2010/02/announcing-tabtweet-for-chromiume/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using git+github for senior capstone experience</title>
		<link>http://chiptheglasses.com/2009/10/using-gitgithub-for-senior-capstone-experience/</link>
		<comments>http://chiptheglasses.com/2009/10/using-gitgithub-for-senior-capstone-experience/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 00:13:08 +0000</pubDate>
		<dc:creator>nathanielksmith</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[earlham]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[revision control]]></category>

		<guid isPermaLink="false">http://chiptheglasses.com/?p=54</guid>
		<description><![CDATA[I have a monstrous preference for darcs over any other kind of version control. I love its interface, the theory behind it, and the fact that it&#8217;s written in Haskell. However, I&#8217;ve fallen in love with github. It&#8217;s one of the slickest, most useful web interfaces I&#8217;ve ever used. It alone has made me start [...]]]></description>
			<content:encoded><![CDATA[<p>I have a monstrous preference for <a href="http://darcs.net/">darcs</a> over any other kind of version control. I love its interface, the theory behind it, and the fact that it&#8217;s written in <a href="http://learnyouahaskell.com/">Haskell</a>.</p>
<p>However, I&#8217;ve fallen in love with <a href="http://github.com">github</a>. It&#8217;s one of the slickest, most useful web interfaces I&#8217;ve ever used. It alone has made me start to learn and use git (albiet begrudgingly).</p>
<p>I&#8217;m in my final semester of my time at <a href="http://earlham.edu">earlham college</a>, which means it&#8217;s senior capstone time. We were encouraged to look over other computer science major&#8217;s past projects and work logs, stored in the departmental wiki and student webpages, respectively. I noticed that most students, when expected to regularly update an .html file in the midst of classwork and general procrastination, updated 3 or 4 times and then never touched their log again.</p>
<p>I had considered using this blog for my worklog (just using some tag to group it together) but decided that as long as that manual need was there I would be lax in updating. It occurred to me that I had been planning from the beginning of the semester to use github to store my code; while sitting in class the other day I realized I could just tell my professor to look at my <a href="http://github.com/nathanielksmith/weltanschauung">commit log</a>.</p>
<p>I then realized that, if all the students in my class were using github, our professor could just subscribe to the feed of all of our commit logs and immediately assess all of our performance.</p>
<p>So, thus, we have all been mandated to put our papers and coding projects in git repositories for the world to see. I will blog about it again at the end of the semester to report on the efficacy of such an endeavor. In the meantime, check out my evolving thesis at <a href="http://github.com/nathanielksmith/weltanschauung">github</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://chiptheglasses.com/2009/10/using-gitgithub-for-senior-capstone-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>amarok 2 + ampache 3.5.x</title>
		<link>http://chiptheglasses.com/2009/10/amarok-2-ampache-3-5-x/</link>
		<comments>http://chiptheglasses.com/2009/10/amarok-2-ampache-3-5-x/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 17:31:43 +0000</pubDate>
		<dc:creator>nathanielksmith</dc:creator>
				<category><![CDATA[open source technology]]></category>
		<category><![CDATA[amarok]]></category>
		<category><![CDATA[ampache]]></category>
		<category><![CDATA[last.fm]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[lovecraft]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[streaming]]></category>

		<guid isPermaLink="false">http://chiptheglasses.com/?p=50</guid>
		<description><![CDATA[I&#8217;ve been a longtime fan of ampache. As a way to centralize and broadcast your music library, it&#8217;s fantastic&#8211;easy setup, hardly any configuration, friendly web interface. My one annoyance was that, as long as I had my music in Ampache, I couldn&#8217;t really use it with my preferred media player Amarok. I could export playlists [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been a longtime fan of <a href="http://ampache.org/">ampache</a>. As a way to centralize and broadcast your music library, it&#8217;s fantastic&#8211;easy setup, hardly any configuration, friendly web interface. My one annoyance was that, as long as I had my music in Ampache, I couldn&#8217;t really use it with my preferred media player <a href="http://amarok.kde.org/">Amarok</a>. I could export playlists into Amarok (this is back in 1.4.x) but that was it; I manually had to go to Ampache, craft a playlist, export it, listen, repeat. Very tiresome.</p>
<p>Amarok 2 has finally filled the gap with its built-in Ampache plugin. Now, once configured, your Ampache collection can look and behave just like your local collection (sans tag editing features, but c&#8217;est la vie). Even album art is pulled.</p>
<p>There&#8217;s not much to it; one pitfall is that in my haste to make this work I installed Ampache from the Ubuntu repos; don&#8217;t do this. The version you get is 3.4.x which doesn&#8217;t work with Amarok 2&#8242;s plugin. Download 3.5.x from Ampache&#8217;s website and you&#8217;ll be good to go.</p>
<p>I just followed the directions <a href="http://ampache.org/wiki/config:amarok">here</a> and was going in no time.</p>
<p>Now, I keep my music on an external hard drive attached to my eee server, Lovecraft, and access it from my work thinkpad / home thinkpad / on the go eee901 / where ever.</p>
<p>Also: it works with Amarok 2&#8242;s built-in <a href="http://www.last.fm/user/cogitatus">last.fm</a> support.</p>
<p>Hooray.</p>
]]></content:encoded>
			<wfw:commentRss>http://chiptheglasses.com/2009/10/amarok-2-ampache-3-5-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>global collaboration</title>
		<link>http://chiptheglasses.com/2009/10/global-collaboration/</link>
		<comments>http://chiptheglasses.com/2009/10/global-collaboration/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 03:01:03 +0000</pubDate>
		<dc:creator>nathanielksmith</dc:creator>
				<category><![CDATA[computer music]]></category>
		<category><![CDATA[noise]]></category>
		<category><![CDATA[open source technology]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[jack rack]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[pdrss]]></category>
		<category><![CDATA[pure data]]></category>
		<category><![CDATA[robots]]></category>
		<category><![CDATA[rosegarden]]></category>
		<category><![CDATA[tracks]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://chiptheglasses.com/?p=46</guid>
		<description><![CDATA[A friend had the idea to start up a game of musical telephone. The details of it are still somewhat foggy to me but, basically, I make one or more tracks, give them to someone else, and get tracks in return. I do what I want to what I get and trade those in. after [...]]]></description>
			<content:encoded><![CDATA[<p>A friend had the idea to start up a game of musical telephone. The details of it are still somewhat foggy to me but, basically, I make one or more tracks, give them to someone else, and get tracks in return. I do what I want to what I get and trade those in. after some N number of trades, a song appears.</p>
<p>I took this as an opportunity to practice with some new stuff. First, I ran my <a href="http://github.com/nathanielksmith/pdrss">pdrss</a> program through the great <a href="http://jack-rack.sourceforge.net/">jack rack</a> for two minutes, recording into <a href="http://www.rosegardenmusic.com/">Rosegarden</a>. Next, I just programmed some oscillators in <a href="http://puredata.info/">pure data</a>, put them through jack rack, and recorded another two minutes.</p>
<p>It&#8217;s late, and since someone else is going to be hacking these up anyway, I didn&#8217;t strive for perfection. I only did two or three takes for each track. They don&#8217;t match up all that great and their sluggish changes represent my still-neophyte computer music skillz (computer mice are different than mixer knobs).</p>
<p>I had a lot of fun, and since these tracks are for collaboration (and fairly large&#8230;nay, extremely large) I put them up here instead of gmailing them.</p>
<p>Enjoy, and please, take them and destroy them.</p>
<p><a href='http://12.176.100.59/static/nate_track_twitter.wav' >twittertalk</a><br />
<a href='http://12.176.100.59/static/nate_track_oscs.wav' >oscs</a></p>
]]></content:encoded>
			<wfw:commentRss>http://chiptheglasses.com/2009/10/global-collaboration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://12.176.100.59/static/nate_track_twitter.wav" length="22548596" type="audio/x-wav" />
<enclosure url="http://12.176.100.59/static/nate_track_oscs.wav" length="24039534" type="audio/x-wav" />
		</item>
		<item>
		<title>sd.pl</title>
		<link>http://chiptheglasses.com/2009/10/sd-pl/</link>
		<comments>http://chiptheglasses.com/2009/10/sd-pl/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 18:16:58 +0000</pubDate>
		<dc:creator>nathanielksmith</dc:creator>
				<category><![CDATA[noise]]></category>
		<category><![CDATA[open source technology]]></category>
		<category><![CDATA[bitrot]]></category>
		<category><![CDATA[borges]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[codegolf]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[string decay]]></category>

		<guid isPermaLink="false">http://chiptheglasses.com/?p=29</guid>
		<description><![CDATA[<div style="font-family:courier, monospace;font-size:70%">@i = split //,(pop @ARGV);print @i,"\n" and $i[rand int $#i]=chr ((int rand 94) + 32) while ($ARGV[0]--);
@i = split //,(pop @ARGV);print @i,"%n" and $i[rand int $#i]=chr ((int rand 94) + 32) while ($ARGV[0]--);
@i = split //,(pop @ARGV);print @i,"%n" and $i[rand int $#i]=chr ((int raOd 94) + 32) while ($ARGV[0]--);
@i = }plit //,(pop @ARGV);print @i,"%n" and $i[rand int $#i]=chr ((int raOd 94) + 32) while ($ARGV[0]--);
@i = }plit //,(pop @ARGV);print @i,"%n" and $i[rand @nt $#i]=chr ((int raOd 94) + 32) while ($ARGV[0]--);
@i = }plit //,(aop @ARGV);print @i,"%n" and $i[rand @nt $#i]=chr ((int raOd 94) + 32) while ($ARGV[0]--);
@i = }plit //,(aop @ARGV);print @i,"%n" and $i[rand @nt $#i]=chr (()nt raOd 94) + 32) while ($ARGV[0]--);</div>]]></description>
			<content:encoded><![CDATA[<div style="font-family:courier, monospace;font-size:70%">@i = split //,(pop @ARGV);print @i,&#8221;\n&#8221; and $i[rand int $#i]=chr ((int rand 94) + 32) while ($ARGV[0]&#8211;);<br />
@i = split //,(pop @ARGV);print @i,&#8221;%n&#8221; and $i[rand int $#i]=chr ((int rand 94) + 32) while ($ARGV[0]&#8211;);<br />
@i = split //,(pop @ARGV);print @i,&#8221;%n&#8221; and $i[rand int $#i]=chr ((int raOd 94) + 32) while ($ARGV[0]&#8211;);<br />
@i = }plit //,(pop @ARGV);print @i,&#8221;%n&#8221; and $i[rand int $#i]=chr ((int raOd 94) + 32) while ($ARGV[0]&#8211;);<br />
@i = }plit //,(pop @ARGV);print @i,&#8221;%n&#8221; and $i[rand @nt $#i]=chr ((int raOd 94) + 32) while ($ARGV[0]&#8211;);<br />
@i = }plit //,(aop @ARGV);print @i,&#8221;%n&#8221; and $i[rand @nt $#i]=chr ((int raOd 94) + 32) while ($ARGV[0]&#8211;);<br />
@i = }plit //,(aop @ARGV);print @i,&#8221;%n&#8221; and $i[rand @nt $#i]=chr (()nt raOd 94) + 32) while ($ARGV[0]&#8211;);<br />
@z = }plit //,(aop @ARGV);print @i,&#8221;%n&#8221; and $i[rand @nt $#i]=chr (()nt raOd 94) + 32) while ($ARGV[0]&#8211;);<br />
@z = }plit //,(aop @ARGV);print @i,&#8221;%n&#8221; avd $i[rand @nt $#i]=chr (()nt raOd 94) + 32) while ($ARGV[0]&#8211;);<br />
@z = }plit //,(aop @ARGV);print @i,&#8221;%n&#8221; avd $i[rand @nt $#i]=chr (()nt raOi 94) + 32) while ($ARGV[0]&#8211;);<br />
@z = }plit //,(aop @ARGV);print @i,&#8221;%n&#8221; avd $i[rand @nt $#i]echr (()nt raOi 94) + 32) while ($ARGV[0]&#8211;);<br />
@z = }plit //,(aop @ARGV);print @i,&#8221;%n&#8221; avd $i[rand @nt $#i]echr (()nt raOi 94) + 32) -hile ($ARGV[0]&#8211;);<br />
@z = }plit //,(aopu@ARGV);print @i,&#8221;%n&#8221; avd $i[rand @nt $#i]echr (()nt raOi 94) + 32) -hile ($ARGV[0]&#8211;);<br />
@z = }plit F/,(aopu@ARGV);print @i,&#8221;%n&#8221; avd $i[rand @nt $#i]echr (()nt raOi 94) + 32) -hile ($ARGV[0]&#8211;);<br />
@z = }plit F/,(aopu@ARGV);print @i,&#8221;%n&#8221; avd $i[rand @nt $#i]echr (()>t raOi 94) + 32) -hile ($ARGV[0]&#8211;);<br />
@z = }plit F/,(aohu@ARGV);print @i,&#8221;%n&#8221; avd $i[rand @nt $#i]echr (()>t raOi 94) + 32) -hile ($ARGV[0]&#8211;);<br />
@z = }plit F/,(aohu@ARGV);print @i,&#8221;%n&#8221; avd $i[rand @nt $#i]echr (()>t raOi 94) + 32) -hile ($ARGI[0]&#8211;);<br />
@z = }plit F/,(aohu@ARGV);print @i,&#8221;%n&#8221; avd $i[rand @n[ $#i]echr (()>t raOi 94) + 32) -hile ($ARGI[0]&#8211;);<br />
@z = }plit F/,(aohu@ARGV);print Si,&#8221;%n&#8221; avd $i[rand @n[ $#i]echr (()>t raOi 94) + 32) -hile ($ARGI[0]&#8211;);<br />
@z = }plit F/,(aohu@ARGV);print Si,&#8221;%n&#8221; axd $i[rand @n[ $#i]echr (()>t raOi 94) + 32) -hile ($ARGI[0]&#8211;);<br />
@z = }plit F/,(aohu@ARGV);print Ei,&#8221;%n&#8221; axd $i[rand @n[ $#i]echr (()>t raOi 94) + 32) -hile ($ARGI[0]&#8211;);<br />
@z = }plit F/,(aohu@ARGV);print Ei,&#8221;%n&#8221; axd $i[rand @n[ $#i]echr (()>t raOi 94) + 32) -hile ($ARGI[0]G-);<br />
@z = }plit F/,(aohu@ARGV);print Ei,&#8221;%n&#8221; axdH$i[rand @n[ $#i]echr (()>t raOi 94) + 32) -hile ($ARGI[0]G-);<br />
@z = }plit F/,(aohu@ARGV);prinJ Ei,&#8221;%n&#8221; axdH$i[rand @n[ $#i]echr (()>t raOi 94) + 32) -hile ($ARGI[0]G-);<br />
@z = }plit F/,(aohu@ARGV);rrinJ Ei,&#8221;%n&#8221; axdH$i[rand @n[ $#i]echr (()>t raOi 94) + 32) -hile ($ARGI[0]G-);<br />
@z = }plit F/,(aohu@ARGV);rrinJ Ei,&#8221;%n&#8221; axdH$i[rand @n[ $#i]echr (()>t raOi 94) + 32) -hile ($ARGI[0]G-);<br />
@z = }plit F/,(aohu@ARGV);rrinJ Ei,&#8221;%n&#8221; axdH$i[rand @n[ $#i]echr (()>t raOi 94) + 32) -hile ($ARrI[0]G-);<br />
@z = }plit F/,(aohu@ARGV);rrinJ Ei,&#8221;%n&#8221; axdH$i[rand @n[ $#i]echr (()>! raOi 94) + 32) -hile ($ARrI[0]G-);<br />
@z = }plit F/,(aohu@ARGV);rrinJ Ei,&#8221;%n&#8221; axdH$i[rand @n[ $#i]echr (()>! raOi 940 + 32) -hile ($ARrI[0]G-);<br />
@z = }plit F/,(aohu@ARGV);rrinJ Ei,&#8221;%n&#8221; axdH$i[rand @n[ $#i]echr (()>! raOi ]40 + 32) -hile ($ARrI[0]G-);<br />
@z = }plit F/,(aohu@ARGV);rrinJ Ei,&#8221;%n&#8221; axdH$i[rand @n[ $#i]echr (()>! raOi ]40 + 32) -vile ($ARrI[0]G-);<br />
@z = }plit F/,(aohu@ARGV);rrinJ Ei,&#8221;%n&#8221; axdH$i[rand @n[ $#i]echr (()>! raOi ]40 + 32) &#038;vile ($ARrI[0]G-);<br />
@z = }plit F/,(aohu@ARGV);rrinJ Ei,&#8221;%n&#8221; axdH$i[rand @n[ $#i]echr (()>! MaOi ]40 + 32) &#038;vile ($ARrI[0]G-);<br />
@z = }plit z/,(aohu@ARGV);rrinJ Ei,&#8221;%n&#8221; axdH$i[rand @n[ $#i]echr (()>! MaOi ]40 + 32) &#038;vile ($ARrI[0]G-);<br />
@z = }plit z/,(2ohu@ARGV);rrinJ Ei,&#8221;%n&#8221; axdH$i[rand @n[ $#i]echr (()>! MaOi ]40 + 32) &#038;vile ($ARrI[0]G-);<br />
@z = }plit z/,(2ohu@ARGV);rrinJ Ei,&#8221;%n&#8221; axdH$i[rand @n[ $#i]echr (()>! MaOi ]40 + 32^ &#038;vile ($ARrI[0]G-);<br />
@z = }plit z/,(2ohu@ARGV);rrinJ Ei,&#8221;%n&#8221; axdHfi[rand @n[ $#i]echr (()>! MaOi ]40 + 32^ &#038;vile ($ARrI[0]G-);<br />
@z = }plit z/,(2ohu@ARGV);rrinJ Ei,&#8221;%n&#8221; ax9Hfi[rand @n[ $#i]echr (()>! MaOi ]40 + 32^ &#038;vile ($ARrI[0]G-);<br />
@z = }plit z/,(2ohu@ARGV);rrinJ Ei,&#8221;%n&#8221; ax9Hfi[rand @n[ $#i]echr (()>! MaOi ]40 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }plit z/,(2ohu@ARGV);rrinJ EiW"%n" ax9Hfi[rand @n[ $#i]echr (()>! MaOi ]40 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }plit z/,(2ohu@ARGV);rrinJ EiW"%!" ax9Hfi[rand @n[ $#i]echr (()>! MaOi ]40 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }plit z/,(2ohu@ARGV);rrinJ EiW"%!" ax9Hfi[rand @n[ $#i]ecJr (()>! MaOi ]40 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }plit z/,(2ogu@ARGV);rrinJ EiW"%!" ax9Hfi[rand @n[ $#i]ecJr (()>! MaOi ]40 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }plit z/,(2ogu@ARGV);rrinJ EiW"%!" ax9Hfi%rand @n[ $#i]ecJr (()>! MaOi ]40 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }plit z/,(2ogu@ARGV);rrinJ EiW"%!" ax9Hfi%rand @n[ $#i]ecJr i()>! MaOi ]40 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }plit z/,(2ogu@ARGq);rrinJ EiW"%!" ax9Hfi%rand @n[ $#i]ecJr i()>! MaOi ]40 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }plzt z/,(2ogu@ARGq);rrinJ EiW"%!" ax9Hfi%rand @n[ $#i]ecJr i()>! MaOi ]40 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }plzt z/,(2ogu$ARGq);rrinJ EiW"%!" ax9Hfi%rand @n[ $#i]ecJr i()>! MaOi ]40 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }p%zt z/,(2ogu$ARGq);rrinJ EiW"%!" ax9Hfi%rand @n[ $#i]ecJr i()>! MaOi ]40 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }p%zt z/,(2ogu$ARGq);rrinJ EiW"%!" ax9Hfi%rand @n[ K#i]ecJr i()>! MaOi ]40 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }p%zt z/,(2ogu$ARGq);rrinJ EiW"_!" ax9Hfi%rand @n[ K#i]ecJr i()>! MaOi ]40 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }p%!t z/,(2ogu$ARGq);rrinJ EiW"_!" ax9Hfi%rand @n[ K#i]ecJr i()>! MaOi ]40 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }p%!t z/,(2ogu$ARGq);rrinJ EiW"_!" ax9Hfi%rand @n[ K#i]ecJr i()>! MaOi \40 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }p%!t z/,(2[gu$ARGq);rrinJ EiW"_!" ax9Hfi%rand @n[ K#i]ecJr i()>! MaOi \40 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }p%!t z/,(2[gu$ARGq);rrinJ EiW"_!" ax9Hfi%rand @n[ K#i]ecJr i()>! MaOi \Y0 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }p%!t z/,(2[gu$ARGq);rrinJ EiW"_!" ax9HPi%rand @n[ K#i]ecJr i()>! MaOi \Y0 + 3<^ &#038;vile ($ARrI[0]G-);<br />
@z = }p%!t z/,(2[gu$ARGq);rrinJ EiW"_!" ax9HPi%rand @n[ K#i]ecJr i()>! MaOi \B0 + 3<^ &#038;vile ($ARrI[0]G-);
</div>
]]></content:encoded>
			<wfw:commentRss>http://chiptheglasses.com/2009/10/sd-pl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Everything: the detailed history of the future, the true story of your death, the translation of every book in all languages</title>
		<link>http://chiptheglasses.com/2009/10/dead-air-flier-using-stringdecay-and-gimp/</link>
		<comments>http://chiptheglasses.com/2009/10/dead-air-flier-using-stringdecay-and-gimp/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 14:38:42 +0000</pubDate>
		<dc:creator>nathanielksmith</dc:creator>
				<category><![CDATA[art]]></category>
		<category><![CDATA[noise]]></category>
		<category><![CDATA[open source technology]]></category>
		<category><![CDATA[borges]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[weci]]></category>

		<guid isPermaLink="false">http://chiptheglasses.com/?p=22</guid>
		<description><![CDATA[I have a radio show every Monday at 9p on WECI 91.5FM. It&#8217;s (usually) internet streamable from a rando IP address (directions). I wrote a very very simple perl script to destroy a string over time. I find the end result to be pretty aesthetically pleasing, so I use it to make fliers for my [...]]]></description>
			<content:encoded><![CDATA[<p>I have a radio show every Monday at 9p on WECI 91.5FM. It&#8217;s (usually) internet streamable from a rando IP address (<a href="weciradio.org/streaming">directions</a>).</p>
<p>I wrote a very very simple perl script to destroy a string over time. I find the end result to be pretty aesthetically pleasing, so I use it to make fliers for my radio show:</p>
<p><img src="/static/images/new_dead_air_flier_smaller.png" alt="dead air flier" title="radio show flier" /></p>
<p>I used a quote from <a href="http://74.125.95.132/search?q=cache:iHFgqU6SDF4J:jubal.westnet.com/hyperdiscordia/library_of_babel.html+'library+of+babel'&#038;cd=1&#038;hl=en&#038;ct=clnk&#038;gl=us">Borges&#8217;s Library of Babel</a> as input. The code that does the string decay is <a href="http://github.com/nathanielksmith/bitrot">up on github</a>.</p>
<p>If you feel like advertising for me, <a href="/static/images/new_dead_air_flier.png">here&#8217;s a larger printable version</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://chiptheglasses.com/2009/10/dead-air-flier-using-stringdecay-and-gimp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>!blosxom</title>
		<link>http://chiptheglasses.com/2009/10/blosxom/</link>
		<comments>http://chiptheglasses.com/2009/10/blosxom/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 03:10:49 +0000</pubDate>
		<dc:creator>nathanielksmith</dc:creator>
				<category><![CDATA[open source technology]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[blosxom]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://chiptheglasses.com/?p=18</guid>
		<description><![CDATA[Originally this blog was a blosxom blog. I learned of blosxom through hobix, which also made me intensely fascinated by why and his subsequent disappearance. Here&#8217;s why I liked blosxom, and eagerly installed it on lovecraft, my eee server: it&#8217;s perl I can use vim to edit my posts it doesn&#8217;t insist on rdbms bloatware [...]]]></description>
			<content:encoded><![CDATA[<p>Originally this blog was a <a href="http://www.blosxom.com/">blosxom</a> blog. I learned of blosxom through <a href="http://rubyforge.org/projects/hobix/">hobix</a>, which also made me intensely fascinated by <a href="http://en.wikipedia.org/wiki/Why_the_lucky_stiff">why</a> and his subsequent disappearance.</p>
<p>Here&#8217;s why I liked blosxom, and eagerly installed it on lovecraft, my eee server:</p>
<ul>
<li>it&#8217;s perl</li>
<li>I can use vim to edit my posts</li>
<li>it doesn&#8217;t insist on rdbms bloatware (I&#8217;m looking at you, mysql)</li>
<li>it&#8217;s hip. I guess.</li>
</ul>
<p>Unfortunately, my experience was less than stellar. It started off great&#8211;the installation was easy and I was up and running within a few minutes. I made my first post with ease. I was still starting at a nineties-looking black-text-on-white-background &#8216;flavour,&#8217; however, and decided to update it; unfortunately blosxom failed to ever find my flavour files and refused to change styles. I read and reread the docs on the blosxom website (which, I began to notice, has many broken links and some links that simply go to the wrong place) to no avail. I googled around; I found no information or documentation more recent than 2007. I finally logged onto #blosxom on freenode and asked there as politely and fully as possible; that was about 24hrs ago (Yes, I&#8217;ve been lurking) and I never received a response from the dozen or so lurkers in there.</p>
<p>I was worried that as I started to add stuff like comments and search that I would have a similar experience, so I made a wordpress blog for myself just like I did for my <a href="http://cracktheplates.com">sweetheart</a>.</p>
<p>And, jeez. WordPress is just awesome. I will gladly overlook the php and the mysql for all the eye candy ease-of-use goodness awesome it provides.</p>
]]></content:encoded>
			<wfw:commentRss>http://chiptheglasses.com/2009/10/blosxom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
