<?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>MATTSTOCKTON.com &#187; Uncategorized</title>
	<atom:link href="http://www.mattstockton.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mattstockton.com</link>
	<description>Rants and raves on software, technology, and whatever else I feel like!</description>
	<lastBuildDate>Mon, 28 Jun 2010 01:57:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Where did this month go? And don&#8217;t optimize!</title>
		<link>http://www.mattstockton.com/2009/03/11/where-did-this-month-go-and-dont-optimize/</link>
		<comments>http://www.mattstockton.com/2009/03/11/where-did-this-month-go-and-dont-optimize/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 23:55:52 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.mattstockton.com/?p=104</guid>
		<description><![CDATA[People have told me that it isn&#8217;t easy to keep up a blog. Now I know what they mean! Somehow, I&#8217;ve gone an entire month without posting anything &#8212; time seems to have flown by! I will try to be better at this, and post here at least 1 time a week (2 may have [...]]]></description>
			<content:encoded><![CDATA[<p>People have told me that it isn&#8217;t easy to keep up a blog. Now I know what they mean! Somehow, I&#8217;ve gone an entire month without posting anything &#8212; time seems to have flown by! I will try to be better at this, and post here at least 1 time a week (2 may have been a bit of an ambitious start)</p>
<p>I&#8217;m already halfway through this semester&#8217;s UIUC course (<a href="http://www.cs.uiuc.edu/class/sp09/cs433/" target="_blank">CS 433 &#8211; Computer System Organization</a>), and that has been taking up a bunch of my time &#8211; I wasn&#8217;t too crazy about taking the course (given that I am more of a software guy), but it is a requirement for graduation.</p>
<p>Needless to say, the class has been awesome so far! The material is both interesting and challenging. Currently, we are learning about different software and hardware solutions to improve processors &#8212; there&#8217;s some really interesting stuff in this domain!</p>
<p>At a high level, the course has brought me to two conclusions with regards to developing software:</p>
<ul>
<li>Choose clarity over optimization, because the lower levels will help you with the optimization anyway &#8211; Here, I am talking about the &#8217;small&#8217; optimizations that people tend to make in code that can make the code very unclear (large scale optimizations involving architecture, etc. are still absolutely necessary). One of my least favorites of this is caching a calculated value when the calculation takes a very short amount of time. If the calculation is easy, just do it every time in a method! The overhead of managing the cached value, knowing when it is stale, etc. is not worth it!</li>
<li>The impact of optimization from single Processor improvements (Pipelining optimizations, dual issue, Branch predication schemes, clock speed, etc.) is slowly fading, as is evidenced by the recent explosion of multi-core systems.  Squeezing in a few more instructions in a clock cycle is not going to cut it anymore. This is quite interesting, as now the burden for optimization will <strong>shift to the developer</strong>.  We will have to spend some effort to plan our software such that we are effectively utilizing the multiple available processors! This could mean a paradigm shift in how software is developed to run on the multi-cores.</li>
</ul>
<p>There&#8217;s actually some pretty good quotes out there with regards to Software Optimization that I&#8217;ll leave you with. Print these, put them in your cube, and look at them next time you want to do something stupid for optimization&#8217;s sake:</p>
<p><em>&#8220;Rule 1: Don&#8217;t do it&#8230;.. Rule 2: (for experts only) Don&#8217;t do it yet&#8221; </em> &#8211; M.A. Jackson</p>
<p>&#8220;<em>More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason &#8211; including blind stupidity.” </em>- W.A. Wulf</p>
<p>&#8220;Optimization is non-optimal&#8221; &#8211; Me</p>
<p>Anyway, that&#8217;s it for now.  For my next blog article, I am thinking about discussing the pitfalls of unit testing. Sound interesting?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattstockton.com/2009/03/11/where-did-this-month-go-and-dont-optimize/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First Post (!)</title>
		<link>http://www.mattstockton.com/2009/01/10/first-post/</link>
		<comments>http://www.mattstockton.com/2009/01/10/first-post/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 08:25:15 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[new year's resolution]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.mattstockton.com/?p=8</guid>
		<description><![CDATA[Wow,  setting up Wordpress was easier than I thought it would be! This post is the first step in one (among many) of my new years resolutions. I promised myself that 2009 would be the year where I channel my creative energy and passion about technology to do something productive and interesting. I often find [...]]]></description>
			<content:encoded><![CDATA[<p>Wow,  setting up Wordpress was easier than I thought it would be! This post is the first step in one (among many) of my new years resolutions. I promised myself that 2009 would be the year where I channel my creative energy and passion about technology to do something productive and interesting. I often find myself brainstorming / thinking about new ideas that leverage technology and the web to do cool things.  In the past, I have done some basic prototyping of several of the ideas, but the prototyping usually ended fairly quickly, and I soon lost interest. I&#8217;m not exactly sure why I lost the interest &#8212; maybe it was because I knew the ideas weren&#8217;t good enough, maybe because I didn&#8217;t have enough time, or maybe it was because I didn&#8217;t surround myself with people who shared the same passion for technology who I could lean on for help and advice.</p>
<p>A major goal of this blog is to change the third point mentioned above &#8212; I hope to lean on the technology community for help, advice, and feedback as I pursue new ideas and thoughts. This will be a place where I reflect on my thoughts about technology, software, the web (and possibly other subjects that fall through the cracks!) in hopes of re-gaining the spark to innovate, and move past brainstorming and prototyping to making real, working products.</p>
<p>I&#8217;m excited to say that that I have taken the first step towards my goal in starting this blog &#8212; I hope to make some great contacts in the Milwaukee tech community (and beyond) &#8212; and please give me a big kick in the rear if I start slipping up on my new years resolution!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattstockton.com/2009/01/10/first-post/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
