<?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 &#187; Development</title>
	<atom:link href="http://www.redredred.com.au/category/development/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>Sat, 20 Feb 2010 01:55:41 +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>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</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>0</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</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 to [...]]]></description>
		<wfw:commentRss>http://www.redredred.com.au/money-database-property-for-google-app-engine/feed/</wfw:commentRss>
		<slash:comments>2</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>Flex Authorize Tag</title>
		<link>http://www.redredred.com.au/flex-authorize-tag/</link>
		<comments>http://www.redredred.com.au/flex-authorize-tag/#comments</comments>
		<pubDate>Fri, 22 May 2009 15:01:58 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[flex security]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.redredred.com.au/flex-authorize-tag/</guid>
		<description><![CDATA[<p>This component has the following properties which need to be set: roles - one or more roles (strings) which are to be evaluated against. userRoles - one or more roles(strings) which the user has components - one or more components which will be effected if evaluation of roles against userRoles fails. type - type of evaluation to be performed one of: ‘hasAny’ - evaluates true if userRole exists in any of the roles ‘hasAll,’ - evaluates to true only if userRoles contains all roles ‘hasNone’ - evaluates to true if userRoles does not contain any of the roles.</p>
<p><br />
...containsRole(_roles, userRole)) { return false; } } return true; } protected function evaluateNone() : Boolean { for each(var userRole : String in _userRoles) { if (containsRole(_roles, userRole)) { return false; } } return true; } protected function containsRole(roles : ICollectionView, role : String) : Boolean { for each(var userRole : String in roles) { if (role == userRole) { return true; } } return false; } protected function applyResult(result : Boolean) : void { for each(var comp : UIComponent in _components) { switch(behaviour) { case DISABLE : comp.enabled = result; break; case VANISH : comp.visible = result; break; case COLLAPSE : comp.visible = result; comp.includeInLayout = result; } } } public function get roles():Object { return _roles; } public function set roles(val:Object):void { _roles = convertToCollection(val); evaluate(); } public function get userRoles():Object { return _userRoles; } public function set userRoles(val:Object):void { _userRoles = convertToCollection(val); userRoles.addEventListener(CollectionEvent.</p>
]]></description>
		<wfw:commentRss>http://www.redredred.com.au/flex-authorize-tag/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Simple Object Assembler release update</title>
		<link>http://www.redredred.com.au/simple-object-assembler-release-update/</link>
		<comments>http://www.redredred.com.au/simple-object-assembler-release-update/#comments</comments>
		<pubDate>Fri, 15 May 2009 03:47:59 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Simple Object Assembler]]></category>

		<guid isPermaLink="false">http://www.redredred.com.au/?p=164</guid>
		<description><![CDATA[There have been a couple of releases of the Simple Object Assembler in quick succession over the last week. These changes are all in aid of simplifying it&#8217;s use and can dramatically reduce the number of converters required in some projects due to enhancements to the auto-mapping capabilities.  One project i&#8217;m using it on saw [...]]]></description>
		<wfw:commentRss>http://www.redredred.com.au/simple-object-assembler-release-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evolve The Future &#8211; Evolution in Javascript</title>
		<link>http://www.redredred.com.au/evolve-the-future-evolution-in-javascript/</link>
		<comments>http://www.redredred.com.au/evolve-the-future-evolution-in-javascript/#comments</comments>
		<pubDate>Sun, 03 May 2009 11:25:43 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[evolvethefuture]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.redredred.com.au/blog/?p=17</guid>
		<description><![CDATA[Evolve The Future is a “proof of concept” evolution simulator inspired by Thomas Ray&#8217;s Tierra application, which he always promised would be a networked environment for digital wildlife. I haven&#8217;t created that, but hopefully this is a step in that direction. Little animals run around, reproduce and eat each other. Each animal is written in [...]]]></description>
		<wfw:commentRss>http://www.redredred.com.au/evolve-the-future-evolution-in-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unwanted IE7 Horizontal Scrollbar</title>
		<link>http://www.redredred.com.au/unwanted-ie7-horizontal-scrollbar/</link>
		<comments>http://www.redredred.com.au/unwanted-ie7-horizontal-scrollbar/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 00:18:30 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Javascript/HTML/CSS]]></category>

		<guid isPermaLink="false">http://www.redredred.com.au/?p=74</guid>
		<description><![CDATA[I came across an interesting bug today with IE7. Actually, no not interesting, frustrating is a better word to describe it. I had a random appearance of a horizontal scrollbar within a div that has a fixed height set in javascript and overflow auto to achieve a viewport style interface.  The correct  behaviour, the one [...]]]></description>
		<wfw:commentRss>http://www.redredred.com.au/unwanted-ie7-horizontal-scrollbar/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Simple Object Assembler</title>
		<link>http://www.redredred.com.au/simple-object-assembler/</link>
		<comments>http://www.redredred.com.au/simple-object-assembler/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 02:25:47 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Simple Object Assembler]]></category>

		<guid isPermaLink="false">http://www.redredred.com.au/?p=68</guid>
		<description><![CDATA[Going back a few years, it took a little while for me to realise the benefits of providing a clean separation of the core business domain from any consuming client, be it a web ui or remote service. I guess I always saw it as a lot of work (which it can be) and the [...]]]></description>
		<wfw:commentRss>http://www.redredred.com.au/simple-object-assembler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integrating Spring Security with BlazeDS and Flex RIAs</title>
		<link>http://www.redredred.com.au/integrating-spring-security-with-blazeds-and-flex-rias/</link>
		<comments>http://www.redredred.com.au/integrating-spring-security-with-blazeds-and-flex-rias/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 14:53:43 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.oneadam.net/?p=39</guid>
		<description><![CDATA[I have found a couple of tutorials on this lying around the web, however they all take slightly different approaches, and although the information was useful, I think there is a cleaner way to do the integration. Keeping in mind of course that now that the spring guys have released the spring-flex module there will [...]]]></description>
		<wfw:commentRss>http://www.redredred.com.au/integrating-spring-security-with-blazeds-and-flex-rias/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>javascript closures are fun</title>
		<link>http://www.redredred.com.au/javascript-closures-are-fun/</link>
		<comments>http://www.redredred.com.au/javascript-closures-are-fun/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 11:09:31 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.redredred.com.au/blog/?p=27</guid>
		<description><![CDATA[I really like closures in javascript. I really miss them when I am doing work in Java,  but sometimes when I use them I get a little messed up. Take the following example:
var i;
var objects=[1,2];
for (i=0;i &#60; objects.length;i++) {
    var callback=function() {
        console.log(objects[i]);
   [...]]]></description>
		<wfw:commentRss>http://www.redredred.com.au/javascript-closures-are-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
