<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>

        <title>jtolds.com - Projects</title>
        <link>http://www.jtolds.com/projects/rss.xml</link>
        <description>JT Olds' RSS Feed for Projects</description>

		<language>en-us</language>
		<copyright>Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License</copyright>

<item>
	<title><![CDATA[Pants]]></title>
	<author>JT Olds</author>

    <link><![CDATA[http://www.jtolds.com/projects/p/pants]]></link>

	<guid>1325650212</guid>
	<pubDate>Wed, 4 Jan 2012 04:10:12 +0000</pubDate>
	<description><![CDATA[<p>Over a year ago, for fun, I started creating a programming language. My favorite part of it, hands down, is the name.</p>

<p>Pants is a simple, stackless, dynamically typed, compiled, multiparadigm, statically but optionally hygienically dynamically scoped (holy adverbs), garbage-collected, continuation-based language. MLIA.</p>

<p>More information on the official Pants website.</p>

<table style="width:700px;">

<tr>

<td>
<b>Project links</b>
</td>



</tr>

<tr>
<td>
<ul>

<li><a href="http://www.pants-lang.org/">pants-lang.org</a><br/>

Official site

</li>

</ul>
<img src="/images/blank.gif" alt="" width="300" height="1"/>
</td>




</tr></table>
]]></description>
</item>

<item>
	<title><![CDATA[Scheme2CPS2C4Py]]></title>
	<author>JT Olds</author>

    <link><![CDATA[http://www.jtolds.com/projects/p/scheme2cps2c4py]]></link>

	<guid>1283447692</guid>
	<pubDate>Thu, 2 Sep 2010 17:14:52 +0000</pubDate>
	<description><![CDATA[<p>For <a href="http://matt.might.net/teaching/fall-2009-advanced-compilation/">
CS6470</a> at <a href="http://www.cs.utah.edu/">cs.utah.edu</a>, I wrote a
simple <a href="http://en.wikipedia.org/wiki/Scheme_(programming_language)">
Scheme</a>-to-<a href="http://en.wikipedia.org/wiki/C_(programming_language)">C
</a> compiler in <a
href="http://en.wikipedia.org/wiki/Python_(programming_language)">Python</a>,
with Scheme in <a
href="http://en.wikipedia.org/wiki/Continuation-passing_style">CPS</a> as an
intermediary.</p>
<p>I've wanted to put this up for a while, but I persuaded myself that at some
point I would clean it up, write documentation, and add more features. However,
neither is happened, so I'm cutting my losses and just uploading this project.
</p>


<table style="width:700px;">

<tr>

<td>
<b>Project links</b>
</td>



</tr>

<tr>
<td>
<ul>

<li><a href="http://github.com/jtolds/scheme2cps2c4py">GitHub page</a><br/>

More information in the README

</li>

</ul>
<img src="/images/blank.gif" alt="" width="300" height="1"/>
</td>




</tr></table>
]]></description>
</item>

<item>
	<title><![CDATA[Dual N Back]]></title>
	<author>JT Olds</author>

    <link><![CDATA[http://www.jtolds.com/projects/p/dual-n-back]]></link>

	<guid>1269847510</guid>
	<pubDate>Mon, 29 Mar 2010 07:25:10 +0000</pubDate>
	<description><![CDATA[<p>I've always had a bad short-term memory; it's atrocious. For most of my life,
I've gotten by with rough heuristics and systems I've developed for maintaining
some semblence of functionality. Recently, however, my inadequacy in
recollection has begun to take more and more of a toll.</p>
<p>In 2008, some <a href="http://www.pnas.org/content/105/19/6829.abstract">
groundbreaking research</a> was presented in the Proceedings of the National Acadamy of Sciences. This research suggested that not only was our understanding
of <a href="http://en.wikipedia.org/wiki/Fluid_and_crystallized_intelligence">
fluid intelligence</a> being somehow fixed at birth <i>wrong</i>, fluid
intelligence and working memory share many of the same cognitive structures,
<i>and can be improved</i> with simple memory games.</p>
<p>One such game, the so-called <a href="http://en.wikipedia.org/wiki/N-back">
dual <i>n</i>-back</a> continuous performance task, is simple, straightforward,
and can be implemented for <a href="http://www.android.com/">Android</a> in a
weekend, with time to spare for <a href="http://www.alta.com/">skiing</a>. :)
</p>

<p>This is my first Android application, and moreover, my first non-academic
Java application, so it sucks hardcore, and it sucks more than just the standard
amount of suck that Java brings into the equation. But it seems to work okay.
</p>
<p>This is also my first GitHub submission, and it appears GitHub has decided
to hate my mime-types, so you may have to right-click and select "save as" to
download the APK or something screwy. Who knows.</p>

<p>This app requires Android 1.6 or newer due to the use of the built-in voice
synthesis API for the auditory memory task.</p>

<table style="width:700px;">

<tr>

<td>
<b>Project links</b>
</td>
<td style="padding-left: 20px;">


<b>Dependencies</b>
</td>

</tr>

<tr>
<td>
<ul>

<li><a href="http://github.com/jtolds/dualnback/blob/master/README">GitHub README</a><br/>

</li>

<li><a href="http://github.com/jtolds/dualnback/tree/master/releases/">Android Package Releases</a><br/>

</li>

<li><a href="http://dl.dropbox.com/u/129990/DualNBack-1.0.apk">DualNBack-1.0.apk</a><br/>

Dropbox got the mime-type right. Yay!

</li>

</ul>
<img src="/images/blank.gif" alt="" width="300" height="1"/>
</td><td style="padding-left: 20px;">



<ul>

<li><a href="http://www.android.com/">Android 1.6 or newer</a><br/>

for teh voice-synthesizing kthx

</li>

</ul>
<img src="/images/blank.gif" alt="" width="300" height="1"/>
</td>


</tr></table>
]]></description>
</item>

<item>
	<title><![CDATA[SHA1 Javascript Tool]]></title>
	<author>JT Olds</author>

    <link><![CDATA[http://www.jtolds.com/projects/p/sha1-javascript-tool]]></link>

	<guid>1238267871</guid>
	<pubDate>Sat, 28 Mar 2009 19:17:51 +0000</pubDate>
	<description><![CDATA[<p>Occasionally, I need a SHA1 hash of something, and I'm not in a convenient place to get one. For instance, it is hard to open up a terminal to run <i>sha1sum</i> on public internet kiosks. It's also obnoxious to have to SSH anywhere from my phone to get access to a SHA1 algorithm.</p>
<p>So, I took Paul Johnston's <a href="http://pajhome.org.uk/crypt/md5/sha1src.html">Javascript implementation</a> and made <a href="/sha1/">a simple webform</a>. Trivial, I know. But I took out unnecessary HMAC calculation code, so it should be relatively easy to examine the source if you're worried about using something secure. The webdesign is, hah, optimized for mobile devices.</p>

<table style="width:700px;">

<tr>

<td>
<b>Project links</b>
</td>



</tr>

<tr>
<td>
<ul>

<li><a href="/sha1/">SHA1 Webform</a><br/>

</li>

</ul>
<img src="/images/blank.gif" alt="" width="300" height="1"/>
</td>




</tr></table>
]]></description>
</item>

<item>
	<title><![CDATA[PyNarcissus]]></title>
	<author>JT Olds</author>

    <link><![CDATA[http://www.jtolds.com/projects/p/pynarcissus]]></link>

	<guid>1235103926</guid>
	<pubDate>Fri, 20 Feb 2009 04:25:26 +0000</pubDate>
	<description><![CDATA[<p>So, I haven't actually just been watching TV recently, as my newsletter might
currently suggest. I'm trying to be productive in a few ways, and one of them is
the release of PyNarcissus here.</p>

<p><a href="http://pynarcissus.googlecode.com/">PyNarcissus</a> is a direct port
of the <a href="http://en.wikipedia.org/wiki/Narcissus_(JavaScript_engine)">Narcissus Javascript engine</a> by Brendan Eich. Narcissus
is Javascript implemented in Javascript, and, while the evaluator does a few
things <a href="http://en.wikipedia.org/wiki/Metacircular_Interpreter">metacircularly</a>, the parser was pretty much a piece of cake to write in Python.</p>

<p>PyNarcissus does not introduce any new features whatsoever. Correctness using
the original Narcissus as a baseline was an important priority, so even the pretty-printed string-converted output of the PyNarcissus parse tree is identical to the Javascript version. Using this feature, I simply ran both parsers on all of the <a href="http://www.mozilla.org/js/spidermonkey/">Spidermonkey</a> Javascript tests to make sure that the output was the same.</p>

<p>Because the port was so easy, I am considering going all the way and making a full on Javascript interpreter, but that wasn't my main goal for this port, so I'm not sure I'll get there soon, if at all.</p>

<table style="width:700px;">

<tr>

<td>
<b>Project links</b>
</td>
<td style="padding-left: 20px;">


<b>Dependencies</b>
</td>

</tr>

<tr>
<td>
<ul>

<li><a href="http://pynarcissus.googlecode.com/">Google Code PyNarcissus page</a><br/>

</li>

</ul>
<img src="/images/blank.gif" alt="" width="300" height="1"/>
</td><td style="padding-left: 20px;">



<ul>

<li><a href="http://www.python.org/">Python 2.5</a><br/>

</li>

</ul>
<img src="/images/blank.gif" alt="" width="300" height="1"/>
</td>


</tr></table>
]]></description>
</item>

<item>
	<title><![CDATA[Viricide]]></title>
	<author>JT Olds</author>

    <link><![CDATA[http://www.jtolds.com/projects/p/viricide]]></link>

	<guid>1181979973</guid>
	<pubDate>Sat, 16 Jun 2007 07:46:13 +0000</pubDate>
	<description><![CDATA[<p>I'm currently working on a clone of a falling-pieces, Tetris-style game. My version is a networked implementation of a popular game that often features an Italian plumber masquerading as a physician.</p>

<p>I've been working on this project in various respects for over a year, as it was originally a way to teach myself Python. However, the project has since matured a bit and now features a client/server architecture, among other things.</p>

<p>I've open-sourced the project and put it up for development at Google Code. For more information, please see <a href="http://viricide.googlecode.com/">the official Viricide website</a>.</p>

<table style="width:700px;">

<tr>

<td>
<b>Project links</b>
</td>
<td style="padding-left: 20px;">


<b>Dependencies</b>
</td>

</tr>

<tr>
<td>
<ul>

<li><a href="http://viricide.googlecode.com/">Viricide Website</a><br/>

Includes help, source code, and downloadables 

</li>

</ul>
<img src="/images/blank.gif" alt="" width="300" height="1"/>
</td><td style="padding-left: 20px;">



<ul>

<li><a href="http://www.pygame.org/">Pygame</a><br/>

A Python library that eases the use of videogame creation.

</li>

<li><a href="http://www.python.org/">Python</a><br/>

The Python programming language is required to interpret Python code.

</li>

</ul>
<img src="/images/blank.gif" alt="" width="300" height="1"/>
</td>


</tr></table>
]]></description>
</item>

<item>
	<title><![CDATA[Horseshoe Implementation]]></title>
	<author>JT Olds</author>

    <link><![CDATA[http://www.jtolds.com/projects/p/horseshoe-implementation]]></link>

	<guid>1176592953</guid>
	<pubDate>Sat, 14 Apr 2007 23:22:33 +0000</pubDate>
	<description><![CDATA[<p>A while back I wrote about a game I was thinking about that I called 'horseshoe'. You can find more information on <a href="/newsletter/3/5/">its entry on my newsletter</a>. I'm considering researching various aspects of the game more, including strategies and such, and it occurred to me that having an environment in which to write artificial intelligences for the game would be incredibly useful. I suspect that it is a <a href="http://en.wikipedia.org/wiki/Solved_game">solvable game</a> given a significant amount of computing power, but to show that I would need to actually solve it.<br />To facilitate this, I've written a very bare-bones Python game of Horseshoe. There is now an AI. It's pretty naive, but you can now play against your computer. In the immortal words of Donald Knuth, I have only proved it correct, not tried it. I think its win detection is right, which is the part that matters.<br />To run it, execute main.py.</p>

<p><b>Updated</b> to include a reference to <a href="/newsletter/3/8/">my poster I presented</a> on Horseshoe.</p>

<table style="width:700px;">

<tr>

<td>
<b>Project links</b>
</td>
<td style="padding-left: 20px;">


<b>Dependencies</b>
</td>

</tr>

<tr>
<td>
<ul>

<li><a href="http://www.jtolds.com/sandbox/horseshoe/horseshoe.tgz">Code tarball</a><br/>

the code

</li>

<li><a href="http://files.getdropbox.com/u/129990/googlepages/JTsHorseshoeGame-AI.exe">Standalone Windows Snapshot</a><br/>

Windows executable

</li>

</ul>
<img src="/images/blank.gif" alt="" width="300" height="1"/>
</td><td style="padding-left: 20px;">



<ul>

<li><a href="http://www.python.org/">Python</a><br/>

The Python programming language is required to interpret Python code.

</li>

<li><a href="http://www.pygame.org/">Pygame</a><br/>

A Python library that eases the use of videogame creation.

</li>

<li><a href="http://www.vpython.org/">VPython</a><br/>

A Python library that makes 3D programming really easy.

</li>

</ul>
<img src="/images/blank.gif" alt="" width="300" height="1"/>
</td>


</tr></table>
]]></description>
</item>

	</channel>
</rss>

