<?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 : Musings</title><link>http://devlicio.us/blogs/christopher_bennage/archive/tags/Musings/default.aspx</link><description>Tags: Musings</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>Lacking Confidence</title><link>http://devlicio.us/blogs/christopher_bennage/archive/2009/08/25/lacking-confidence.aspx</link><pubDate>Tue, 25 Aug 2009 11:47:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:50665</guid><dc:creator>Christopher Bennage</dc:creator><slash:comments>16</slash:comments><description>&lt;p&gt;One of my biggest professional hindrances is a lack of confidence. I don’t have a CS degree. In fact, I have almost zero technical academic training. (My degree is in Religious Studies). In addition, I hang out with a lot of very smart and motivated programming gurus. I tend to judge myself by what they are capable of, and hence I often fail at my own standard. Add this to the fact that we men have fragile egos and it’s not hard to see how I arrive at this lack of confidence.&lt;/p&gt;  &lt;p&gt;Last week Rob and I presented at the Orlando .NET User Group.&amp;#160; Walking back to the car afterwards, I was chatting with &lt;a href="http://scottdensmore.typepad.com/"&gt;Scott Densmore&lt;/a&gt;. He mentioned that he doesn’t blog as much as he would like because he’s not convinced that he has anything of value to say. At first this surprised me. If you know Scott, then you know that he has a lot of interesting things to say. In addition, he’s very good at saying them. However, after a moment’s reflection, I recognized that I think the same thing all the time.&lt;/p&gt;  &lt;h3&gt;What Others Think&lt;/h3&gt;  &lt;p&gt;Despite the fact that I don’t &lt;em&gt;officially&lt;/em&gt; care what others think, I frequently base my actions on the anticipated responses of others. :-P&lt;/p&gt;  &lt;p&gt;I am afraid of failing in front of my peers. This has become evident to me as I have worked on &lt;a href="http://www.nhprof.com/"&gt;NHProfiler&lt;/a&gt;. Ayende is something of a Rock Star in the .NET world (though he may not believe it). I was timid to commit code. He might look it. It would suck and then he would know I was an idiot. I mean, I know that I do dumb things all the time but I didn’t want to let that out.&lt;/p&gt;  &lt;p&gt;That is the wrong attitude. Instead, I need to open and transparent. What’s the worse that can happen? I write some bad code. We have to revert a commit and then I learn how to write better code. (Yeah, this did happen and I lived.)&lt;/p&gt;  &lt;h3&gt;Bias Towards Actions&lt;/h3&gt;  &lt;p&gt;Where am I going with all of this?&lt;/p&gt;  &lt;p&gt;We often talk about the value of &lt;a href="http://en.wikipedia.org/wiki/Fail-fast"&gt;Failing Fast&lt;/a&gt;. We want to surface problems as quickly as possible, so that we are able to address them sooner. We apply this to development tasks, to project management, and even to the way we structure code.&lt;/p&gt;  &lt;p&gt;Too often I have not acted, because I was afraid that I would seem stupid, irrelevant, or inadequate. My advice: don’t be afraid to act. Sure, you might fail but that’s okay. Actually, it’s more than okay. True failure is not in falling down, but in refusing to get back up. If you aren’t failing, then you probably aren’t accomplishing anything.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=50665" width="1" height="1"&gt;</description><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></item><item><title>Thoughts on ALT.NET</title><link>http://devlicio.us/blogs/christopher_bennage/archive/2008/03/15/thoughts-on-alt-net.aspx</link><pubDate>Sat, 15 Mar 2008 21:39:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:39678</guid><dc:creator>Christopher Bennage</dc:creator><slash:comments>6</slash:comments><description>&lt;p&gt;I just listened to &lt;a href="http://www.hanselminutes.com/default.aspx?showID=122" target="_blank"&gt;Scott Hanselman interviewing Dave Laribee&lt;/a&gt; regarding &lt;a href="http://altdotnet.org/" target="_blank"&gt;ALT.NET&lt;/a&gt;. I really like what Dave had to say, and I encourage everyone to go and listen.&amp;nbsp; I&amp;#39;ve been reticent about the ALT.NET movement (aside from my initial surge of enthusiasm.) I&amp;#39;m a bit shy when it comes to controversy, and even though I have strong evangelistic tendencies, I am also quick to shut up. ALT.NET has had its &lt;a href="http://altnetpursefight.blogspot.com/" target="_blank"&gt;share&lt;/a&gt; of &lt;a href="http://samgentile.com/blogs/samgentile/archive/2007/10/06/goodbye-codebetter-and-alt-net.aspx" target="_blank"&gt;controversy&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;&lt;a href="http://devlicious.com/blogs/christopher_bennage/WindowsLiveWriter/ThoughtsonALT.NET_EF75/RWS2-Big_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="92" alt="Now we&amp;#39;re an institution!" src="http://devlicious.com/blogs/christopher_bennage/WindowsLiveWriter/ThoughtsonALT.NET_EF75/RWS2-Big_thumb.png" width="240" align="right" border="0" /&gt;&lt;/a&gt;I really like that Dave said &lt;em&gt;it&amp;#39;s not about the tools, it&amp;#39;s about the principles&lt;/em&gt;.&amp;nbsp; I am frequently asked about &amp;quot;good design&amp;quot; and &amp;quot;best practices&amp;quot;.&amp;nbsp;&amp;nbsp; This is why I&amp;#39;m ALT.NET. (In fact, I have a series of posts on this topic that I intend to start after we&amp;#39;re done with the &lt;a title="Sams Teach Yourself WPF in 24 Hours -- preorder yours today! :-)" href="http://www.amazon.com/Sams-Teach-Yourself-WPF-Hours/dp/0672329859" target="_blank"&gt;book&lt;/a&gt;.)&lt;/p&gt; &lt;p&gt;There&amp;#39;s an item in the interview that I&amp;#39;d like to comment on.&lt;/p&gt; &lt;p&gt;Scott asks (pardon my paraphrasing) why would the hypothetical &lt;a title="Is he (or she) a real person?" href="http://www.nfs.unl.edu/" target="_blank"&gt;Chief Architect of the Nebraska Department of Forestry&lt;/a&gt; have any interest in ALT.NET? The mythical Mort has pressing concerns, he just needs to get work done, why would he care about these conversations, discussions, and principles? Listen to the podcast for Dave&amp;#39;s answer.&amp;nbsp; However, my answer is this: &lt;em&gt;he probably doesn&amp;#39;t care and that&amp;#39;s okay&lt;/em&gt;. I think that ALT.NET is about bringing good design and principle to the forefront.&amp;nbsp; However, good ideas take a while to be adopted, to be democratized.&amp;nbsp; Those who are hungry, we&amp;#39;ll feed.&amp;nbsp; Those who aren&amp;#39;t, we&amp;#39;ll wish them well.&amp;nbsp; No hard feelings. Eventually, the good ideas will be institutionalized and they&amp;#39;ll trickle down. (Have you noticed the &amp;quot;refactor&amp;quot; menu in Visual Studio?) I&amp;#39;m more concerned about convincing the institutions and the thought leaders.&amp;nbsp; (Perhaps &amp;quot;convincing&amp;quot; is the wrong word, ALT.NET is more about &amp;quot;conversing&amp;quot; to me.) That&amp;#39;s why it&amp;#39;s good that ALT.NET is conversing with Microsoft, and that&amp;#39;s also why I&amp;#39;m encouraged to see Microsoft paying attention to things like open source (though I know many people are angry about the kind of attention being paid).&lt;/p&gt; &lt;p&gt;Now go learn &lt;a title="One-Click Ruby Installer for Windows" href="http://rubyinstaller.rubyforge.org/wiki/wiki.pl" target="_blank"&gt;Ruby&lt;/a&gt;!&amp;nbsp; :-)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=39678" 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/Musings/default.aspx">Musings</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/Featured/default.aspx">Featured</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/ALT.NET/default.aspx">ALT.NET</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>You should blog++</title><link>http://devlicio.us/blogs/christopher_bennage/archive/2008/01/29/you-should-blog.aspx</link><pubDate>Tue, 29 Jan 2008 16:02:09 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:39333</guid><dc:creator>Christopher Bennage</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Jeremy Miller recently posted a &lt;a href="http://codebetter.com/blogs/jeremy.miller/archive/2008/01/25/should-i-blog.aspx"&gt;general encouragement&lt;/a&gt; to blog. I&amp;#39;ll add my voice to his and as well as confess that I have avoided posting sometimes out of fear of being stupid.&amp;nbsp; The truth is, I am stupid.&amp;nbsp; But blogging helps me unstupid, so I&amp;#39;m deliberately posting more. &lt;/p&gt; &lt;p&gt;&lt;a title="you should read more Bacon" href="http://en.wikipedia.org/wiki/Francis_Bacon"&gt;Francis Bacon&lt;/a&gt; said:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;b&gt;R&lt;/b&gt;eading maketh a full man, conference a ready man,&lt;br /&gt;and writing an exact man.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Participating in the blogosphere covers all three. &lt;p&gt;Oh, here&amp;#39;s some more &lt;a title="This is really unrelated to anything else." href="http://www.youtube.com/watch?v=IVKJpkq-wNo"&gt;bacon&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=39333" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/Musings/default.aspx">Musings</category></item><item><title>REMIX DAY 1</title><link>http://devlicio.us/blogs/christopher_bennage/archive/2007/10/08/remix-day-1.aspx</link><pubDate>Tue, 09 Oct 2007 03:42:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:38644</guid><dc:creator>Christopher Bennage</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Despite the fact that I got off to a miserable start (walking along the Charles, rain soaked and a bit lost) today was a blast.&lt;/p&gt;
&lt;p&gt;
I got to hear &lt;a href="http://lhotka.net/"&gt;Rockford Lhotka&lt;/a&gt; (of CSLA fame) along with Anthony Handley describe their recent experiences with WPF.  This was cool because they&amp;#39;ve been working on the same kind of project as Rob and I.  It was very affirming.  I mean, it&amp;#39;s kinda of like meeting &lt;i&gt;a rock star&lt;/i&gt; and realizing that he&amp;#39;s practicing the same guitar riffs you are.  :-) &lt;/p&gt;
&lt;p&gt;
We also attended a great session on casual game development in Silverlight by &lt;a href="http://www.andybeaulieu.com/"&gt;Andy Beaulieu&lt;/a&gt;. Andy demonstrated how to build a simple game using Visual Studio and Blend.  I think that&amp;#39;s pretty impressive for one session. I recommend checking out the examples on his site if you are interesting in Silverlight, even if that interest is unrelated to game development.&lt;/p&gt;
&lt;p&gt;
We also caught up with fellow Floridian, &lt;a href="http://www.bluerosegames.com"&gt;Bill Reiss&lt;/a&gt;.  Bill is an XNA MVP, who recently ported &lt;a href="http://www.codeplex.com/FarseerPhysics/Release/ProjectReleases.aspx?ReleaseId=7066"&gt;a popular physics engine&lt;/a&gt; from XNA to Silverlight.  He has a ton of &lt;a href="http://www.bluerosegames.com/brg/xna101.aspx"&gt;XNA tutorials&lt;/a&gt; on his site.  I&amp;#39;m looking forward to pouring over some of his content.
&lt;/p&gt;
&lt;p&gt;Finally, I want to put in a good word for the guys at &lt;a href="http://www.erain.com/"&gt;eRain&lt;/a&gt; (I forgot to ask them their names!)  They were genuinely friendly, and it really excites me to see a company like that being successful. I&amp;#39;m looking forward to seeing ZAM3D and Standout!&lt;/p&gt;
&lt;p&gt;All in all, I can&amp;#39;t say that I &lt;i&gt;learned&lt;/i&gt; much, but I really enjoyed meeting all these techies and sharing their passion. I was a little reluctant to post, because I don&amp;#39;t want to seem like I&amp;#39;m dropping names to be cool.  In the end, I decided to mention all the people that left an impression on me through out the day, not because I want to be cool, but because &lt;i&gt;they are cool&lt;/i&gt; and it&amp;#39;s both good and fun to get a chance to meet them.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=38644" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/WPF/default.aspx">WPF</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/XNA/default.aspx">XNA</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/Musings/default.aspx">Musings</category></item><item><title>Bellware: Classic ASP Syntax is Bad?</title><link>http://devlicio.us/blogs/christopher_bennage/archive/2007/09/23/bellware-classic-asp-syntax-is-bad.aspx</link><pubDate>Sun, 23 Sep 2007 19:08:36 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:38466</guid><dc:creator>Christopher Bennage</dc:creator><slash:comments>7</slash:comments><description>&lt;p&gt;I want to link to Scott Bellware&amp;#39;s &lt;a href="http://codebetter.com/blogs/scott.bellware/archive/2007/09/22/168410.aspx" target="_blank"&gt;post&lt;/a&gt; on attitudes regarding classic ASP. He makes an excellent point, and I agree with him.&lt;/p&gt; &lt;p&gt;About four years ago, I remember telling my former employer about the epic superiority of ASP.NET over classic ASP. I could not deride classic ASP enough.&lt;em&gt; Boy, was I a jerk!&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Now, I don&amp;#39;t want to return to classic ASP, but I have learned to appreciate it again.&amp;nbsp; Just as Scott points out, you can have good code in classic ASP and bad code in ASP.NET (quite easily).&lt;/p&gt; &lt;p&gt;Not too long ago I had to create a classic ASP page for some reason or the other, and I recall thinking being surprised at how simple it was (translate that as &amp;quot;easy&amp;quot;).&amp;nbsp; This reminds a bit of the &lt;a href="http://blogs.msdn.com/nickkramer/archive/2006/11/21/javascript-the-underappreciated-language.aspx" target="_blank"&gt;rediscovery of JavaScript&lt;/a&gt; last year.&lt;/p&gt; &lt;p&gt;So, what&amp;#39;s the point of saying this?&amp;nbsp; I&amp;#39;m not going to starting working with classic ASP again, but the lesson for me is to be more thoughtful in forming my opinions about a technologies. We developers are quite punctilious and we consider our views are as sacrosanct. (I was vividly reminded of this at our Tallahassee Code Camp, as well as being dealt a crushing lesson in humility, but more on that later...)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=38466" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/javascript/default.aspx">javascript</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/Musings/default.aspx">Musings</category></item><item><title>Best Practices, Training, &amp; Tools</title><link>http://devlicio.us/blogs/christopher_bennage/archive/2007/06/18/best-practices-training-tools.aspx</link><pubDate>Mon, 18 Jun 2007 20:44:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:29279</guid><dc:creator>Christopher Bennage</dc:creator><slash:comments>4</slash:comments><description>&lt;p&gt;We were recently contracted to assist a development team in employing some &lt;i&gt;Best Practices&lt;/i&gt;.&amp;nbsp; Specifically, they were interested in learning Agile.&lt;/p&gt; &lt;p&gt;We began by speaking with the developers and managers to try to determine what would benefit them the most.&amp;nbsp; We were only given three weeks to teach/guide/coach, and we knew that we could easily overwhelm them and thus provide no value.&lt;/p&gt; &lt;p&gt;After the initial exploration, we decided to focus these ideas:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;TDD\BDD&lt;/li&gt; &lt;li&gt;O\R M&lt;/li&gt; &lt;li&gt;MVC/MVP (they have a focus on Web development)&lt;/li&gt; &lt;li&gt;Iterations, User Stories, Planning Game, etc.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;We were also sprinkling bits of Domain-Driven Design through-out.&lt;/p&gt; &lt;p&gt;What surprised me about this experience is that fact that I &lt;i&gt;could not &lt;/i&gt;teach these concepts without discussing the supporting tools.&amp;nbsp; Maybe this seem strikingly obvious, but it did not occur to me until we were outlining the agenda for our daily training sessions.&amp;nbsp; It went something like this:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Monday, &lt;a href="http://www.codeproject.com/useritems/ModelViewPresenter.asp" title="thanks Billy" target="_blank"&gt;MVP &amp;amp; WebForms&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Tuesday, MVC&amp;nbsp; &amp;amp; MonoRail&lt;/li&gt; &lt;li&gt;Wednesday, &lt;a href="http://nspecify.sourceforge.net/" title="Behavior Driven Development" target="_blank"&gt;NSpecify&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Thursday, NHibernate&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Ayende already hit on&amp;nbsp;&lt;a href="http://www.ayende.com/Blog/archive/2007/06/03/Domain-Driven-on-Naked-CLR.aspx" title="Domain Driven on Naked CLR?" target="_blank"&gt;this idea&lt;/a&gt;, but I guess that it did not sink in for me. I love these tools, but I just wish that they were not so conspicuous in what I consider to be a &lt;i&gt;&lt;a href="http://laribee.com/blog/2007/04/10/altnet/" title="I'm ALT.NET, but I don't mean to be!" target="_blank"&gt;better way of doing software development&lt;/a&gt;&lt;/i&gt;.&lt;/p&gt; &lt;p&gt;...&lt;/p&gt; &lt;p&gt;It occurred to me later that some future generation of developers will very rarely think about all of this, in the same way that I so infrequently think about memory management and garbage collection.&amp;nbsp; I believe we are in a transition (and maybe it's always in transit).&amp;nbsp; Best Practices are always trickling their way down lower and lower into the stack, as Software Development moves from &lt;i&gt;combing letters into words&lt;/i&gt; towards &lt;i&gt;writing poetry&lt;/i&gt;.&lt;/p&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=29279" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/development+tools/default.aspx">development tools</category><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/XP/default.aspx">XP</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/TDD/default.aspx">TDD</category><category domain="http://devlicio.us/blogs/christopher_bennage/archive/tags/Musings/default.aspx">Musings</category></item></channel></rss>