<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Keith Bennett&#039;s Technical Blog</title>
	<atom:link href="http://krbtech.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://krbtech.wordpress.com</link>
	<description>Software Development with Ruby and Friends</description>
	<lastBuildDate>Sat, 29 Oct 2011 15:12:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='krbtech.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/7f19a9f54b8d1358379307eed1166d17?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Keith Bennett&#039;s Technical Blog</title>
		<link>http://krbtech.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://krbtech.wordpress.com/osd.xml" title="Keith Bennett&#039;s Technical Blog" />
	<atom:link rel='hub' href='http://krbtech.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Design by Contract, Ruby Style</title>
		<link>http://krbtech.wordpress.com/2011/06/15/dependency-inversion-ruby-style/</link>
		<comments>http://krbtech.wordpress.com/2011/06/15/dependency-inversion-ruby-style/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 04:22:49 +0000</pubDate>
		<dc:creator>keithrbennett</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://krbtech.wordpress.com/?p=450</guid>
		<description><![CDATA[I recently encountered a situation in which I was writing data to a key/value data store. There was a code layer that insulated the business logic layer from the data store internals. I wanted to be able to unit test this business logic without needing access to the data store. I could mock the data [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=krbtech.wordpress.com&amp;blog=5670930&amp;post=450&amp;subd=krbtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://krbtech.wordpress.com/2011/06/15/dependency-inversion-ruby-style/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/486ca04f06d968004643ce5b47376ded?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithrbennett</media:title>
		</media:content>
	</item>
		<item>
		<title>Android GUI&#8217;s &#8212; The Case Against GUI Builders and Data Driven GUI Configuration</title>
		<link>http://krbtech.wordpress.com/2011/05/28/android-guis-the-case-against-gui-builders-and-data-driven-gui-configuration/</link>
		<comments>http://krbtech.wordpress.com/2011/05/28/android-guis-the-case-against-gui-builders-and-data-driven-gui-configuration/#comments</comments>
		<pubDate>Sun, 29 May 2011 02:20:27 +0000</pubDate>
		<dc:creator>keithrbennett</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://krbtech.wordpress.com/?p=436</guid>
		<description><![CDATA[GUI builders are great, but for building anything more than a trivial solitary application, without discipline and diligence, the duplication can create a productivity and quality quagmire. In addition, XML is a human-hostile configuration language. Copy and Paste &#8211; Bad! As the number of windows increases, the natural tendency is to copy and paste. For [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=krbtech.wordpress.com&amp;blog=5670930&amp;post=436&amp;subd=krbtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://krbtech.wordpress.com/2011/05/28/android-guis-the-case-against-gui-builders-and-data-driven-gui-configuration/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/486ca04f06d968004643ce5b47376ded?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithrbennett</media:title>
		</media:content>
	</item>
		<item>
		<title>Singapore and Its Red Dot RubyConf</title>
		<link>http://krbtech.wordpress.com/2011/05/10/singapore-and-its-red-dot-rubyconf/</link>
		<comments>http://krbtech.wordpress.com/2011/05/10/singapore-and-its-red-dot-rubyconf/#comments</comments>
		<pubDate>Tue, 10 May 2011 06:45:56 +0000</pubDate>
		<dc:creator>keithrbennett</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://krbtech.wordpress.com/?p=388</guid>
		<description><![CDATA[The Conference On April 22-23, 2011 was the first ever regional Ruby Conference in Southeast Asia (http://reddotrubyconf.com, Twitter tag #reddotrubyconf). (Conference links and resources provided by @cheeaun are here). It was really cool seeing people from so many different countries in the region unite around their appreciation of the Ruby language. In additional to the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=krbtech.wordpress.com&amp;blog=5670930&amp;post=388&amp;subd=krbtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://krbtech.wordpress.com/2011/05/10/singapore-and-its-red-dot-rubyconf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/486ca04f06d968004643ce5b47376ded?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithrbennett</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2011/05/matz_and_paolo.jpg?w=300" medium="image">
			<media:title type="html">Matz and Paolo Falcone</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2011/05/matz_and_keith.jpg?w=300" medium="image">
			<media:title type="html">Matz and Me (Keith Bennett)</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2011/05/smu.jpg?w=300" medium="image">
			<media:title type="html">SMU (Singapore Management University), RedDotRubyConf Site</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2011/05/keith_and_jason_ong.jpg?w=300" medium="image">
			<media:title type="html">Keith Bennett (Me) with Jason Ong</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2011/05/andras-e1305008011779.jpg?w=225" medium="image">
			<media:title type="html">Andras Kristof of Viki.com</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2011/05/moto-phone-closed.jpg?w=300" medium="image">
			<media:title type="html">Andras' Motorola Android Phone, Closed</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2011/05/moto-phone-opened.jpg?w=300" medium="image">
			<media:title type="html">Andras' Motorola Android Phone, Opened</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2011/05/sg-hackerspace-1.jpg?w=300" medium="image">
			<media:title type="html">Keith, Jay, and Jason at HackerspaceSG</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2011/05/5453342282_4e3417d48a.jpg?w=300" medium="image">
			<media:title type="html">HackerspaceSG Main Room</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2011/05/img_0662.jpg?w=300" medium="image">
			<media:title type="html">Keith, Jason, Ben, Shara, Brian at HackerspaceSG</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2011/05/durian-crepe-1-e1305011501950.jpg?w=225" medium="image">
			<media:title type="html">Making the Durian Crepe</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2011/05/durian-crepe-2.jpg?w=300" medium="image">
			<media:title type="html">Adding the Durian to the Crepe</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2011/05/durian-crepe-3.jpg?w=300" medium="image">
			<media:title type="html">Durian Crepe - The Finished Product</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2011/05/singapore-natl-library-1.jpg?w=300" medium="image">
			<media:title type="html">Singapore National Library</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2011/05/singapore-hindu-temple-1.jpg?w=300" medium="image">
			<media:title type="html">Inside the Hindu Temple at Bugis</media:title>
		</media:content>
	</item>
		<item>
		<title>Sun Java Coding Conventions Revisited</title>
		<link>http://krbtech.wordpress.com/2010/03/06/sun-java-coding-conventions-revisited/</link>
		<comments>http://krbtech.wordpress.com/2010/03/06/sun-java-coding-conventions-revisited/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 21:10:16 +0000</pubDate>
		<dc:creator>keithrbennett</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[code conventions]]></category>
		<category><![CDATA[code standards]]></category>
		<category><![CDATA[coding conventions]]></category>
		<category><![CDATA[coding standards]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://krbtech.wordpress.com/?p=300</guid>
		<description><![CDATA[The Sun Java Code Conventions document, written in 1997, and available at http://java.sun.com/docs/codeconv/, continues to be a valuable resource for Java programmers. In addition to the nuts and bolts of formatting and the like, it includes some great wisdom, such as: The frequency of comments sometimes reflects poor quality of code. When you feel compelled [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=krbtech.wordpress.com&amp;blog=5670930&amp;post=300&amp;subd=krbtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://krbtech.wordpress.com/2010/03/06/sun-java-coding-conventions-revisited/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/486ca04f06d968004643ce5b47376ded?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithrbennett</media:title>
		</media:content>
	</item>
		<item>
		<title>Bangspace &#8212; Bangkok Hackerspace</title>
		<link>http://krbtech.wordpress.com/2010/03/02/bangspace-bangkok-hackerspace/</link>
		<comments>http://krbtech.wordpress.com/2010/03/02/bangspace-bangkok-hackerspace/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 18:58:27 +0000</pubDate>
		<dc:creator>keithrbennett</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bangkok]]></category>
		<category><![CDATA[bangspace]]></category>
		<category><![CDATA[hackerspace]]></category>

		<guid isPermaLink="false">http://krbtech.wordpress.com/?p=216</guid>
		<description><![CDATA[One of the manifestations of community among IT professionals and enthusiasts is the hackerspace (see Wikipedia article at http://en.wikipedia.org/wiki/Hackerspace). A hackerspace is a place where hackers (in the loose sense of the word, that is, benevolent software and hardware enthusiasts) can meet to talk, learn, and work together. A recent addition to the hackerspaces of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=krbtech.wordpress.com&amp;blog=5670930&amp;post=216&amp;subd=krbtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://krbtech.wordpress.com/2010/03/02/bangspace-bangkok-hackerspace/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/486ca04f06d968004643ce5b47376ded?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithrbennett</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2010/02/bangspace-front1.jpg" medium="image">
			<media:title type="html">Bangspace Street View</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2010/02/bangspace-door2.jpg" medium="image">
			<media:title type="html">Bangspace Front Door</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2010/02/bangspace-sugree-android-talk2.jpg" medium="image">
			<media:title type="html">bangspace-sugree-android-talk</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2010/02/jan1.jpg" medium="image">
			<media:title type="html">Jan at Bangspace</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2010/02/em-and-adam.jpg" medium="image">
			<media:title type="html">Amp and Adam at Bangspace</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2010/02/keith-with-tiger.jpg" medium="image">
			<media:title type="html">keith-with-tiger</media:title>
		</media:content>
	</item>
		<item>
		<title>GPartEd &#8211; Free and Open Source Disk Partitioner</title>
		<link>http://krbtech.wordpress.com/2009/07/01/gparted-free-and-open-source-disk-partitioner/</link>
		<comments>http://krbtech.wordpress.com/2009/07/01/gparted-free-and-open-source-disk-partitioner/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 18:18:50 +0000</pubDate>
		<dc:creator>keithrbennett</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gparted]]></category>
		<category><![CDATA[partition editor]]></category>
		<category><![CDATA[partition magic]]></category>

		<guid isPermaLink="false">http://krbtech.wordpress.com/?p=197</guid>
		<description><![CDATA[GPartEd (http://gparted.sourceforge.net) is a free and open source software tool that does disk partitioning like its commercial counterpart, PartitionMagic. Although GPartEd is cursed with a boring name, it is nevertheless a superstar product with both looks and brains. (For the looks, see http://gparted.sourceforge.net/screenshots.php.) The name GPartEd is an abbreviation for Gnome Partition Editor. Although I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=krbtech.wordpress.com&amp;blog=5670930&amp;post=197&amp;subd=krbtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://krbtech.wordpress.com/2009/07/01/gparted-free-and-open-source-disk-partitioner/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/486ca04f06d968004643ce5b47376ded?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithrbennett</media:title>
		</media:content>

		<media:content url="http://gparted.sourceforge.net/screens/gparted_1_big.jpg" medium="image">
			<media:title type="html">GPartEd Main Window</media:title>
		</media:content>
	</item>
		<item>
		<title>The Loss of One&#8217;s Adopted Country &#8211; Another Result of the Economic Crisis</title>
		<link>http://krbtech.wordpress.com/2009/03/30/the-loss-of-ones-adopted-country-another-result-of-the-economic-crisis/</link>
		<comments>http://krbtech.wordpress.com/2009/03/30/the-loss-of-ones-adopted-country-another-result-of-the-economic-crisis/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 18:20:33 +0000</pubDate>
		<dc:creator>keithrbennett</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://krbtech.wordpress.com/?p=190</guid>
		<description><![CDATA[At a recent technical meeting I met a colleague with whom I&#8217;ve spoken from time to time. He is from India and has been working on an H-1 visa after getting his Masters degree at a state university here in the U.S. He, his wife, and his children have been here together for thirteen years, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=krbtech.wordpress.com&amp;blog=5670930&amp;post=190&amp;subd=krbtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://krbtech.wordpress.com/2009/03/30/the-loss-of-ones-adopted-country-another-result-of-the-economic-crisis/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/486ca04f06d968004643ce5b47376ded?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithrbennett</media:title>
		</media:content>
	</item>
		<item>
		<title>Dabbling in Clojure</title>
		<link>http://krbtech.wordpress.com/2009/03/16/same-temperature-converter-different-language-clojure/</link>
		<comments>http://krbtech.wordpress.com/2009/03/16/same-temperature-converter-different-language-clojure/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 22:00:16 +0000</pubDate>
		<dc:creator>keithrbennett</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[clojure]]></category>
		<category><![CDATA[jruby]]></category>
		<category><![CDATA[jvm]]></category>
		<category><![CDATA[swing]]></category>
		<category><![CDATA[temperature converter]]></category>

		<guid isPermaLink="false">http://krbtech.wordpress.com/?p=124</guid>
		<description><![CDATA[Clojure (http://www.clojure.org) is a Lisp implementation running on the Java Virtual Machine, written primarily by Rich Hickey and designed for simple and reliable concurrent programming. Clojure is a radical departure from the more conventional languages such as C, C++, Java, and Ruby. As a functional language, using it requires a different outlook and thinking style. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=krbtech.wordpress.com&amp;blog=5670930&amp;post=124&amp;subd=krbtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://krbtech.wordpress.com/2009/03/16/same-temperature-converter-different-language-clojure/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/486ca04f06d968004643ce5b47376ded?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithrbennett</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2009/02/converter-window.png" medium="image">
			<media:title type="html">converter-window</media:title>
		</media:content>
	</item>
		<item>
		<title>JRuby &#8212; A Better Language for the Java Virtual Machine</title>
		<link>http://krbtech.wordpress.com/2009/02/26/jruby-a-better-language-for-the-java-virtual-machine/</link>
		<comments>http://krbtech.wordpress.com/2009/02/26/jruby-a-better-language-for-the-java-virtual-machine/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 07:53:22 +0000</pubDate>
		<dc:creator>keithrbennett</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[code blocks]]></category>
		<category><![CDATA[conversion]]></category>
		<category><![CDATA[converter]]></category>
		<category><![CDATA[hash]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jruby]]></category>
		<category><![CDATA[notation]]></category>
		<category><![CDATA[swing]]></category>
		<category><![CDATA[temperature]]></category>

		<guid isPermaLink="false">http://krbtech.wordpress.com/?p=11</guid>
		<description><![CDATA[A powerful synergy results when combining the power, reliability, portability, and rich library set of the Java platform with the power and flexibility of JRuby.  This article will discuss a couple of ways in which JRuby surpasses Java as a programming language for the JVM: Code as first class objects &#8211; code blocks, lambdas, and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=krbtech.wordpress.com&amp;blog=5670930&amp;post=11&amp;subd=krbtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://krbtech.wordpress.com/2009/02/26/jruby-a-better-language-for-the-java-virtual-machine/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/486ca04f06d968004643ce5b47376ded?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithrbennett</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2009/02/converter-window.png" medium="image">
			<media:title type="html">converter-window</media:title>
		</media:content>
	</item>
		<item>
		<title>Applying User Interface Design to Source Code</title>
		<link>http://krbtech.wordpress.com/2008/11/28/applying-user-interface-design-to-source-code/</link>
		<comments>http://krbtech.wordpress.com/2008/11/28/applying-user-interface-design-to-source-code/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 00:36:14 +0000</pubDate>
		<dc:creator>keithrbennett</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[user interface design principles source code design]]></category>

		<guid isPermaLink="false">http://krbtech.wordpress.com/?p=5</guid>
		<description><![CDATA[The same user interface guidelines that make for an outstanding software product apply to source code as well. It turns out that programmers actually have human minds after all. Without effective and efficient presentation, a product&#8217;s content and functionality can be missed and misunderstood. This principle applies way beyond the realm of software products. It [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=krbtech.wordpress.com&amp;blog=5670930&amp;post=5&amp;subd=krbtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://krbtech.wordpress.com/2008/11/28/applying-user-interface-design-to-source-code/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/486ca04f06d968004643ce5b47376ded?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithrbennett</media:title>
		</media:content>

		<media:content url="http://krbtech.files.wordpress.com/2008/11/keith-avatar.jpg" medium="image">
			<media:title type="html">keith-avatar</media:title>
		</media:content>
	</item>
	</channel>
</rss>
