<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>incompl.com</title>
	
	<link>http://incompl.com</link>
	<description>The Blog of Greg Smith</description>
	<lastBuildDate>Tue, 03 Nov 2009 16:08:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<geo:lat>42.357903</geo:lat><geo:long>-71.064087</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/incompl" type="application/rss+xml" /><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fincompl" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:browserFriendly>You should subscribe, I think you'll like it!</feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>October Link Dump</title>
		<link>http://feedproxy.google.com/~r/incompl/~3/qswJvpz38DQ/</link>
		<comments>http://incompl.com/2009/october-link-dump-2/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 22:00:57 +0000</pubDate>
		<dc:creator>gsmith</dc:creator>
				<category><![CDATA[link dump]]></category>

		<guid isPermaLink="false">http://incompl.com/?p=497</guid>
		<description><![CDATA[Concept Art
Christian Hecker. Glorious sci-fi and landscapes at wallpaper-worthy resolutions.
Mike McCain. More spaceships? Yes.
Guild Wars 2. I&#8217;ve loved their box art since the first one.
Useful Apps
Ninite lets you check off the apps you want to make one custom installer for everything you need on a new computer.
Support Details. Much easier than explaining to grandma how [...]]]></description>
			<content:encoded><![CDATA[<h2>Concept Art<a href="http://incompl.com/wp-content/uploads/2009/10/ninite.png"><img class="alignright size-medium wp-image-509" title="ninite" src="http://incompl.com/wp-content/uploads/2009/10/ninite-300x217.png" alt="ninite" width="300" height="217" /></a></h2>
<p><a href="http://portfolio.tigaer-design.com/port_flash.html">Christian Hecker</a>. Glorious sci-fi and landscapes at wallpaper-worthy resolutions.<a href=" http://www.grnr.com/gallery.php?page=show_pic&amp;cat_id=183&amp;pic_id=203&amp;page_num=1"></a></p>
<p><a href="http://www.mikebot.net/#8">Mike McCain</a>. More spaceships? Yes.</p>
<p><a href="http://hellforge.gameriot.com/blogs/Guildfeeder/The-Beauty-that-is-Guild-Wars-2-Art-Work">Guild Wars 2</a>. I&#8217;ve loved their box art since the first one.</p>
<h2>Useful Apps</h2>
<p><a href="http://ninite.com/">Ninite</a> lets you check off the apps you want to make one custom installer for everything you need on a new computer.</p>
<p><a href="http://supportdetails.com/">Support Details</a>. Much easier than explaining to grandma how to check her screen resolution.</p>
<h2>Web Design Resources<a href="http://www.noupe.com/fonts/45-outstanding-free-vintage-fonts.html"></a></h2>
<p><a href="http://www.sprymedia.co.uk/article/Visual+Event">Visual Event</a>. The fact that this is a <a href="http://en.wikipedia.org/wiki/Bookmarklet">bookmarklet</a> rather than a plug-in makes it that much cooler.</p>
<p><a href="http://malevolent.com/weblog/archive/2009/10/01/optimise-web-site-iphone/">Optimize your site for the iPhone</a>. Not rushing to do this on this site with the number of iPhone visits I get, though.</p>
<p><a href="http://www.noupe.com/fonts/45-outstanding-free-vintage-fonts.html">Vintage Fonts</a>. Can never get enough fonts, right?</p>
<h2><a href="http://incompl.com/wp-content/uploads/2009/10/dust.png"><img class="size-full wp-image-511 alignright" title="dust" src="http://incompl.com/wp-content/uploads/2009/10/dust.png" alt="dust" width="247" height="247" /></a>Fun</h2>
<p><a href="http://www.edge-online.com/magazine/top-50-iphone-games-50-41?page=0%2C0">Top 50 iPhone games from Edge</a>. It is still hard to find good iPhone game recommendations, so this compilation was timely and well done.</p>
<p><a href="http://edition.cnn.com/2009/LIVING/wayoflife/09/28/mf.10.secret.menu.items/index.html">Secret Menus</a>. Everyone knows about the In-N-Out Burger secret menu, but there are some other delicious possibilities out there.</p>
<p><a href="http://www.flickr.com/photos/plasticbag/galleries/72157622310168099/#photo_3945784916">Red Dust</a>. Hard to believe these are actual photographs of a dust storm.</p>
<h2>Interesting</h2>
<p><a href="http://smallbusinessanswers.yahoo.com/overrated">Businesses that sound appealing to get into but are overrated</a>. Traffic-driven web sites is an important one to note.</p>
<p><a href="http://www.cracked.com/article/158_5-irrational-fears-even-rational-people-have/">Irrational fears even rational people have</a>. It is great that <a href="http://www.cracked.com/">Cracked</a> can be as insightful as they are hilarious.</p>
<h2>Design in the Wild</h2>
<p><a href="http://torturedorchard.com/pages/seasoning_sauces">Tortured Orchard</a>. &#8220;A spirited rebellion of flavors.&#8221; Someone in marketing figured out that off-center web designers really like to marinade things.</p>
<p>The <a href="http://www.signals.com/signals/Home-Garden_1EA/View-All-Home-Garden_1EB/Item_Fruit-Infusion-Pitcher_HH9482_ps_cti-1EB.html">Party Pitcher</a>. Come on, that&#8217;s what it&#8217;s for.</p>
<h2>Strange</h2>
<p><a href="http://www.blackphoenixalchemylab.com/about.html">Smell</a> like Neil Gaiman, or Cthulu, or something.</p>
<p><a href="http://twitpic.com/jsyp9">Mustaches</a>, drum solos, and rights of passage.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/incompl?a=qswJvpz38DQ:0FnDoP_ToN4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/incompl?i=qswJvpz38DQ:0FnDoP_ToN4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=qswJvpz38DQ:0FnDoP_ToN4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/incompl?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=qswJvpz38DQ:0FnDoP_ToN4:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/incompl?d=cGdyc7Q-1BI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/incompl/~4/qswJvpz38DQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://incompl.com/2009/october-link-dump-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://incompl.com/2009/october-link-dump-2/</feedburner:origLink></item>
		<item>
		<title>Regarding Block Style</title>
		<link>http://feedproxy.google.com/~r/incompl/~3/yUAg3tNuKy4/</link>
		<comments>http://incompl.com/2009/regarding-block-style/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 20:31:45 +0000</pubDate>
		<dc:creator>gsmith</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://incompl.com/?p=456</guid>
		<description><![CDATA[I went to a great talk by Douglas Crockford today. If you&#8217;re a JavaScript programmer and haven&#8217;t read any of his articles, head over to his site and get started. It&#8217;s more important than reading this blog.  Seriously.
Alright. I want to show an example he used that doesn&#8217;t seem to be included in any of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://incompl.com/wp-content/uploads/2009/09/374961356_4ea13e95e1.jpg"><img class="alignright size-full wp-image-462" title="374961356_4ea13e95e1" src="http://incompl.com/wp-content/uploads/2009/09/374961356_4ea13e95e1.jpg" alt="374961356_4ea13e95e1" width="194" height="200" /></a>I went to a great talk by Douglas Crockford today. If you&#8217;re a JavaScript programmer and haven&#8217;t read any of his articles, head over to <a href="http://crockford.com">his site</a> and get started. It&#8217;s more important than reading this blog.  Seriously.</p>
<p>Alright. I want to show an example he used that doesn&#8217;t seem to be included in any of his articles online. This may not be exactly the same, but is close to how I remember it.</p>
<p>Everyone argues about where to put the starting curly-brace of a block.  Usually they don&#8217;t have any substantial cause to pick one over the other, but everyone agrees one technique should be used consistently in a given program.  There is a reason to choose one style over the other in JavaScript. Check out this example:</p>
<blockquote>
<pre>function test1() {
    return {
        foo: "bar"
    };
}

function test2()
{
    return
    {
        foo: "bar"
    };
}

alert(test1() === undefined); // false
alert(test2() === undefined); // true</pre>
</blockquote>
<p>These two functions appear to only differ in their formatting.  Surprised by these results?</p>
<p>The first function does exactly what it looks like it should. In the second, 4 different language design problems cause the program to do something unexpected while providing no errors.</p>
<ol>
<li><a href="http://en.wikipedia.org/wiki/JavaScript_syntax#Whitespace_and_semicolons">Semi-colon insertion</a> causes the <em>return</em> to be a <em>return;</em></li>
<li>A line that starts with <em>{</em> starts a block. There is no block-level scope, so in this case the block does nothing. This &#8220;feature&#8221; is only there because <a href="http://en.wikipedia.org/wiki/C_(programming_language)">C</a> has it.</li>
<li>The<em> foo: </em>looks like part of an object literal, but we&#8217;re in a block, not an object literal. This should be an error, right? No, it&#8217;s a label. Even though we&#8217;re not in code where a label could do anything, such as a <em>for</em> loop.</li>
<li>The rest of the line after the label is the value &#8220;bar&#8221;. A value by itself counts as a statement, even though it doesn&#8217;t do anything.</li>
</ol>
<p>Wow. That function does something wildly different than what it appears to do. The point Crockford was making here was that in JavaScript, unlike in most languages, preferring the first type of curly-brace placement helps you avoid mistakes like this one.</p>
<p>He also mentioned that <a href="http://jslint.com/">JSLint</a>,  his free JavaScript code quality tool, is able to pick up on this kind of mistake. Try running my example through it!</p>
<p><a href="http://www.flickr.com/photos/lifeontheedge/374961356/">[Image Credit]</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/incompl?a=yUAg3tNuKy4:YF4sulp-t2k:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/incompl?i=yUAg3tNuKy4:YF4sulp-t2k:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=yUAg3tNuKy4:YF4sulp-t2k:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/incompl?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=yUAg3tNuKy4:YF4sulp-t2k:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/incompl?d=cGdyc7Q-1BI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/incompl/~4/yUAg3tNuKy4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://incompl.com/2009/regarding-block-style/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://incompl.com/2009/regarding-block-style/</feedburner:origLink></item>
		<item>
		<title>August Link Dump</title>
		<link>http://feedproxy.google.com/~r/incompl/~3/9whs_BGNa_4/</link>
		<comments>http://incompl.com/2009/august-link-dump/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 22:06:15 +0000</pubDate>
		<dc:creator>gsmith</dc:creator>
				<category><![CDATA[link dump]]></category>

		<guid isPermaLink="false">http://incompl.com/?p=416</guid>
		<description><![CDATA[Finally it&#8217;s super easy to make your own card and board games.  Someone must have realized how many times people have gotten all excited to make a game, then had all their energy go to waste when they realized how hard it is to get such a game published.
I&#8217;m really picky about sneakers.  These make [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://incompl.com/wp-content/uploads/2009/08/FireShot-capture-014-Kursk-Grey-Shoes-I-CHROME-I-Official-Site-www_chromebagsstore_com_shoes_kursk-grey_html.png"><img class="alignright size-medium wp-image-427" title="Chrome Shoes" src="http://incompl.com/wp-content/uploads/2009/08/FireShot-capture-014-Kursk-Grey-Shoes-I-CHROME-I-Official-Site-www_chromebagsstore_com_shoes_kursk-grey_html-300x165.png" alt="Chrome Shoes" width="300" height="165" /></a>Finally it&#8217;s super easy to <a href="http://www.thegamecrafter.com/home">make your own card and board games</a>.  Someone must have realized how many times people have gotten all excited to make a game, then had all their energy go to waste when they realized how hard it is to get such a game published.<a href="http://www.wired.com/culture/lifestyle/magazine/17-08/by_index"></a></p>
<p>I&#8217;m really picky about sneakers.  <a href="http://www.chromebagsstore.com/shoes.html">These</a> make a bold statement without being goofy, which is hard to find.</p>
<p>I&#8217;ve gotten the feeling that <em>The Sims 3</em> is only fun when you don&#8217;t play it the way it was meant to be played.  If the hilarity issued by <a href="http://www.cracked.com/blog/exploring-the-mysteries-of-the-mind-with-the-sims-3/">this article</a> is any indication, I may be right.</p>
<p>A couple more <a href="http://graphicleftovers.com/">stock sites</a> that <a href="http://www.iconfinder.net/">don&#8217;t</a> make me want to cry.</p>
<p>It&#8217;s hard to find an API that you can get excited about.  <a href="http://mixpanel.com/api/docs/tour/">Mixpanel </a>(a web analytics service) actually sounds like it&#8217;d be enjoyable to integrate.</p>
<p><a href="http://www.wired.com/culture/lifestyle/magazine/17-08/by_index">Shockingly reasonable advice</a>.  Though people seem to disagree on a lot of these, the emphasis here is on emerging norms.</p>
<p><a href="http://incompl.com/wp-content/uploads/2009/08/coda.png"><img class="alignleft size-full wp-image-430" title="Coda Logo" src="http://incompl.com/wp-content/uploads/2009/08/coda.png" alt="Coda Logo" width="197" height="197" /></a>My current favorite web programming <a href="http://www.panic.com/coda/">editor</a>.</p>
<p>I love dark web design.  Here is an article that talks about <a href="http://www.webdesignerdepot.com/2009/08/the-dos-and-donts-of-dark-web-design/">how to do it well</a>.</p>
<p><a href="http://www.nambu.com/">Nambu</a> is my desktop Twitter client de jour.</p>
<p>This <a href="http://www.newscientist.com/article/dn17453-timeline-the-evolution-of-life.html?full=true">timeline of evolution on Earth</a>, starting at the beginning, is fascinating.</p>
<p>A wonderful tool for designers that <a href="http://new.myfonts.com/WhatTheFont/">determines the font used in an uploaded image</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/incompl?a=9whs_BGNa_4:QOIIaOexiDM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/incompl?i=9whs_BGNa_4:QOIIaOexiDM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=9whs_BGNa_4:QOIIaOexiDM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/incompl?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=9whs_BGNa_4:QOIIaOexiDM:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/incompl?d=cGdyc7Q-1BI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/incompl/~4/9whs_BGNa_4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://incompl.com/2009/august-link-dump/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://incompl.com/2009/august-link-dump/</feedburner:origLink></item>
		<item>
		<title>Exceptional Exceptions</title>
		<link>http://feedproxy.google.com/~r/incompl/~3/DK_Etl0Fm5E/</link>
		<comments>http://incompl.com/2009/exceptional-exceptions/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 18:07:33 +0000</pubDate>
		<dc:creator>gsmith</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://incompl.com/?p=405</guid>
		<description><![CDATA[I&#8217;ve heard a lot of mantras regarding how to handle exceptions properly in programming languages that support checked exceptions (eg Java).  Sometimes these mantras are regarded a little too highly, even doing harm in some situations.  I&#8217;d like to dissect a couple of these.
Never Sometimes catch the top-level &#8220;Exception&#8221; class.
There are times when it is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://incompl.com/wp-content/uploads/2009/08/wtf-coffee.jpg"><img class="alignright size-medium wp-image-411" title="wtf coffee" src="http://incompl.com/wp-content/uploads/2009/08/wtf-coffee-300x246.jpg" alt="wtf coffee" width="300" height="246" /></a>I&#8217;ve heard a lot of mantras regarding how to handle exceptions properly in programming languages that support checked exceptions (eg Java).  Sometimes these mantras are regarded a little too highly, even doing harm in some situations.  I&#8217;d like to dissect a couple of these.</p>
<h2><span style="text-decoration: line-through;">Never</span> Sometimes catch the top-level &#8220;Exception&#8221; class.</h2>
<p>There are times when it is definitely appropriate.  Imagine some controller code in a web application.  An underlying system has produced an unexpected exception.  Controller code can&#8217;t do anything to fix it, but allowing the exception to continue up the call stack would cause a <a href="http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#5xx_Server_Error">500 error</a>.  Catching any thrown exception can allow the Controller to do something better, like output a message to the user notifying them of the error and making a suggestion on what to do next.</p>
<p>In short, catch the top-level Exception class if you know for sure that every thrown exception will be handled more poorly by your caller than you can handle it, and you can&#8217;t improve the caller&#8217;s behavior.</p>
<h2><span style="text-decoration: line-through;">Always</span> When appropriate catch the most  specific exceptions thrown.</h2>
<p>Catching the most specific exceptions thrown is meant to create error handling specific to the problem that was raised.  For example, a &#8220;DatabaseConnectionLost&#8221; exception would be caught, and in the catch block the connection would be repaired.  It seems reasonable to always want to do this, but in practice, some exceptions are thrown in cases where you can&#8217;t do anything about it.  Lets say a method throws &#8220;DatabaseConnectionLost&#8221; and &#8220;DatabaseQueryInvalid&#8221;, both of which are children of &#8220;DatabaseException.&#8221;  In a situation where the calling code can&#8217;t repair the connection or fix the query, catching the parent is appropriate, rather than handling each specific case without anything specific to do.  If the code can do something like email the DBA, catching DatabaseException seems useful.</p>
<p>In short, you should always catch the most specific exceptions that you can actually do something about.</p>
<h2>Never leave a catch block empty (if you can help it)</h2>
<p>This is actually one of those rare never-ism that I&#8217;m OK with.  But sadly, when interfacing with poorly thought out code, sometimes you are forced to do this.</p>
<p>Lets say you want to create User objects and add them all to a list, and you know their IDs.  You can get users by ID from a piece of library code that you cannot change.  However, you cannot check if a user ID is valid: there is no method for it.  Further, the getUser method throws UserIdInvalidException when you try to get a user by an invalid ID.  For you, an invalid ID is not an exceptional circumstance, but the library code assumes it is.  Sadly you might be forced to write something like this:</p>
<blockquote>
<pre>for (id : userIds) {</pre>
<pre>    try {</pre>
<pre>        users.add(UserLib.getUser(id));</pre>
<pre>    }</pre>
<pre>    catch (UserIdInvalidException e) {</pre>
<pre>        // If ID is invalid don't include it on the list</pre>
<pre>    }</pre>
<pre>}</pre>
</blockquote>
<p>It is very rare that you actually can&#8217;t find a better way.  For the most part, consider a catch block like this to be a mistake unless proven otherwise.</p>
<h2>Conclusion</h2>
<p>Forget all these &#8220;always&#8221; and &#8220;never&#8221; rules.  A rule to live by would read more like this:  Exceptions should always be handled as best they can by the code best suited to handle them.</p>
<p>[<a href="http://www.flickr.com/photos/bitzcelt/399136360/">Image credit</a>]</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/incompl?a=DK_Etl0Fm5E:DPkT2EuA3Rk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/incompl?i=DK_Etl0Fm5E:DPkT2EuA3Rk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=DK_Etl0Fm5E:DPkT2EuA3Rk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/incompl?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=DK_Etl0Fm5E:DPkT2EuA3Rk:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/incompl?d=cGdyc7Q-1BI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/incompl/~4/DK_Etl0Fm5E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://incompl.com/2009/exceptional-exceptions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://incompl.com/2009/exceptional-exceptions/</feedburner:origLink></item>
		<item>
		<title>Blog Redesign</title>
		<link>http://feedproxy.google.com/~r/incompl/~3/I9MGZ3oTvZY/</link>
		<comments>http://incompl.com/2009/blog-redesign/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 23:19:43 +0000</pubDate>
		<dc:creator>gsmith</dc:creator>
				<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://incompl.com/?p=401</guid>
		<description><![CDATA[Decided to spruce up the design of this blog.  I wanted texture, and here it is!

Decided to not use any PNG transparency hacks and just let the browser do what it wants with what I throw at it.  As a result, the few visitors that are using IE6 will get less-than-ideal rendering.  I [...]]]></description>
			<content:encoded><![CDATA[<p>Decided to spruce up the design of this blog.  I wanted texture, and here it is!</p>
<p><a href="http://incompl.com/wp-content/uploads/2009/08/screen-capture.png"><img class="alignnone size-medium wp-image-402" title="Incompl Redesign" src="http://incompl.com/wp-content/uploads/2009/08/screen-capture-300x217.png" alt="Incompl Redesign" width="300" height="217" /></a></p>
<p>Decided to not use any PNG transparency hacks and just let the browser do what it wants with what I throw at it.  As a result, the few visitors that are using IE6 will get less-than-ideal rendering.  I may add a &#8220;This page won&#8217;t look right in IE6&#8243; message later.</p>
<p>The background could use some compression optimization as right now it looks a little crappy.  Drop me a line if you have any great suggestions for tools to optimize this kind of image (I have an uncompressed version to work with).</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/incompl?a=I9MGZ3oTvZY:JwzYygezyq4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/incompl?i=I9MGZ3oTvZY:JwzYygezyq4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=I9MGZ3oTvZY:JwzYygezyq4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/incompl?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=I9MGZ3oTvZY:JwzYygezyq4:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/incompl?d=cGdyc7Q-1BI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/incompl/~4/I9MGZ3oTvZY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://incompl.com/2009/blog-redesign/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://incompl.com/2009/blog-redesign/</feedburner:origLink></item>
		<item>
		<title>Discounted at a Higher Price</title>
		<link>http://feedproxy.google.com/~r/incompl/~3/Gy238F_si1E/</link>
		<comments>http://incompl.com/2009/discounted-at-a-higher-price/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 18:22:07 +0000</pubDate>
		<dc:creator>gsmith</dc:creator>
				<category><![CDATA[the web]]></category>
		<category><![CDATA[at&t fail]]></category>

		<guid isPermaLink="false">http://incompl.com/?p=372</guid>
		<description><![CDATA[Check out this gem from the AT&#38;T website.

Wow.  I get no commitment pricing with a 2-year commitment!  And as a valued customer, I get a discounted upgrade at a higher price.
It is like no one even read this to make sure it made sense, or is just doing a terrible job trying to make me [...]]]></description>
			<content:encoded><![CDATA[<p>Check out this gem from the AT&amp;T website.</p>
<p><a href="http://incompl.com/wp-content/uploads/2009/06/attfail.png"><img class="alignnone size-full wp-image-371" title="attfail" src="http://incompl.com/wp-content/uploads/2009/06/attfail.png" alt="attfail" width="502" height="238" /></a></p>
<p>Wow.  I get no commitment pricing with a 2-year commitment!  And as a valued customer, I get a discounted upgrade at a higher price.</p>
<p>It is like no one even read this to make sure it made sense, or is just doing a terrible job trying to make me feel like their miserable offer is a favor of some kind.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/incompl?a=Gy238F_si1E:lFk0lv473LU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/incompl?i=Gy238F_si1E:lFk0lv473LU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=Gy238F_si1E:lFk0lv473LU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/incompl?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=Gy238F_si1E:lFk0lv473LU:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/incompl?d=cGdyc7Q-1BI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/incompl/~4/Gy238F_si1E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://incompl.com/2009/discounted-at-a-higher-price/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://incompl.com/2009/discounted-at-a-higher-price/</feedburner:origLink></item>
		<item>
		<title>June Link Dump</title>
		<link>http://feedproxy.google.com/~r/incompl/~3/p58S9yfru8M/</link>
		<comments>http://incompl.com/2009/june-link-dump-2/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 19:21:01 +0000</pubDate>
		<dc:creator>gsmith</dc:creator>
				<category><![CDATA[link dump]]></category>

		<guid isPermaLink="false">http://incompl.com/?p=349</guid>
		<description><![CDATA[
This pattern creator is neat, but I&#8217;m curious about their use of Creative Commons. Can (or should) you really apply a Creative Commons license to the output of this kind of tool? To me it seems akin to if Adobe said that they have a license for anything you create with Photoshop.
For a long time, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://incompl.com/wp-content/uploads/2009/06/batmanlives.jpg"><img class="alignright size-full wp-image-354" title="batmanlives" src="http://incompl.com/wp-content/uploads/2009/06/batmanlives.jpg" alt="batmanlives" width="278" height="415" /></a></p>
<p><a href="http://repper.studioludens.com/">This pattern creator</a> is neat, but I&#8217;m curious about their use of <a href="http://creativecommons.org/">Creative Commons</a>. Can (or should) you really apply a Creative Commons license to the output of this kind of tool? To me it seems akin to if Adobe said that they have a license for anything you create with Photoshop.</p>
<p>For a long time, e-commerce sites were prohibitively annoying to set up. <a href="http://blog.weebly.com/2/post/2009/05/announcing-weebly-e-commerce-features.html">Weebly&#8217;s new features</a> are one of the reasons that this is no longer the case.</p>
<p>Speaking of CMSs, I like the idea of hosted CMSs designed for a particular type of site. <a href="http://www.enjin.com/">Enjin</a> is a gaming CMS that understands what their audience wants and focuses on doing that really well.</p>
<p><a href="http://www.shapeways.com/">3D items made to your specification</a>? I&#8217;m pretty sure everyone has wanted this service to exist at one point or another.</p>
<p>I admit to being a fan of interactive fiction. And <a href="http://www.infocom-if.org/downloads/downloads.html">Zork</a> is free now, so hooray!</p>
<p>I enjoy  <a href="http://imgur.com/LU8pX.jpg">careful timing in re-purposed comics</a> and <a href="http://www.polkaswithpugs.com/s9/uploads/greathamster.jpg">blob rodents</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/incompl?a=p58S9yfru8M:hP6mfiOb8cQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/incompl?i=p58S9yfru8M:hP6mfiOb8cQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=p58S9yfru8M:hP6mfiOb8cQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/incompl?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=p58S9yfru8M:hP6mfiOb8cQ:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/incompl?d=cGdyc7Q-1BI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/incompl/~4/p58S9yfru8M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://incompl.com/2009/june-link-dump-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://incompl.com/2009/june-link-dump-2/</feedburner:origLink></item>
		<item>
		<title>My Free Diaper</title>
		<link>http://feedproxy.google.com/~r/incompl/~3/FMPTSd_9duE/</link>
		<comments>http://incompl.com/2009/my-free-diaper/#comments</comments>
		<pubDate>Mon, 11 May 2009 23:55:14 +0000</pubDate>
		<dc:creator>gsmith</dc:creator>
				<category><![CDATA[digression]]></category>

		<guid isPermaLink="false">http://incompl.com/?p=339</guid>
		<description><![CDATA[I&#8217;m not planning on having any kids anytime soon, so this is a bizarre mistake.  Wonder if anyone has had a serious freak-out as a result of this kind of thing.

]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not planning on having any kids anytime soon, so this is a bizarre mistake.  Wonder if anyone has had a serious freak-out as a result of this kind of thing.</p>
<p><a href="http://incompl.com/wp-content/uploads/2009/05/img_0942.jpg"><img class="alignnone size-full wp-image-340" title="my free diaper" src="http://incompl.com/wp-content/uploads/2009/05/img_0942.jpg" alt="my free diaper" width="504" height="378" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/incompl?a=FMPTSd_9duE:fwX-qCEVBzM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/incompl?i=FMPTSd_9duE:fwX-qCEVBzM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=FMPTSd_9duE:fwX-qCEVBzM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/incompl?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=FMPTSd_9duE:fwX-qCEVBzM:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/incompl?d=cGdyc7Q-1BI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/incompl/~4/FMPTSd_9duE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://incompl.com/2009/my-free-diaper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://incompl.com/2009/my-free-diaper/</feedburner:origLink></item>
		<item>
		<title>Clever, Lazy, Industrious, Stupid</title>
		<link>http://feedproxy.google.com/~r/incompl/~3/DoeyHkorn1A/</link>
		<comments>http://incompl.com/2009/clever-lazy-industrious-stupid/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 21:25:19 +0000</pubDate>
		<dc:creator>gsmith</dc:creator>
				<category><![CDATA[digression]]></category>

		<guid isPermaLink="false">http://incompl.com/?p=328</guid>
		<description><![CDATA[
&#8220;I divide my officers into four classes; the clever, the lazy, the industrious, and the stupid. Each officer possesses at least two of these qualities. Those who are clever and industrious are fitted for the highest staff appointments. Use can be made of those who are stupid and lazy. The man who is clever and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://incompl.com/wp-content/uploads/2009/04/german-soldiers.jpg"><img class="alignright size-medium wp-image-330" title="german-soldiers" src="http://incompl.com/wp-content/uploads/2009/04/german-soldiers-274x300.jpg" alt="german-soldiers" width="274" height="300" /></a></p>
<p><em>&#8220;I divide my officers into four classes; the clever, the lazy, the industrious, and the stupid. Each officer possesses at least two of these qualities. Those who are clever and industrious are fitted for the highest staff appointments. Use can be made of those who are stupid and lazy. The man who is clever and lazy however is for the very highest command; he has the temperament and nerves to deal with all situations. But whoever is stupid and industrious is a menace and must be removed immediately!&#8221;</em></p>
<p>Kurt von Hammerstein-Equord<em> </em>in<em> Truppenführung</em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/incompl?a=DoeyHkorn1A:wqbwscJ8lgw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/incompl?i=DoeyHkorn1A:wqbwscJ8lgw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=DoeyHkorn1A:wqbwscJ8lgw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/incompl?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=DoeyHkorn1A:wqbwscJ8lgw:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/incompl?d=cGdyc7Q-1BI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/incompl/~4/DoeyHkorn1A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://incompl.com/2009/clever-lazy-industrious-stupid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://incompl.com/2009/clever-lazy-industrious-stupid/</feedburner:origLink></item>
		<item>
		<title>GameFly’s Short but Sweet Survey</title>
		<link>http://feedproxy.google.com/~r/incompl/~3/FZgP0m4KNDs/</link>
		<comments>http://incompl.com/2009/gameflys-short-but-sweet-survey/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 20:09:14 +0000</pubDate>
		<dc:creator>gsmith</dc:creator>
				<category><![CDATA[the web]]></category>

		<guid isPermaLink="false">http://incompl.com/?p=317</guid>
		<description><![CDATA[I have never filled out a product survey.  Until today.  Let&#8217;s look at why this one is so good:

This survey is:

Short.  From just a glance I can tell I am 1 click away from finishing the survey.  The start of a survey of unknown length that scrolls off the page is far less inviting.
Relevant to [...]]]></description>
			<content:encoded><![CDATA[<p>I have never filled out a product survey.  Until today.  Let&#8217;s look at why this one is so good:</p>
<p><a href="http://incompl.com/wp-content/uploads/2009/04/gameflysurvey.png"><img class="alignnone size-full wp-image-318" title="Gamefly Survey" src="http://incompl.com/wp-content/uploads/2009/04/gameflysurvey.png" alt="Gamefly Survey" width="488" height="346" /></a></p>
<p>This survey is:</p>
<ul>
<li><strong>Short</strong>.  From just a glance I can tell I am 1 click away from finishing the survey.  The start of a survey of unknown length that scrolls off the page is far less inviting.</li>
<li><strong>Relevant to my life</strong>.  How quickly games appear in the mail is something I actually care about.</li>
<li><strong>Showing interest</strong>.  It says &#8220;Hey, did you get that game we sent you?&#8221; rather than a less personal &#8220;Rate our service on a scale of 1 to 10.&#8221;</li>
</ul>
<p>In addition to my being pleased with it, I&#8217;m sure <a href="http://www.gamefly.com/">GameFly</a> gets useful data from these.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/incompl?a=FZgP0m4KNDs:nJTkIRvT2z0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/incompl?i=FZgP0m4KNDs:nJTkIRvT2z0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=FZgP0m4KNDs:nJTkIRvT2z0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/incompl?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/incompl?a=FZgP0m4KNDs:nJTkIRvT2z0:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/incompl?d=cGdyc7Q-1BI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/incompl/~4/FZgP0m4KNDs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://incompl.com/2009/gameflys-short-but-sweet-survey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://incompl.com/2009/gameflys-short-but-sweet-survey/</feedburner:origLink></item>
	</channel>
</rss>
