<?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>Potential Games &#187; Developer&#8217;s Cave</title>
	<atom:link href="http://www.potentialgames.com/blog/category/software-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.potentialgames.com/blog</link>
	<description>Notes of a Potential Independent Game Developer</description>
	<lastBuildDate>Mon, 26 Jul 2010 00:49:39 +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>Swing Model-View-Controller</title>
		<link>http://www.potentialgames.com/blog/2010/07/25/swing-model-view-controller/</link>
		<comments>http://www.potentialgames.com/blog/2010/07/25/swing-model-view-controller/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 00:49:39 +0000</pubDate>
		<dc:creator>neb</dc:creator>
				<category><![CDATA[Developer's Cave]]></category>
		<category><![CDATA[design patterns]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://www.potentialgames.com/blog/?p=613</guid>
		<description><![CDATA[It&#8217;s old news that Java&#8217;s Swing GUI toolkit follows a deficient Model-View-Controller (MVC) architecture. In most cases, Swing fuses together the notion of the View and Controller, but offers a separate Model. At least, that&#8217;s what the naming convention implies. For example, JComboBox should be a View-Controller to a ComboBoxModel.
This particular case failed me today. [...]]]></description>
		<wfw:commentRss>http://www.potentialgames.com/blog/2010/07/25/swing-model-view-controller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comparable Max Function</title>
		<link>http://www.potentialgames.com/blog/2010/04/22/comparable-max-function/</link>
		<comments>http://www.potentialgames.com/blog/2010/04/22/comparable-max-function/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 15:01:42 +0000</pubDate>
		<dc:creator>neb</dc:creator>
				<category><![CDATA[Developer's Cave]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.potentialgames.com/blog/?p=587</guid>
		<description><![CDATA[Here&#8217;s a helpful method for returning the maximum of two Comparable objects.
Do the Java APIs provide this somewhere?

/**
 * Return the &#60;i&#62;maximum&#60;/i&#62; of the two arguments. If the arguments 
 * are &#60;i&#62;equal&#60;/i&#62; (as defined by the Comparable contract), the
 * &#60;i&#62;left-hand-side&#60;/i&#62; argument is returned.
 */
public static &#60;T extends Comparable&#62; T max&#40;T lhs, T rhs&#41;
&#123;
 [...]]]></description>
		<wfw:commentRss>http://www.potentialgames.com/blog/2010/04/22/comparable-max-function/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java AWT-Shutdown Thread Refuses to Die</title>
		<link>http://www.potentialgames.com/blog/2010/02/09/java-awt-shutdown-thread-refuses-to-die/</link>
		<comments>http://www.potentialgames.com/blog/2010/02/09/java-awt-shutdown-thread-refuses-to-die/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 22:37:34 +0000</pubDate>
		<dc:creator>neb</dc:creator>
				<category><![CDATA[Developer's Cave]]></category>
		<category><![CDATA[Potential RPG]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[RPG Alpha]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://www.potentialgames.com/blog/?p=543</guid>
		<description><![CDATA[The cleanest way to close a Java GUI application is to dispose of all top-level resources (JFrame instances, for example) and allow the AWT/Swing thread to close itself. Calling System.exit(0) or Runtime.getRuntime().halt(0) is often prescribed, but not recommended, as it could preempt proper shutdown procedures in your application.
If your Java GUI application uses DISPOSE_ON_CLOSE mode, [...]]]></description>
		<wfw:commentRss>http://www.potentialgames.com/blog/2010/02/09/java-awt-shutdown-thread-refuses-to-die/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Font Changes (in Ubuntu)</title>
		<link>http://www.potentialgames.com/blog/2010/01/30/java-font-changes-in-ubuntu/</link>
		<comments>http://www.potentialgames.com/blog/2010/01/30/java-font-changes-in-ubuntu/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 18:03:33 +0000</pubDate>
		<dc:creator>neb</dc:creator>
				<category><![CDATA[Developer's Cave]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.potentialgames.com/blog/?p=518</guid>
		<description><![CDATA[I updated my development platform to Java 1.6.0_18 and noticed a disturbing font alteration in all Java applications. I&#8217;m developing in Ubuntu 9.10, which currently bundles Java 1.6.0_15 (in the sun-java6-jdk package), so I manually installed the latest for testing.
I have yet (since yesterday) to investigate whether this is Ubuntu specific. Font configuration changes were [...]]]></description>
		<wfw:commentRss>http://www.potentialgames.com/blog/2010/01/30/java-font-changes-in-ubuntu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hacking-and-Slashing (my Code)</title>
		<link>http://www.potentialgames.com/blog/2010/01/29/hacking-and-slashing-my-code/</link>
		<comments>http://www.potentialgames.com/blog/2010/01/29/hacking-and-slashing-my-code/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 14:54:08 +0000</pubDate>
		<dc:creator>neb</dc:creator>
				<category><![CDATA[Developer's Cave]]></category>
		<category><![CDATA[Potential RPG]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[RPG Alpha]]></category>
		<category><![CDATA[software engineering]]></category>

		<guid isPermaLink="false">http://www.potentialgames.com/blog/?p=511</guid>
		<description><![CDATA[Today&#8217;s SLOC count is 96,060 (4,237 less than my 100k analysis and 3,501 less than yesterday). While adding several new gameplay features, I was able to streamline the implementation in several places. This SLOC drop results from isolating (and removing) a good chunk of legacy logic, rules, and display code, which was impeding the integration [...]]]></description>
		<wfw:commentRss>http://www.potentialgames.com/blog/2010/01/29/hacking-and-slashing-my-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>100k SLOC</title>
		<link>http://www.potentialgames.com/blog/2010/01/23/100k-sloc/</link>
		<comments>http://www.potentialgames.com/blog/2010/01/23/100k-sloc/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 19:41:51 +0000</pubDate>
		<dc:creator>neb</dc:creator>
				<category><![CDATA[Developer's Cave]]></category>
		<category><![CDATA[Potential RPG]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[RPG Alpha]]></category>

		<guid isPermaLink="false">http://www.potentialgames.com/blog/?p=495</guid>
		<description><![CDATA[This morning, I noticed that my SLOC (Source Lines of Code) chart (in the sidebar of this blog) has breached the 100k mark (100,297sloc to be exact). That count is due to drop with the pending removal of some unused tools, defunct data structures, and legacy logic. Still, I thought it might be interesting to [...]]]></description>
		<wfw:commentRss>http://www.potentialgames.com/blog/2010/01/23/100k-sloc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why is LinkedList.clear() linear?</title>
		<link>http://www.potentialgames.com/blog/2009/05/29/why-is-linkedlistclear-linear/</link>
		<comments>http://www.potentialgames.com/blog/2009/05/29/why-is-linkedlistclear-linear/#comments</comments>
		<pubDate>Fri, 29 May 2009 15:47:01 +0000</pubDate>
		<dc:creator>neb</dc:creator>
				<category><![CDATA[Developer's Cave]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software engineering]]></category>

		<guid isPermaLink="false">http://www.potentialgames.com/blog/?p=420</guid>
		<description><![CDATA[I was just perusing the Java source code (because I don&#8217;t read the morning newspaper), when I discovered that java.util.LinkedList.clear() is implemented to operate in linear time. The documentation does not specify its order of growth, and I intuitively assumed that a linked list clear implementation would be a constant time operation. 
Could this be [...]]]></description>
		<wfw:commentRss>http://www.potentialgames.com/blog/2009/05/29/why-is-linkedlistclear-linear/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Case of the BlockingDeque Misstep</title>
		<link>http://www.potentialgames.com/blog/2009/04/17/the-case-of-the-blockingdeque-misstep/</link>
		<comments>http://www.potentialgames.com/blog/2009/04/17/the-case-of-the-blockingdeque-misstep/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 01:35:22 +0000</pubDate>
		<dc:creator>neb</dc:creator>
				<category><![CDATA[Developer's Cave]]></category>
		<category><![CDATA[Potential RPG]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[RPG Alpha]]></category>
		<category><![CDATA[software engineering]]></category>

		<guid isPermaLink="false">http://www.potentialgames.com/blog/?p=399</guid>
		<description><![CDATA[First: Unless you&#8217;re a Java developer who enjoys weekend threading and locking studies, don&#8217;t read this, unless you want your brain to melt. I&#8217;m primarily writing this for my own sake (because I am a Java concurrency junkie).
Second: There is nothing wrong with LinkedBlockingDeque. It follows all the proper behavior of a concurrent collections class [...]]]></description>
		<wfw:commentRss>http://www.potentialgames.com/blog/2009/04/17/the-case-of-the-blockingdeque-misstep/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Development Through Nautical Analogy</title>
		<link>http://www.potentialgames.com/blog/2009/04/09/software-development-through-nautical-analogy/</link>
		<comments>http://www.potentialgames.com/blog/2009/04/09/software-development-through-nautical-analogy/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 19:39:43 +0000</pubDate>
		<dc:creator>neb</dc:creator>
				<category><![CDATA[Developer's Cave]]></category>
		<category><![CDATA[Potential RPG]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[software engineering]]></category>

		<guid isPermaLink="false">http://www.potentialgames.com/blog/?p=371</guid>
		<description><![CDATA[Working on my own requires me to run the gauntlet of software development. The process exposes personal and professional strengths and weaknesses, which I believe are difficult to discover in a corporate environment. An employee&#8217;s job title tends to become a shell, which can be difficult to break out of. Being responsible for every aspect [...]]]></description>
		<wfw:commentRss>http://www.potentialgames.com/blog/2009/04/09/software-development-through-nautical-analogy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Keyed Access Pattern</title>
		<link>http://www.potentialgames.com/blog/2009/02/09/keyed-access-pattern/</link>
		<comments>http://www.potentialgames.com/blog/2009/02/09/keyed-access-pattern/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 11:32:24 +0000</pubDate>
		<dc:creator>neb</dc:creator>
				<category><![CDATA[Developer's Cave]]></category>
		<category><![CDATA[design patterns]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.potentialgames.com/blog/?p=338</guid>
		<description><![CDATA[In a previous article, I described a Concealed Controller Pattern, which allows Java classes to be packaged separately, while maintaining access control to certain sensitive methods. In today&#8217;s article, I discuss the shortcomings of Java&#8217;s package capabilities and present a simple pattern (the Keyed Access Pattern) for overcoming one case.

Motivation: The Java Programming Language allows [...]]]></description>
		<wfw:commentRss>http://www.potentialgames.com/blog/2009/02/09/keyed-access-pattern/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
