<?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>redredred</title>
	<atom:link href="http://www.redredred.com.au/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.redredred.com.au</link>
	<description>redredred developers talk about what they are working on</description>
	<lastBuildDate>Wed, 09 Nov 2011 12:26:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Remote controls under linux still aren&#8217;t easy</title>
		<link>http://www.redredred.com.au/remote-controls-under-linux-still-arent-easy/</link>
		<comments>http://www.redredred.com.au/remote-controls-under-linux-still-arent-easy/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 12:26:46 +0000</pubDate>
		<dc:creator>Jonathan Ricketson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.redredred.com.au/?p=305</guid>
		<description><![CDATA[Perhaps unfairly, I had a lot of trouble getting a new remote control infrared receiver set up to control my XBMC media center. I eventually ended up using some advice from this guide. But getting there wasn&#8217;t easy. Part of the problem was that this remote control receiver registers itself as a keyboard. This isn&#8217;t [...]]]></description>
		<wfw:commentRss>http://www.redredred.com.au/remote-controls-under-linux-still-arent-easy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coffeescript equivalent of Ruby&#8217;s &#124;&#124;= (conditional assignment)</title>
		<link>http://www.redredred.com.au/coffeescript-equivalent-of-rubys-conditional-assignment/</link>
		<comments>http://www.redredred.com.au/coffeescript-equivalent-of-rubys-conditional-assignment/#comments</comments>
		<pubDate>Sun, 22 May 2011 03:13:09 +0000</pubDate>
		<dc:creator>Jonathan Ricketson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.redredred.com.au/?p=300</guid>
		<description><![CDATA[Ruby has a nice syntax for replacing the value of a variable if the variable is &#8216;falsy&#8217;. It is often used to cache expensive calculations. it looks like: def get_expensive_value @value &#124;&#124;= do # some expensive calculation end end The equivalent in Coffeescript is: getExpensiveValue: -&#62; @value ?= ( =&#62; # some expensive calculation )()]]></description>
		<wfw:commentRss>http://www.redredred.com.au/coffeescript-equivalent-of-rubys-conditional-assignment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dijkstra&#8217;s shortest path algorithm in Coffeescript</title>
		<link>http://www.redredred.com.au/dijkstras-shortest-path-algorithm-in-coffeescript/</link>
		<comments>http://www.redredred.com.au/dijkstras-shortest-path-algorithm-in-coffeescript/#comments</comments>
		<pubDate>Sun, 21 Nov 2010 10:16:11 +0000</pubDate>
		<dc:creator>Jonathan Ricketson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.redredred.com.au/?p=295</guid>
		<description><![CDATA[I (thought) I had a need for a shortest path implementation across a graph. Turns out I don&#8217;t, but here it is in case it is useful to someone else. It is adapted from a javascript implementation. To use: new Dijkstra().find_path(source_node, dest_node) source_node and dest_node should have methods called &#8220;adjacent_nodes&#8221; that knows about the nodes [...]]]></description>
		<wfw:commentRss>http://www.redredred.com.au/dijkstras-shortest-path-algorithm-in-coffeescript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Evolvethefuture is live</title>
		<link>http://www.redredred.com.au/evolvethefuture-is-live/</link>
		<comments>http://www.redredred.com.au/evolvethefuture-is-live/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 01:55:41 +0000</pubDate>
		<dc:creator>Jonathan Ricketson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.redredred.com.au/?p=279</guid>
		<description><![CDATA[Finally EvolveTheFuture is live. There is still plenty to do, but now it has a reasonably stable API, and is ready for other people with enough documentation for people other than me to get started. I am going to work next on community building, because it is going to be a lot more interesting if [...]]]></description>
		<wfw:commentRss>http://www.redredred.com.au/evolvethefuture-is-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memcache lockless queue implementation (v2)</title>
		<link>http://www.redredred.com.au/memcache-lockless-queue-implementation-v2/</link>
		<comments>http://www.redredred.com.au/memcache-lockless-queue-implementation-v2/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 23:39:49 +0000</pubDate>
		<dc:creator>Jonathan Ricketson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[google-app-engine]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.redredred.com.au/?p=275</guid>
		<description><![CDATA[The new Google App Engine 1.3.1 SDK has an added method on memcache called &#8220;grab_tail&#8221;. This is a great little method that removes the need for my lockless queue to manage the read counter. We still need to manage the write counter though, because there doesn&#8217;t seem to be a way to add items to [...]]]></description>
		<wfw:commentRss>http://www.redredred.com.au/memcache-lockless-queue-implementation-v2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Money database property for Google App Engine</title>
		<link>http://www.redredred.com.au/money-database-property-for-google-app-engine/</link>
		<comments>http://www.redredred.com.au/money-database-property-for-google-app-engine/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 03:44:07 +0000</pubDate>
		<dc:creator>Jonathan Ricketson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[google-app-engine]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.redredred.com.au/?p=264</guid>
		<description><![CDATA[Calculating money is a tricky thing. Your calculations have to be ultra-precise, so no storing things as floats where $1.33 might actually be stored as 1.3299999999. That is no good for calculations&#8230; But equally it is no good storing in cents either: what is 133c /2? Python has a Decimal datatype, but this requires serialisation [...]]]></description>
		<wfw:commentRss>http://www.redredred.com.au/money-database-property-for-google-app-engine/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Google App Engine migration script (v2)</title>
		<link>http://www.redredred.com.au/google-app-engine-migration-script-v2/</link>
		<comments>http://www.redredred.com.au/google-app-engine-migration-script-v2/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 23:21:57 +0000</pubDate>
		<dc:creator>Jonathan Ricketson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.redredred.com.au/?p=255</guid>
		<description><![CDATA[After talking about the previous version of my migration script, I had need to make some significant changes to it. These changes support loading model classes that do not validate in their current model version. I.E. if you have added a new required field, or have renamed a field then you can make these changes [...]]]></description>
		<wfw:commentRss>http://www.redredred.com.au/google-app-engine-migration-script-v2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The people around you make the difference</title>
		<link>http://www.redredred.com.au/the-people-around-you-make-the-difference/</link>
		<comments>http://www.redredred.com.au/the-people-around-you-make-the-difference/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 03:31:29 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.redredred.com.au/?p=239</guid>
		<description><![CDATA[Over at 37signals, Matt blogged on a topic recently that really resonated with me&#8230; the gist of what he said being that if a project or company is made up of a whole lot of people who don&#8217;t really know each other, individuals are generally going to play it safer than a group of people [...]]]></description>
		<wfw:commentRss>http://www.redredred.com.au/the-people-around-you-make-the-difference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google App Engine version migration</title>
		<link>http://www.redredred.com.au/google-app-engine-version-migration/</link>
		<comments>http://www.redredred.com.au/google-app-engine-version-migration/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 12:16:08 +0000</pubDate>
		<dc:creator>Jonathan Ricketson</dc:creator>
				<category><![CDATA[google-app-engine]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.redredred.com.au/?p=224</guid>
		<description><![CDATA[When writing your application on Google App Engine, you are inevitably going to deploy a version to production that does not have a final set of features. This is (of course) unavoidable. So, then for version 2, when creating new features you will also (probably) have to refactor the data model, at least adding new [...]]]></description>
		<wfw:commentRss>http://www.redredred.com.au/google-app-engine-version-migration/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Memcache lockless queue implementation</title>
		<link>http://www.redredred.com.au/memcache-lockless-queue-implementation/</link>
		<comments>http://www.redredred.com.au/memcache-lockless-queue-implementation/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 02:27:14 +0000</pubDate>
		<dc:creator>Jonathan Ricketson</dc:creator>
				<category><![CDATA[google-app-engine]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.redredred.com.au/?p=218</guid>
		<description><![CDATA[I had a need for an application that I am writing on Google App Engine for a way to store jobs and then process them all at once. I found the idea for a Memcached lockless queue and created an implementation of it: queue.py To write to it (I do this from a view where [...]]]></description>
		<wfw:commentRss>http://www.redredred.com.au/memcache-lockless-queue-implementation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.790 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-05-17 12:19:04 -->

