<?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>Kyle Smith &#187; programming</title>
	<atom:link href="http://blog.infinitechaos.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.infinitechaos.com</link>
	<description>No magic here</description>
	<lastBuildDate>Wed, 30 Mar 2011 14:35:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Tools for visualizing code</title>
		<link>http://blog.infinitechaos.com/2009/01/26/tools-for-visualizing-code/</link>
		<comments>http://blog.infinitechaos.com/2009/01/26/tools-for-visualizing-code/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 15:00:42 +0000</pubDate>
		<dc:creator>kyle</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[scm]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://blog.infinitechaos.com/?p=283</guid>
		<description><![CDATA[When looking through some particularly convoluted code last week I started to wonder if the code was always that complex or if it was a gradual change as several developers attempted to implement the necessary features. Perforce, which VMware uses for SCM, as well as other SCM systems let you view or check out prior [...]]]></description>
			<content:encoded><![CDATA[<p>When looking through some particularly convoluted code last week I started to wonder if the code was always that complex or if it was a gradual change as several developers attempted to implement the necessary features.</p>
<p><a title="Perforce" href="http://www.perforce.com">Perforce</a>, which VMware uses for SCM, as well as other SCM systems let you view or check out prior revisions of a file which is helpful, but isn&#8217;t all that interesting because you can&#8217;t easily compare the files; you end up looking at them one at a time.</p>
<p>Is anyone aware of a tool that will automatically create slideshows or videos of versioned files?  I think it&#8217;d be neat to generate a series of snapshots of a file and be able to flip through them and watch the code itself evolve.</p>
<p>This idea was inspired by the <a title="code_swarm" href="http://vis.cs.ucdavis.edu/~ogawa/codeswarm/">code_swarm</a> experiment conducted by Michael Ogawa at UC Davis.  Be sure to follow the link for some cool visualizations of popular open source projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.infinitechaos.com/2009/01/26/tools-for-visualizing-code/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Three steps to follow when dealing with code</title>
		<link>http://blog.infinitechaos.com/2009/01/12/three-steps-to-follow-when-dealing-with-code/</link>
		<comments>http://blog.infinitechaos.com/2009/01/12/three-steps-to-follow-when-dealing-with-code/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 15:00:41 +0000</pubDate>
		<dc:creator>kyle</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://blog.infinitechaos.com/?p=279</guid>
		<description><![CDATA[I was reading Massimo Banzi&#8217;s Getting Started with Arduino over the weekend and came across a wonderful, page-long explanation in the Troubleshooting section that all software developers should take to heart when reading, writing, and using code as it explains the general approach for each quite well. I won&#8217;t reproduce the explanation here due to [...]]]></description>
			<content:encoded><![CDATA[<p>I was reading Massimo Banzi&#8217;s <a title="Amazon: Getting Started with Arduino" href="http://www.amazon.com/gp/product/0596155514?ie=UTF8&amp;tag=infinitechaos-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0596155514"><em>Getting Started with Arduino</em></a> over the weekend and came across a wonderful, page-long explanation in the Troubleshooting section that all software developers should take to heart when reading, writing, and using code as it explains the general approach for each quite well.</p>
<p>I won&#8217;t reproduce the explanation here due to copyright restrictions, but you can <a title="Google Book Search: Getting Started with Arduino" href="http://books.google.com/books?id=f3xYRaq_4ZYC&amp;printsec=frontcover&amp;source=gbs_summary_r&amp;cad=0#PPA87,M1">read the page</a> on Google Book Search.  It boils down to this:</p>
<ol>
<li>Try to understand how the parts of the system work and what each component is supposed to contribute to the overall system</li>
<li>Determine the component boundaries and what their responsibilities are</li>
<li>Test each component individually and gradually build up the system, testing it as you go</li>
</ol>
<p>I like his explanation so much I think it should be one of the first things drilled into software engineers.  It also seems quite applicable to test driven development as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.infinitechaos.com/2009/01/12/three-steps-to-follow-when-dealing-with-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

