<?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>Ramblings &#187; programming</title>
	<atom:link href="http://matthewkwilliams.com/index.php/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://matthewkwilliams.com</link>
	<description>Musings of Matt Williams</description>
	<lastBuildDate>Thu, 04 Nov 2010 18:05:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>Class is Class, and Instance, Instance, and never the twain shall meet</title>
		<link>http://matthewkwilliams.com/index.php/2008/09/12/class-is-class-and-instance-instance-and-never-the-twain-shall-meet/</link>
		<comments>http://matthewkwilliams.com/index.php/2008/09/12/class-is-class-and-instance-instance-and-never-the-twain-shall-meet/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 15:09:29 +0000</pubDate>
		<dc:creator>Matt Williams</dc:creator>
				<category><![CDATA[eating crow]]></category>
		<category><![CDATA[gotchas]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[crow]]></category>

		<guid isPermaLink="false">http://matthewkwilliams.com/?p=154</guid>
		<description><![CDATA[More about methods, it&#8217;s inspired/spurred by a comment on methods, public_methods, and private_methods by Pit Captain. It also corrects some misconceptions I had (and may have (wrongly) given others). I&#8217;ve added a new category, &#8220;eating crow&#8221; for this and any other postings where I step back and re-evaluate my posts. This is to keep me [...]]]></description>
		<wfw:commentRss>http://matthewkwilliams.com/index.php/2008/09/12/class-is-class-and-instance-instance-and-never-the-twain-shall-meet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>methods, public_methods, and private_methods</title>
		<link>http://matthewkwilliams.com/index.php/2008/09/11/methods-public-methods-and-private-methods/</link>
		<comments>http://matthewkwilliams.com/index.php/2008/09/11/methods-public-methods-and-private-methods/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 18:11:08 +0000</pubDate>
		<dc:creator>Matt Williams</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://matthewkwilliams.com/?p=150</guid>
		<description><![CDATA[Ruby&#8217;s Object has a method, methods. You can use it to see the methods which an object has. Sort of. In this post I&#8217;m examining methods, public_methods, and private_methods as well as some of their implications. Let&#8217;s take this simple class and look at it: class MethodsTest attr_reader :foo def initialize&#40;foo=nil&#41; @foo = foo end [...]]]></description>
		<wfw:commentRss>http://matthewkwilliams.com/index.php/2008/09/11/methods-public-methods-and-private-methods/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>universal cat redux</title>
		<link>http://matthewkwilliams.com/index.php/2008/09/11/universal-cat-redux/</link>
		<comments>http://matthewkwilliams.com/index.php/2008/09/11/universal-cat-redux/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 14:39:50 +0000</pubDate>
		<dc:creator>Matt Williams</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[utilities]]></category>

		<guid isPermaLink="false">http://matthewkwilliams.com/?p=147</guid>
		<description><![CDATA[I have a neglectful relationship with inject. That is, I neglect to remember that it exists, having worked for so long with other languages which are &#8220;unfamiliar with the concept&#8221;. Amos King&#8217;s blog entry on Inject &#38; Me &#8211; BFFs got me to thinking that ucat (see cat on steroids (or cat on a hot [...]]]></description>
		<wfw:commentRss>http://matthewkwilliams.com/index.php/2008/09/11/universal-cat-redux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>cat on steroids (or cat on a hot ruby roof)</title>
		<link>http://matthewkwilliams.com/index.php/2008/09/10/cat-on-steroids/</link>
		<comments>http://matthewkwilliams.com/index.php/2008/09/10/cat-on-steroids/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 22:08:02 +0000</pubDate>
		<dc:creator>Matt Williams</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[utilities]]></category>

		<guid isPermaLink="false">http://matthewkwilliams.com/?p=144</guid>
		<description><![CDATA[I got to thinking about SuperIO and how it could be used as a swiss army chainsaw to open files, whereever they might be on the net.  From there, my fevered mind got to thinking about cat and how the two could be used together.  That said, I present ucat &#8212; a universal cat, if [...]]]></description>
		<wfw:commentRss>http://matthewkwilliams.com/index.php/2008/09/10/cat-on-steroids/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A language a year</title>
		<link>http://matthewkwilliams.com/index.php/2008/09/02/a-language-a-year/</link>
		<comments>http://matthewkwilliams.com/index.php/2008/09/02/a-language-a-year/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 16:35:20 +0000</pubDate>
		<dc:creator>Matt Williams</dc:creator>
				<category><![CDATA[philosophy]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://matthewkwilliams.com/?p=122</guid>
		<description><![CDATA[The Pragmatic Programmers have proposed that developers learn a language a year.  I agree that it&#8217;s very important to keep abreast of changes in IT and that by learning new languages we can keep our minds sharp and bring new ways of doing things into old languages.  However, I have to wonder if this learning [...]]]></description>
		<wfw:commentRss>http://matthewkwilliams.com/index.php/2008/09/02/a-language-a-year/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Programming philosophy in the oddest of places</title>
		<link>http://matthewkwilliams.com/index.php/2008/08/27/programming-philosophy-in-the-oddest-of-places/</link>
		<comments>http://matthewkwilliams.com/index.php/2008/08/27/programming-philosophy-in-the-oddest-of-places/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 17:52:29 +0000</pubDate>
		<dc:creator>Matt Williams</dc:creator>
				<category><![CDATA[philosophy]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://matthewkwilliams.com/?p=106</guid>
		<description><![CDATA[Today&#8217;s thought for the day from A Word A Day is: Not being able to govern events, I govern myself. -Michel de Montaigne, essayist (1533-1592) This struck me as being very much the idea behind defensive programming.  Because we don&#8217;t know what sort of events life will throw at a programme, we need for it [...]]]></description>
		<wfw:commentRss>http://matthewkwilliams.com/index.php/2008/08/27/programming-philosophy-in-the-oddest-of-places/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sometimes More is Just Enough</title>
		<link>http://matthewkwilliams.com/index.php/2008/08/26/sometimes-more-is-just-enough/</link>
		<comments>http://matthewkwilliams.com/index.php/2008/08/26/sometimes-more-is-just-enough/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 15:02:54 +0000</pubDate>
		<dc:creator>Matt Williams</dc:creator>
				<category><![CDATA[Just Enough Programming]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[just enough programming]]></category>

		<guid isPermaLink="false">http://matthewkwilliams.com/?p=102</guid>
		<description><![CDATA[In the quest for simplicity and maintainability, sometimes we need to add components.  It seems counter intuitive, perhaps, but sometimes it&#8217;s true. As an example, I once came across a project which had multiple queries, each of which contained over 40 lines of SQL code.  I don&#8217;t know about you, but 40 lines of code [...]]]></description>
		<wfw:commentRss>http://matthewkwilliams.com/index.php/2008/08/26/sometimes-more-is-just-enough/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why my code is broken&#8230;.. (break my code redux)</title>
		<link>http://matthewkwilliams.com/index.php/2008/08/26/why-my-code-is-broken-break-my-code-redux/</link>
		<comments>http://matthewkwilliams.com/index.php/2008/08/26/why-my-code-is-broken-break-my-code-redux/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 06:47:17 +0000</pubDate>
		<dc:creator>Matt Williams</dc:creator>
				<category><![CDATA[gotchas]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://matthewkwilliams.com/?p=99</guid>
		<description><![CDATA[Yesterday, I posted an article entitled Break my code, please, wherein I posted a very fragile piece of code, with the challenge to find ways in which to break it. What follows is a discussion of the code and why it is bad/fragile/easily broken&#8230;.. In the first place, methods like tr! and slice! behave differently [...]]]></description>
		<wfw:commentRss>http://matthewkwilliams.com/index.php/2008/08/26/why-my-code-is-broken-break-my-code-redux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Break my code, please</title>
		<link>http://matthewkwilliams.com/index.php/2008/08/25/break-my-code-please/</link>
		<comments>http://matthewkwilliams.com/index.php/2008/08/25/break-my-code-please/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 14:31:34 +0000</pubDate>
		<dc:creator>Matt Williams</dc:creator>
				<category><![CDATA[gotchas]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://matthewkwilliams.com/?p=83</guid>
		<description><![CDATA[There&#8217;s a number of things we can should take into account when writing code &#8212; boundary cases, etc., that can make or break a programme.  Yes, testing is important, but I think that developing good defensive programming practices is even more important.  That said; I present the following, fragile, code.  Just about every line has [...]]]></description>
		<wfw:commentRss>http://matthewkwilliams.com/index.php/2008/08/25/break-my-code-please/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ruby&#8217;s ObjectSpace: Subclasses</title>
		<link>http://matthewkwilliams.com/index.php/2008/08/22/rubys-objectspace-subclasses/</link>
		<comments>http://matthewkwilliams.com/index.php/2008/08/22/rubys-objectspace-subclasses/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 14:33:35 +0000</pubDate>
		<dc:creator>Matt Williams</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://matthewkwilliams.com/?p=81</guid>
		<description><![CDATA[One of the (imho) lesser used pieces of the Ruby language is ObjectSpace.  In this article I&#8217;ll show one of the things you can do with it &#8212; get all the subclasses of a class. ObjectSpace is almost a red-headed stepchild.  In JRuby you can even turn it off.  However, it does have its uses. [...]]]></description>
		<wfw:commentRss>http://matthewkwilliams.com/index.php/2008/08/22/rubys-objectspace-subclasses/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

