<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://devlicio.us/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Christopher Bennage : humor</title><link>http://devlicio.us/blogs/christopher_bennage/archive/tags/humor/default.aspx</link><description>Tags: humor</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>What I Learned Playing StarCraft</title><link>http://devlicio.us/blogs/christopher_bennage/archive/2011/01/30/what-i-learned-playing-starcraft.aspx</link><pubDate>Mon, 31 Jan 2011 02:13:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:64869</guid><dc:creator>Christopher Bennage</dc:creator><slash:comments>3</slash:comments><description>&lt;p&gt;On March 31, 1998, around 10am, my then-manager Alex and I left the office we shared together and headed over to Electronics Boutique. Alex and I were both developers working for the IT department of an up and coming software company called PC DOCS. In those days, we didn’t have a corporate firewall. My desktop was a node on the internet. In fact, I was running a web server on it. A bunch of us would stay late after work, barricaded in other peoples’ cubicles, all phones on speaker, playing WarCraft II and Quake. Those were halcyon days. I was just about to turn 23. I was just about to get married.&lt;/p&gt;  &lt;p&gt;Alex and I had headed to EB because it was Release Day for StarCraft. I don’t think that I had ever been so excited about a video game. Well, maybe once but that’s another story…&lt;/p&gt;  &lt;p&gt;A few months ago, StarCraft 2 was released. While there wasn’t as personal ceremony this time, I still purchased it on Release Day.&lt;/p&gt;  &lt;p&gt;This time around I decided to &lt;em&gt;really&lt;/em&gt; learn how to play the game. In case you are unaware, StarCraft is huge. There are &lt;a href="http://en.wikipedia.org/wiki/StarCraft_professional_competition" target="_blank"&gt;televised tournaments, professional players, and so on&lt;/a&gt;. In many ways, it’s analogous to chess. As I began to learn more about it, I found that there are certain tenets of gameplay and, as I mused on these, I found that they extend to life in general (though I’ll limit them here to a professional context).&lt;/p&gt;  &lt;h3&gt;The First Lesson&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://devlicious.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/christopher_5F00_bennage/ss107_2D00_hires_5F00_06905021.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px 0px 0px 4px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="ss107-hires" border="0" alt="ss107-hires" align="right" src="http://devlicious.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/christopher_5F00_bennage/ss107_2D00_hires_5F00_thumb_5F00_2566C3FF.jpg" width="300" height="162" /&gt;&lt;/a&gt;In the game, there are a dizziness amount of options. Your opponent can overwhelm you with astounding ease if you are unprepared for their particular tactic. So you might be inclined to try and prepare for all contingencies. But guess what? You can’t. You will end up spending all of your resources ‘preparing’. You think that this aligns with your overarching goal, but in reality it is a distraction.&lt;/p&gt;  &lt;p&gt;Professionally, we are given a goal: build software that will do &lt;strong&gt;X&lt;/strong&gt;. As developers we typically and immediately begin thinking about all the ‘what ifs’. Usually because we’ve been burned by them in the past. &lt;strong&gt;X&lt;/strong&gt; is still in sight, but there is a long road to get to there, because we have to deal with Y and Z and so many other things. We have to be prepared.&lt;/p&gt;  &lt;p&gt;The truth is that you &lt;em&gt;cannot&lt;/em&gt; be prepared for everything. It is actually a waste of energy and a distraction from your real goal. In the game of StarCraft, if you try to prepare for everything, you &lt;em&gt;will&lt;/em&gt; lose. Instead, you must choose your battles. &lt;/p&gt;  &lt;h3&gt;The Second Lesson&lt;/h3&gt;  &lt;p&gt;How do you know which battles to choose? Surely a battle is coming. There are always problems in every project. You can’t simply be &lt;em&gt;unprepared&lt;/em&gt;. That’s suicide.&lt;/p&gt;  &lt;p&gt;In StarCraft, the answer is scouting. That is, you gather intelligence about what the enemy is doing. Once you know, then you can prepare properly and efficiently.&lt;/p&gt;  &lt;p&gt;Recently, I was asked about some performance concerns at the start of a project. Now, I have been seriously burned by performance issues. In fact, one of the worst software disasters I was a part of was a performance issue. Nevertheless, the concerns raised with granular and premature. As Donald Knuth said “&lt;a href="http://c2.com/cgi/wiki?PrematureOptimization" target="_blank"&gt;premature optimization is the root of all evil&lt;/a&gt;”. Now, I am most emphatically &lt;em&gt;not&lt;/em&gt; saying to avoid optimization. What I am saying is to scout, gathering intelligence and responding accordingly.&lt;/p&gt;  &lt;h3&gt;A Summary&lt;/h3&gt;  &lt;p&gt;I’ll sum up these two thoughts:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Don’t waste time on things you don’t need.&lt;/li&gt;    &lt;li&gt;Find out what you need through active analysis.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;None of this is new. In fact, you see pretty much the same things preached all over. I hear it in &lt;a title="Never Add Functionality Early." href="http://www.extremeprogramming.org/rules/early.html" target="_blank"&gt;XP&lt;/a&gt;, I hear it in Agile, I hear it in StarCraft.&lt;/p&gt;  &lt;h3&gt;Epilogue&lt;/h3&gt;  &lt;p&gt;I’m reminded of a passage from &lt;a href="http://www.gutenberg.org/cache/epub/1718/pg1718.html" target="_blank"&gt;G. K. Chesterton’s Manalive&lt;/a&gt; (chapter 3):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;Well,&amp;quot; said the girl solidly, &amp;quot;what is there to wake up to?&amp;quot;&lt;/p&gt;    &lt;p&gt;&amp;quot;There must be!&amp;quot; cried Inglewood, turning round in a singular excitement—&amp;quot;there must be something to wake up to! All we do is preparations—your cleanliness, and my healthiness, and Warner&amp;#39;s scientific appliances. We&amp;#39;re always preparing for something—something that never comes off. I ventilate the house, and you sweep the house; but what is going to HAPPEN in the house?&amp;quot;&lt;/p&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=64869" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/Agile/default.aspx">Agile</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/humor/default.aspx">humor</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/Musings/default.aspx">Musings</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/Opinion/default.aspx">Opinion</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/PointlessStory/default.aspx">PointlessStory</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/gaming/default.aspx">gaming</category></item><item><title>a method to the madness?</title><link>http://devlicio.us/blogs/christopher_bennage/archive/2008/12/13/a-method-to-the-madness.aspx</link><pubDate>Sat, 13 Dec 2008 21:50:08 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:43404</guid><dc:creator>Christopher Bennage</dc:creator><slash:comments>0</slash:comments><description>&lt;pre class="rb:nogutter:nocontrols" name="code"&gt;class Madness
 def method_missing(method, *args)
  nil
 end
end&lt;/pre&gt;

&lt;p&gt;In full disclosure, my ruby is all stinky bad. I solicited this joke from my good friend Jeremy Walworth (founder of the internationally renown website, &lt;a href="http://www.hairforecast.com/"&gt;hairforecast.com&lt;/a&gt;.)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=43404" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/humor/default.aspx">humor</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/ruby/default.aspx">ruby</category></item><item><title>Dubious Honors</title><link>http://devlicio.us/blogs/christopher_bennage/archive/2008/11/18/dubious-honors.aspx</link><pubDate>Tue, 18 Nov 2008 22:59:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:43122</guid><dc:creator>Christopher Bennage</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;&lt;em&gt;Update:&lt;/em&gt; With striking proof that I&amp;#39;m dense and a Developer of Little Brain, Andrew points out that the results are sorted by &lt;strong&gt;date added.&lt;/strong&gt; :- P&lt;/p&gt;

&lt;p&gt;On at least one torrent search site, our book is the #2 item when you search for WPF. Not searching for &amp;quot;WPF book&amp;quot;, just &amp;quot;WPF&amp;quot;. Rock on.&lt;img style="border-right:0px;border-top:0px;margin:8px 8px 0px;border-left:0px;border-bottom:0px;" height="255" alt="piratedbook" src="http://devlicious.com/blogs/christopher_bennage/WindowsLiveWriter/DubiousHonors_FC35/piratedbook_3.png" width="470" border="0" /&gt;&lt;/p&gt; &lt;p&gt;I have an alert setup that notifies me every time the book title is indexed on Google. There&amp;#39;s an new pirating (free books!) link about once a week. &lt;/p&gt; &lt;p&gt;If only I had a positive review for each site! :-)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=43122" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/humor/default.aspx">humor</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/Opinion/default.aspx">Opinion</category></item><item><title>Error Message UX Fail</title><link>http://devlicio.us/blogs/christopher_bennage/archive/2008/08/18/error-message-ux-fail.aspx</link><pubDate>Mon, 18 Aug 2008 20:25:22 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:41877</guid><dc:creator>Christopher Bennage</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I encountered this nugget while signing up to get developer access to a &lt;span&gt;certain high profile web-based service&lt;/span&gt;. It turns out that my first choice for a password did not meet the site&amp;#39;s policy and I greeted with this:&lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="221" alt="stupid_tiny_warning" src="http://devlicious.com/blogs/christopher_bennage/WindowsLiveWriter/9f44448b2196_DB75/stupid_tiny_warning_3.png" width="577" border="0" /&gt; &lt;/p&gt; &lt;p&gt;&lt;em&gt;This is puts a big capital S in front of &lt;/em&gt;&lt;a href="http://en.wikipedia.org/wiki/User_experience" target="_blank"&gt;&lt;em&gt;UX&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=41877" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/humor/default.aspx">humor</category></item><item><title>Why Red Gate Rocks</title><link>http://devlicio.us/blogs/christopher_bennage/archive/2008/08/08/why-red-gate-rocks.aspx</link><pubDate>Sat, 09 Aug 2008 03:36:40 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:41772</guid><dc:creator>Christopher Bennage</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;I&amp;#39;ve been working with the eap release of &lt;a href="http://www.red-gate.com/products/ants_profiler/index.htm" target="_blank"&gt;ANTS Performance Profiler&lt;/a&gt; from Red Gate. While I don&amp;#39;t have a lot of experience with other tools of this nature, I&amp;#39;ve been pretty impressed.&lt;/p&gt; &lt;p&gt;My intention was to hold off and blog a full review after I&amp;#39;ve had to time to &lt;em&gt;really&lt;/em&gt; use the application, but today my installed version expired and I just had to share the notification message I received:&lt;/p&gt; &lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Dead_parrot" target="_blank"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="289" alt="I&amp;#39;m lovin&amp;#39; these guys" src="http://devlicious.com/blogs/christopher_bennage/WindowsLiveWriter/WhyRedGateRocks_149FB/red-gate-rocks_3.png" width="623" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Every tool I used from these guys just plain rocks, I should really do them more justice by blogging about it.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;: I am a &lt;a href="http://codebetter.com/blogs/products/pages/64386.aspx" target="_blank"&gt;Friend of Red Gate&lt;/a&gt;, and I get free licenses for their tools.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=41772" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/humor/default.aspx">humor</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/Opinion/default.aspx">Opinion</category></item><item><title>VS2008 Demo Challenge</title><link>http://devlicio.us/blogs/christopher_bennage/archive/2008/02/12/vs2800-demo-challenge.aspx</link><pubDate>Tue, 12 Feb 2008 15:27:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:39439</guid><dc:creator>Christopher Bennage</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Last week or so, I stumbled on to the site for the &lt;a href="http://vsdemo.defyallchallenges.com/gallery.aspx" target="_blank"&gt;Visual Studio 2008 Demo Challenge&lt;/a&gt;. The gist of the contest is to make a video explaining why VS 2008 is great, and then win stuff. Your video is played backed in a Silverlight app that your host at silverlight.live.com.&lt;/p&gt; &lt;p&gt;So I make a video, and I think it&amp;#39;s pretty funny.&amp;nbsp; I setup an app with &lt;a title="the terse tutorial on using Expression Encoder to make a Silverlight player" target="_blank"&gt;Expression Encoder&lt;/a&gt;, and I&amp;#39;m feeling great.&amp;nbsp; I go to submit the video on the contest site and ... &lt;em&gt;nothing&lt;/em&gt;. The site seems broken, which would explain the lack of videos in the gallery. (I had a bad feeling about the absence of competition.)&lt;/p&gt; &lt;p&gt;I just don&amp;#39;t have good luck with Microsoft contests. &lt;strong&gt;:-(&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href="http://bluespire.com/VS2008demo.html"&gt;Click here to watch the video.&lt;/a&gt; You&amp;#39;ll need &lt;a title="install the goodness here!" href="http://www.microsoft.com/silverlight/install.aspx" target="_blank"&gt;Silverlight 1.0&lt;/a&gt; to view it.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Update:&lt;/em&gt; I just heard that the contest died. Would someone still like to give me an Xbox for kicks? :-)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=39439" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/humor/default.aspx">humor</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/Musings/default.aspx">Musings</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/Expression/default.aspx">Expression</category></item><item><title>Silverlight: Looking Back to 1996</title><link>http://devlicio.us/blogs/christopher_bennage/archive/2007/04/23/silverlight-looking-back-to-1996.aspx</link><pubDate>Mon, 23 Apr 2007 13:46:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:22975</guid><dc:creator>Christopher Bennage</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Everyone is talking about the name change of WPF/E to &lt;a href="http://www.microsoft.com/silverlight/" title="Fancy schmancy page introducing Silverlight"&gt;Silverlight&lt;/a&gt;.&amp;nbsp; If you don't know anything about it, then you've probably have been under a rock.&lt;/p&gt; &lt;p&gt;Anyway, I thought some &lt;a href="http://en.wikipedia.org/wiki/Adobe_Flash#History_.28Authoring_tool.29" title="history of Flash" target="_blank"&gt;historical reflection&lt;/a&gt; might prove insightful.&amp;nbsp; As we all know, Silverlight is Microsoft's answer to Flash.&amp;nbsp; The first version of Flash was released in the spring of 1996, and was originally named &lt;i&gt;FutureSplash&lt;/i&gt;.&lt;/p&gt; &lt;p&gt;If Microsoft's new product follows the same trend of shedding excess syllables, will the second release be called &lt;i&gt;Slight&lt;/i&gt;?&lt;/p&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=22975" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/Flash/default.aspx">Flash</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/humor/default.aspx">humor</category></item></channel></rss>