<?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>The efnx code blog.</title>
	<atom:link href="http://efnx.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://efnx.com</link>
	<description>code. blog.</description>
	<lastBuildDate>Wed, 18 Jan 2012 20:48:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>mod &#8211; A javascript module definition and loading tool.</title>
		<link>http://efnx.com/mod-a-javascript-module-definition-and-loading-tool/</link>
		<comments>http://efnx.com/mod-a-javascript-module-definition-and-loading-tool/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 20:48:11 +0000</pubDate>
		<dc:creator>Schell</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://efnx.com/?p=388</guid>
		<description><![CDATA[Now that I&#8217;ve been writing a lot less Actionscript and a lot more Javascript I&#8217;ve found that I often need a system for separating my code out into modules. Javascript doesn&#8217;t provide a convenient way to load scripts and define modules so I wrote a tool I call &#8216;mod&#8216; that uses either XMLHTTPRequests or script [...]]]></description>
			<content:encoded><![CDATA[<p>Now that I&#8217;ve been writing a lot less Actionscript and a lot more Javascript I&#8217;ve found that I often need a system for separating my code out into modules. Javascript doesn&#8217;t provide a convenient way to load scripts and define modules so I wrote a tool I call &#8216;<a href="http://github.com/schell/mod">mod</a>&#8216; that uses either XMLHTTPRequests or script tag injection to load scripts. </p>
<p>mod uses initialization objects to define modules. A module object takes a name, an init function and optionally an array of dependencies (paths to other scripts you&#8217;d like to load before initializing the current module). You can also supply an optional callback to execute after the module has been initialized. Both init() and callback() are passed an object that contains all the initialized modules thus far.</p>
<p>Defining a module looks like this:</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mod<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000066;">name</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">'Main'</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; dependencies <span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">'anotherModule.js'</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; init <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span> initMain<span style="color: #009900;">&#40;</span>modules<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// we can access anotherModule because mod.js</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// loads and initializes dependencies in order</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> anotherModule <span style="color: #339933;">=</span> modules.<span style="color: #660066;">anotherModule</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; someValue <span style="color: #339933;">:</span> anotherModule.<span style="color: #660066;">someFunction</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; functionToExpose <span style="color: #339933;">:</span> anotherModule.<span style="color: #660066;">someFunctionToExpose</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; callback <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span> cbMain<span style="color: #009900;">&#40;</span>modules<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// we can access Main because callback() is not called</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// until after Main's init()</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> Main <span style="color: #339933;">=</span> modules.<span style="color: #660066;">Main</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; window.<span style="color: #660066;">exposedFunction</span> <span style="color: #339933;">=</span> Main.<span style="color: #660066;">functionToExpose</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>In this first call mod packages your module initialization object and starts loading its dependencies (either through XMLHttpRequest or script tag injection). Once the dependencies are loaded (which may or may not define more modules and load more scripts), the result of the init function is stored in mod.modules, in this case as mod.modules.Main. The loaded modules are exposed to your init and callback functions as the only parameter, so they don&#8217;t clutter global space. As an added benefit, you can share data between modules using mod.modules.</p>
<p>If you use mod to write lots of modules (like I do when working on a big project), mod can &#8216;compile&#8217; your project for you, removing all script loading. It essentially takes all your init and callback functions, wraps them inside an island closure and prints them to one monolithic file which you can then compress with YUI or a google &#8216;something-or-other&#8217;.<br />
To do this, load your project in your browser, open the js console and type mod.printCompilation(). Alternatively, to store in a string, type var compilation = mod.compile();.</p>
]]></content:encoded>
			<wfw:commentRss>http://efnx.com/mod-a-javascript-module-definition-and-loading-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Measuring the speed of light using marshmallows in a microwave</title>
		<link>http://efnx.com/measuring-the-speed-of-light-using-marshmallows-in-a-microwave/</link>
		<comments>http://efnx.com/measuring-the-speed-of-light-using-marshmallows-in-a-microwave/#comments</comments>
		<pubDate>Sun, 21 Nov 2010 21:51:51 +0000</pubDate>
		<dc:creator>Schell</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[physics]]></category>
		<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://efnx.com/?p=374</guid>
		<description><![CDATA[I just saw a video here about using neon bulbs to visualize microwaves in a microwave oven. Another great microwave oven experiment (that I learned from Lynn Cominsky at Sonoma State) is measuring the speed of light (or the frequency of the microwaves emitted) using marshmallows. 1. Cut a bunch of marshmallows in half (or [...]]]></description>
			<content:encoded><![CDATA[<p>I just saw a video <a href="http://gaurabc.com/visualizing_microwaves_in_a_microwave_oven" title="visualizing microwaves">here</a> about using neon bulbs to visualize microwaves in a microwave oven.<br />
Another great microwave oven experiment (that I learned from Lynn Cominsky at Sonoma State) is measuring the speed of light (or the frequency of the microwaves emitted) using marshmallows. </p>
<p>1. Cut a bunch of marshmallows in half (or use small ones) and cover a plate with them. </p>
<p>2. Take the rotating platter out of the microwave and place the plate inside. The rotating platter helps cook your food evenly by spinning the food in and out of the microwave&#8217;s &#8216;hot spots&#8217;, but for this experiment we want the marshmallows not to cook evenly. The microwaves are emitted from one side of the microwave (where the emitter is located) and bounce off the opposite side, creating standing waves. The anti-nodes (crests) of the standing waves are the &#8216;hot spots&#8217; I mentioned earlier. The marshmallows will burn along these anti-nodes. </p>
<p>3. Measure the distance between the burn marks. This distance is the wavelength of the microwaves emitted by your microwave.</p>
<p>4. Use this simple wave equation to verify either the speed of light (if your microwave lists its frequency on the back panel) or to determine the frequency of your microwave (given that the speed of light is approximately 3&#215;10^8m/s). </p>
<div class="wp-caption"><a href="http://en.wikipedia.org/wiki/Wavelength"><img alt="wave equation" src="http://upload.wikimedia.org/math/a/1/0/a100432cfbaa6417ffccfab51609f53b.png" title="wave equation" width="57" height="40" /></a> wavelength = velocity/frequency</div>
<p>Don&#8217;t forget to convert your units!</p>
]]></content:encoded>
			<wfw:commentRss>http://efnx.com/measuring-the-speed-of-light-using-marshmallows-in-a-microwave/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The ANI Programming Language</title>
		<link>http://efnx.com/the-ani-programming-language/</link>
		<comments>http://efnx.com/the-ani-programming-language/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 22:56:21 +0000</pubDate>
		<dc:creator>Schell</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ANI]]></category>

		<guid isPermaLink="false">http://efnx.com/?p=369</guid>
		<description><![CDATA[Oh man, I just read about ANI on hackurls.com and it looks amazing. I can&#8217;t wait to get my hands dirty. http://code.google.com/p/anic/]]></description>
			<content:encoded><![CDATA[<p>Oh man, I just read about ANI on hackurls.com and it looks amazing. I can&#8217;t wait to get my hands dirty.</p>
<p>http://code.google.com/p/anic/</p>
]]></content:encoded>
			<wfw:commentRss>http://efnx.com/the-ani-programming-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smugmug Gallery Viewer &#8211; Javascript</title>
		<link>http://efnx.com/smugmug-gallery-viewer-javascript/</link>
		<comments>http://efnx.com/smugmug-gallery-viewer-javascript/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 18:38:48 +0000</pubDate>
		<dc:creator>Schell</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[smugmug]]></category>

		<guid isPermaLink="false">http://efnx.com/?p=360</guid>
		<description><![CDATA[I wrote a smugmug gallery viewer in javascript. To my knowledge it&#8217;s the only js gallery specifically geared at viewing smugmug account galleries. Clone the git repo (or download a tarball) here. I&#8217;ve used two js libs that I wrote recently, go (an evented control flow based on callbacks) and heyjacks (an asyncronous jsonp request [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote a smugmug gallery viewer in javascript. To my knowledge it&#8217;s the only js gallery specifically geared at viewing smugmug account galleries. Clone the git repo (or download a tarball) <a href="https://github.com/schell/smugmugjsgallery" title="javascript smugmug gallery viewer">here</a>. I&#8217;ve used two js libs that I wrote recently, <a href="https://github.com/schell/go" title="evented javascript control flow">go</a> (an evented control flow based on callbacks) and <a href="https://github.com/schell/heyjacks" title="asyncronous jsonp requests">heyjacks</a> (an asyncronous jsonp request helper). Let me know what you think.</p>
]]></content:encoded>
			<wfw:commentRss>http://efnx.com/smugmug-gallery-viewer-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No longer freelancing</title>
		<link>http://efnx.com/no-longer-freelancing/</link>
		<comments>http://efnx.com/no-longer-freelancing/#comments</comments>
		<pubDate>Fri, 08 Oct 2010 16:43:47 +0000</pubDate>
		<dc:creator>Schell</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://efnx.com/?p=357</guid>
		<description><![CDATA[I&#8217;ve signed on with my long time client Synapse Group Inc. This means more time coding for work (and maybe less time coding for fun). I have a couple speed projects in the works though, like continuing work on RTAudio bindings for Node.js. I&#8217;ve also switched names at github, which is inconvenient &#8211; but hopefully [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve signed on with my long time client <a href="http://synapsegroup.com" title="Synapse Group">Synapse Group Inc</a>. This means more time coding for work (and maybe less time coding for fun). I have a couple speed projects in the works though, like continuing work on <a href="http://github.com/schell/node.rtaudio" "rtaudio bindings for node.js">RTAudio bindings for Node.js</a>. I&#8217;ve also switched names at github, which is inconvenient &#8211; but hopefully beneficial in the long run.</p>
]]></content:encoded>
			<wfw:commentRss>http://efnx.com/no-longer-freelancing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blender 2.5 object export to Javascript for WebGL</title>
		<link>http://efnx.com/blender-2-5-object-export-to-javascript-for-webgl/</link>
		<comments>http://efnx.com/blender-2-5-object-export-to-javascript-for-webgl/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 18:18:23 +0000</pubDate>
		<dc:creator>Schell</dc:creator>
				<category><![CDATA[Blender]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[WebGL]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[export]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[webgl]]></category>

		<guid isPermaLink="false">http://efnx.com/?p=350</guid>
		<description><![CDATA[I&#8217;ve written a small python script to export a blender object to javascript for use with WebGL (or whatever else you might be running 3d in). It currently copies the entire file output to the clipboard, and only works on mac, but stick around for a write-to-file cross platform version shortly. You can get the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written a small python script to export a blender object to javascript for use with WebGL (or whatever else you might be running 3d in). It currently copies the entire file output to the clipboard, and only works on mac, but stick around for a write-to-file cross platform version shortly. You can get the script at my github.<br />
<a href="http://gist.github.com/569929">blender 2.5 to javascript</a></p>
]]></content:encoded>
			<wfw:commentRss>http://efnx.com/blender-2-5-object-export-to-javascript-for-webgl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bourtange Postmortem (ILGE 2010)</title>
		<link>http://efnx.com/bourtange-postmortem/</link>
		<comments>http://efnx.com/bourtange-postmortem/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 23:04:44 +0000</pubDate>
		<dc:creator>Schell</dc:creator>
				<category><![CDATA[lisp]]></category>
		<category><![CDATA[contest]]></category>

		<guid isPermaLink="false">http://efnx.com/?p=303</guid>
		<description><![CDATA[Bourtange @ github Overall I&#8217;m satisfied with my lisp game. My major goals were to learn lisp (to a shallow yet useable degree), learn a little about functional programming and last but not least to end up with a playable game. I feel I hit those goals and as an added bonus I&#8217;ve enjoyed programming [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://github.com/schell/kabukitheatre.bourtange">Bourtange @ github</a></p>
<p>Overall I&#8217;m satisfied with my lisp game. My major goals were to learn lisp (to a shallow yet useable degree), learn a little about functional programming and last but not least to end up with a playable game. I feel I hit those goals and as an added bonus I&#8217;ve enjoyed programming in lisp so much that I&#8217;m looking for another project to start working on. That said, here is an explanation of what went into the game, what went right and what went wrong.</p>
<p><strong>Built with</strong><br />
I made the bulk of the game using sbcl with cl-opengl for graphics and TextMate for editing. I wrote some custom &#8216;build&#8217; scripts to send my monolithic game file to the sbcl repl. The development cycle was similar to what you&#8217;d expect from programming in C, &#8216;write->compile->test&#8217;. Later on after my first version I got help from the guys at #lispgames (irc.freenode.net) (sykopomp, xristos, 3b) with setting up emacs and using slime-connect, as well as setting up a .asd for my game. Using the interactive dev env that emacs + slime enables is really a liberating way to program.</p>
<p><strong>What went right</strong><br />
* My game is playable! More often than not I leave my game projects in an unplayable (sometimes not compilable) state. I&#8217;m proud to say that this game is playable.<br />
* The difficulty of the game goes up over time.<br />
* I tried to program in a very functional way, which worked most of the time. It enabled my program to easily reset, and should allow for a fairly easy save function, but I never got into file i/o to finish that.<br />
* The colors are cool</p>
<p><strong>What went wrong</strong><br />
* Writing in a functional way messed me up a little. I tried my best to make things functional, without really having a firm grasp on what that means. I would give up on writing functionally and go back to just making things work when the going got tough. This means that in the end, I feel the code is naive and dirty.<br />
* Collision detection is very simple. This would be fine if things didn&#8217;t move very fast, but when using gravitational equations for motion, things get very fast when they get very close. In order to keep the collision detection simple I put limits on how fast things can move. It works, but it&#8217;s dirty.<br />
* After something gets hit I recalculate 360 points of an arc to display the life left. Halfway through development I wanted to have all the circles be drawn using ONE list of points generated ONCE. I could draw some percentage of the points to represent life lost. When I tried to refactor for this, drawing became very, very broken. If I had more time to work this out I think the game would be much faster and much smoother.</p>
<p>All in all, I&#8217;m pleased. I hope you play my game, and I hope you have fun playing it!</p>
]]></content:encoded>
			<wfw:commentRss>http://efnx.com/bourtange-postmortem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Lisp Game is Done!</title>
		<link>http://efnx.com/my-lisp-game-is-done/</link>
		<comments>http://efnx.com/my-lisp-game-is-done/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 09:55:16 +0000</pubDate>
		<dc:creator>Schell</dc:creator>
				<category><![CDATA[lisp]]></category>
		<category><![CDATA[game]]></category>

		<guid isPermaLink="false">http://efnx.com/my-lisp-game-is-done/</guid>
		<description><![CDATA[I just checked in the &#8216;final&#8217; code to github. Check out my first program in lisp!]]></description>
			<content:encoded><![CDATA[<p>I just checked in the &#8216;final&#8217; code to github. Check out my first program in lisp!<br />
<div class="wp-caption aligncenter" style="width: 410px"><a href="http://github.com/schell/kabukitheatre.bourtange/"><img alt="Bourtange, a fort defense game writting in Lisp" src="http://github.com/schell/kabukitheatre.bourtange/raw/master/screenshot.png" title="Bourtange" width="400" height="300" /></a><p class="wp-caption-text">Bourtange!</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://efnx.com/my-lisp-game-is-done/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lisp Game Progress</title>
		<link>http://efnx.com/lisp-game-progress/</link>
		<comments>http://efnx.com/lisp-game-progress/#comments</comments>
		<pubDate>Sun, 01 Aug 2010 20:36:05 +0000</pubDate>
		<dc:creator>Schell</dc:creator>
				<category><![CDATA[lisp]]></category>
		<category><![CDATA[game]]></category>

		<guid isPermaLink="false">http://efnx.com/?p=291</guid>
		<description><![CDATA[So after my first (almost) 30 days of learning lisp, I have a playable game. The gameplay is a cross between tower defense and orbient. You control a planet-base (the core) in the center of the screen. This core comes equipped with one weapon, the core-blast. Enemies are generated at the edge of the screen, [...]]]></description>
			<content:encoded><![CDATA[<p>So after my first (almost) <a href="http://efnx.com/lisp-game-competition/">30 days of learning lisp</a>, I have a playable game. The gameplay is a cross between <a href="http://en.wikipedia.org/wiki/Tower_defense">tower defense</a> and <a href="http://en.wikipedia.org/wiki/Orbient">orbient</a>. You control a planet-base (the core) in the center of the screen. This core comes equipped with one weapon, the core-blast. Enemies are generated at the edge of the screen, in the spawning-belt, and are drawn toward your core by gravity. When enemies collide with the core, the core looses life. Life is displayed as a green outline around the core and when your core is out of life, it explodes. When an enemy dies, which happens either by colliding with your core, being hit by a blast or being thrown past the spawning belt, you gain resources. Resources are displayed by purple boxes in the upper left. You can spend these resources on extra cores and weapons in the weapon-store, which is displayed in the upper right. Below is a screen shot of the game in action.<br />
<a href="http://efnx.com/domains/efnx.com/wp-content/uploads/2010/08/Screen-shot-2010-08-01-at-12.03.49-PM.png" rel="lightbox"><img src="http://efnx.com/domains/efnx.com/wp-content/uploads/2010/08/Screen-shot-2010-08-01-at-12.03.49-PM-300x243.png" alt="Screen Shot" title="Screen shot 2010-08-01 at 12.03.49 PM" width="300" height="243" class="alignleft size-medium wp-image-290" /></a><br />
A lot of work still remains to be done, but I hit the 30 day deadline with this first draft. Luckily, the contest hosts have <a href="http://dto.github.com/notebook/2010expo.html">extended the due date</a> to August 10th. By then I plan to fix some bugs, add more weapons, enemies, a game-over screen and do some optimization.  I feel accomplished after learning lisp, though I know I&#8217;ve only seen the tip of the iceberg and have found my new favorite language. To the hosts of the competition, thanks! You guys have made me a better programer. </p>
<p>The source to the game is <a href="http://github.com/schell/kabukitheatre.bourtange">here</a> and you can download and build the game as you please. Send me a message with your thoughts on my game or my code!</p>
]]></content:encoded>
			<wfw:commentRss>http://efnx.com/lisp-game-progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lisp Game Competition</title>
		<link>http://efnx.com/lisp-game-competition/</link>
		<comments>http://efnx.com/lisp-game-competition/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 18:02:12 +0000</pubDate>
		<dc:creator>Schell</dc:creator>
				<category><![CDATA[lisp]]></category>
		<category><![CDATA[30 days]]></category>
		<category><![CDATA[game]]></category>

		<guid isPermaLink="false">http://efnx.com/lisp-game-competition/</guid>
		<description><![CDATA[A friend and I have decided to write a game in LISP in 30 days. The game will be entered in the 2010 lisp games expo. My good friend Aaron Maus is a lisper, and wanted to make a game. I&#8217;ve never programmed in lisp. We have 30 days to program a game for this [...]]]></description>
			<content:encoded><![CDATA[<p>A friend and I have decided to write a game in LISP in 30 days. The game will be entered in <a href="http://dto.github.com/notebook/2010expo.html">the 2010 lisp games expo</a>. </p>
<p>My good friend <a href="http://lostandsupine.com/">Aaron Maus</a> is a lisper, and wanted to make a game. I&#8217;ve never programmed in lisp. We have 30 days to program a game for this contest. Super fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://efnx.com/lisp-game-competition/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

