<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Greg McKinley.com</title><subtitle type="html" /><id>http://gregmckinley.com/cs/blog/atom.aspx</id><link rel="alternate" type="text/html" href="http://gregmckinley.com/cs/blog/default.aspx" /><link rel="self" type="application/atom+xml" href="http://gregmckinley.com/cs/blog/atom.aspx" /><generator uri="http://communityserver.org" version="2.0.60217.2664">Community Server</generator><updated>2006-07-05T09:04:00Z</updated><entry><title>Vista disk space</title><link rel="alternate" type="text/html" href="http://gregmckinley.com/cs/blog/archive/2007/09/14/94.aspx" /><id>http://gregmckinley.com/cs/blog/archive/2007/09/14/94.aspx</id><published>2007-09-15T00:40:00Z</published><updated>2007-09-15T00:40:00Z</updated><content type="html">Just this morning I was in file explorer and I realized I only had 13.5GB of disk space available.  Oops, not the way to start your day with a three month old laptop. A quick &lt;a href="http://www.google.com/search?hl=en&amp;amp;q=vista+disk+space"&gt;Google&lt;/a&gt; search pointed me to vssadmin.&amp;nbsp; Then some general house cleaning including; clearing my event logs, temp files, etc and I freed up about 9 GB.  Still not great but a heck of a lot better than before.  Anybody else know of any Vista disk space hogs?
&lt;br&gt;&lt;br&gt;
&lt;a href="http://www.watchingthenet.com/how-to-reduce-disk-space-used-by-windows-vista-system-restore.html"&gt;How To Reduce Disk Space Used By Windows Vista System Restore&lt;/a&gt;&lt;img src="http://gregmckinley.com/cs/aggbug.aspx?PostID=94" width="1" height="1"&gt;</content><author><name>gmckinley</name><uri>http://gregmckinley.com/cs/members/gmckinley.aspx</uri></author></entry><entry><title>Maintaining Development Momentum</title><link rel="alternate" type="text/html" href="http://gregmckinley.com/cs/blog/archive/2007/08/10/92.aspx" /><id>http://gregmckinley.com/cs/blog/archive/2007/08/10/92.aspx</id><published>2007-08-10T17:45:00Z</published><updated>2007-08-10T17:45:00Z</updated><content type="html">&lt;div align="left"&gt;
		&lt;div class="OuterBorder"&gt;
		&lt;span class="InnerBorder"&gt;
		&lt;img src="http://www.gregmckinley.com/images/baton.jpg" height="115" width="155"&gt;
		&lt;/span&gt;
		&lt;p&gt;New development is self fueling.  Momentum is rarely a problem early off.  The team is hungry to transform their ideas into code.  Then as the refactoring and development proceeds design flaws begin to emerge and revisions being to happen.  Depending on the severity of the problem it may be corrected in the current iteration or queued up for a future iteration.  Working through these scenarios is what builds team cohesion.  Overcoming design hurdles and major refactoring provides fulfillment and gratification for the team. The code base was solid before but now it is even better!
		&lt;br&gt;&lt;br&gt;
		Iterations pass and depending on the size of the overall project the team may grow tired.  During the early iterations when the energy levels are high you need to build up endurance and set the pace.  I love to go full bore but that kind of pace cannot be sustained.  This is why development teams needs to be thought of as a relay team running a &lt;a href="http://en.wikipedia.org/wiki/Relay_race"&gt;relay race&lt;/a&gt;.  Staggering iterations, or legs of a relay, among the team allows individuals "to pass the baton" and rotate off the critical path.  This allows you to formulate strategies, based on your team’s strengths, for the upcoming iterations and keeping the team energized.
		&lt;br&gt;&lt;br&gt;
		&lt;b&gt;A few momentum killers&lt;/b&gt;
		&lt;br&gt;
		Disengaging the team or individual members for fire drill exercises are the single biggest momentum killer.  Most iterations only last a couple of weeks.   Management may try to pull people from an iteration to perform another task.  From a managers viewpoint the individual completed their work for the iteration so pulling them to tend to another task makes sense.  We all know this should not happen but it does and it will happen.
		&lt;br&gt;&lt;br&gt;
		The nature of iterative development usually means subsequent iterations become more complicated and the pressure and stakes are higher.  This occurs for an obvious reason: increased functionality of the code base.  Do not allow yourself to under estimate iterations under pressure from above.  This will happen and create additional stress for the team.
		&lt;/p&gt;
		&lt;p&gt;
		&lt;b&gt;It's all about teamwork&lt;/b&gt;
		&lt;br&gt;
		Here are a few key guidelines I follow.
		&lt;br&gt;
		&lt;table&gt;
		&lt;tr&gt;
		&lt;td&gt;• &lt;/td&gt;
		&lt;td&gt;Have fun with your work.  Smile and laughter keeps stress to a minimum and keeps you approachable to your team members.&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
		&lt;td&gt;• &lt;/td&gt;
		&lt;td&gt;Lead by example.  This kind of behavior is contagious.&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
		&lt;td&gt;• &lt;/td&gt;
		&lt;td&gt;If you are a lead, stay involved as a code contributor.&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
		&lt;td&gt;• &lt;/td&gt;
		&lt;td&gt;Make time for creativity.  Don't schedule individuals with mundane tasks back-to-back.  Their enthusiasm will begin to drop.  Keep it mixed up.&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
		&lt;td&gt;• &lt;/td&gt;
		&lt;td&gt;Make sure everyone has weekly goals/deliverables.  Everyone should be working to contribute a piece of the puzzle on a weekly basis.&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
		&lt;td&gt;• &lt;/td&gt;
		&lt;td&gt;Work as a team.  Keep everyone engaged and involved in the decision making process.  Collective code ownership.&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
		&lt;td&gt;• &lt;/td&gt;
		&lt;td&gt;Pair program liberally.  When working on complex algorithms or refactoring code work in pairs.  The creativity can really flow.&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
		&lt;td&gt;• &lt;/td&gt;
		&lt;td&gt;Police each other. Multiple people should have an understanding and contribute to functionality across the code base. Two or three minds work better than one.&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
		&lt;td&gt;• &lt;/td&gt;
		&lt;td&gt;Track project metrics from the start.  These metrics are vital to estimating future iterations.  Use these metrics to back up your estimates and keep the team out of the pressure cooker.&lt;/td&gt;
		&lt;/tr&gt;
		&lt;/table&gt;
		&lt;/p&gt;&lt;/div&gt;
		&lt;/div&gt;&lt;img src="http://gregmckinley.com/cs/aggbug.aspx?PostID=92" width="1" height="1"&gt;</content><author><name>gmckinley</name><uri>http://gregmckinley.com/cs/members/gmckinley.aspx</uri></author></entry><entry><title>Pair Programming: my definition</title><link rel="alternate" type="text/html" href="http://gregmckinley.com/cs/blog/archive/2007/08/03/91.aspx" /><id>http://gregmckinley.com/cs/blog/archive/2007/08/03/91.aspx</id><published>2007-08-03T14:18:00Z</published><updated>2007-08-03T14:18:00Z</updated><content type="html">&lt;P&gt;Without looking at how so many others have define pair programming.  &lt;TABLE align="right"&gt;&lt;TR&gt;&lt;TD&gt;&lt;img src="http://www.gregmckinley.com/images/DSC01744.jpg" alt="Pair Programming w/Nikola" title="Pair Programming w/Nikola" width="225" height="" border="3" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;I&gt;Pair programming with &lt;A href="http://community.vuscode.com/"&gt;Nikola&lt;/A&gt;&lt;/I&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt; Here is my authoritative definition, &lt;I&gt;&lt;B&gt;"Combined mind power seated in front of a computer to solve a difficult problem that should not be solved by only one.&lt;/B&gt;&lt;/I&gt;
&lt;/P&gt;
&lt;P&gt; Well, I can't resist one reference &lt;A href="http://www.xprogramming.com/xpmag/whatisxp.htm#pair"&gt;Ron Jeffries&lt;/A&gt;. On the off chance this is the first time you have ever heard the term pair programming :-)&lt;/P&gt;&lt;img src="http://gregmckinley.com/cs/aggbug.aspx?PostID=91" width="1" height="1"&gt;</content><author><name>gmckinley</name><uri>http://gregmckinley.com/cs/members/gmckinley.aspx</uri></author></entry><entry><title>Visual Studio 2008 Tips</title><link rel="alternate" type="text/html" href="http://gregmckinley.com/cs/blog/archive/2007/08/01/89.aspx" /><id>http://gregmckinley.com/cs/blog/archive/2007/08/01/89.aspx</id><published>2007-08-01T16:14:00Z</published><updated>2007-08-01T16:14:00Z</updated><content type="html">&lt;TABLE class="CoffeeTable"&gt;
&lt;TR&gt;
	&lt;TD&gt;I have been on a low blog diet but I think I may give Sara's &lt;A href="http://blogs.msdn.com/saraford/archive/tags/Visual+Studio+2008+Tip+of+the+Day/default.aspx"&gt;Visual Studio 2008 Tip of the Day&lt;/A&gt; a try for the next few weeks.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TABLE&gt;&lt;img src="http://gregmckinley.com/cs/aggbug.aspx?PostID=89" width="1" height="1"&gt;</content><author><name>gmckinley</name><uri>http://gregmckinley.com/cs/members/gmckinley.aspx</uri></author></entry><entry><title>Career goals for the next 6 months</title><link rel="alternate" type="text/html" href="http://gregmckinley.com/cs/blog/archive/2007/08/01/88.aspx" /><id>http://gregmckinley.com/cs/blog/archive/2007/08/01/88.aspx</id><published>2007-08-01T15:57:00Z</published><updated>2007-08-01T15:57:00Z</updated><content type="html">&lt;p&gt; It is interesting timing that &lt;a href="http://jasonhaley.com/blog/archive/2007/07/28/140075.aspx"&gt;Jason Haley&lt;/a&gt; tagged me about career goals.  I just finished up a six month project that consumed all my time.  The astute will notice my blog has been quite for a similar amount of time.&lt;a href="http://cultivategreatness.com/2007/04/25/6-dangerous-reasons-people-do-not-set-goals-and-never-succeed"&gt;&lt;img src="http://www.cultivategreatness.com/assets/goals.jpg" alt="goals" class="right" align="right" width="225"&gt;&lt;/a&gt; Before I can define my future six month goals I need to digest what I learned/accomplished over the last six months:
		&lt;/p&gt;
		&lt;p&gt;
			&lt;table class="CoffeeTable"&gt;&lt;tr&gt;
				&lt;td&gt;1.&amp;nbsp;&lt;/td&gt;&lt;td&gt;
				&lt;/td&gt;&lt;td&gt;Worked with Commerce Server API. Specifically profile, catalog, and order management sub-systems.&lt;/td&gt;&lt;/tr&gt;
			&lt;/table&gt;
			&lt;table class="CoffeeTable"&gt;&lt;tr&gt;
				&lt;td&gt;2.&amp;nbsp;&lt;/td&gt;&lt;td&gt;
				&lt;/td&gt;&lt;td&gt;Full-blown development on virtual machines using VMware. Started out with Virtual PC but switched to VMware and have not looked back.&lt;/td&gt;&lt;/tr&gt;
			&lt;/table&gt;
			&lt;table class="CoffeeTable"&gt;&lt;tr&gt;
				&lt;td&gt;3.&amp;nbsp;&lt;/td&gt;&lt;td&gt;
				&lt;/td&gt;&lt;td&gt;Agile development.  Coordinated parallel development streams. Introduced development team to unit testing and TDD. Pair programmed, learned when it is a value-add.  (Also learned how sweet VMs and terminal services can make pair programming with laptops.)&lt;/td&gt;&lt;/tr&gt;
			&lt;/table&gt;
			&lt;table class="CoffeeTable"&gt;&lt;tr&gt;
				&lt;td&gt;4.&amp;nbsp;&lt;/td&gt;&lt;td&gt;
				&lt;/td&gt;&lt;td&gt;Performed countless branching and merges. A result of parallel development.  &lt;a href="http://www.perforce.com/index.html"&gt;Perforce&lt;/a&gt;, is a wonderful SCM tool.&lt;/td&gt;&lt;/tr&gt;
			&lt;/table&gt;
			&lt;table class="CoffeeTable"&gt;&lt;tr&gt;
				&lt;td&gt;5.&amp;nbsp;&lt;/td&gt;&lt;td&gt;
				&lt;/td&gt;&lt;td&gt;Service enabled Commerce Server API using WCF. &lt;i&gt;That sentence does not do the effort justice.&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;
			&lt;/table&gt;
			&lt;table class="CoffeeTable"&gt;&lt;tr&gt;
				&lt;td&gt;6.&amp;nbsp;&lt;/td&gt;&lt;td&gt;
				&lt;/td&gt;&lt;td&gt;Learned VSTS and how to build load and web tests. For a first release VSTS is better than I expected.  I need to a look at &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx"&gt;Visual Studio Team System 2008 - Team Suite Beta 2&lt;/a&gt; to see where improvements have been made.&lt;/td&gt;&lt;/tr&gt;
			&lt;/table&gt;
			&lt;table class="CoffeeTable"&gt;&lt;tr&gt;
				&lt;td&gt;7.&amp;nbsp;&lt;/td&gt;&lt;td&gt;
				&lt;/td&gt;&lt;td&gt;Tested &lt;a href="http://en.wikipedia.org/wiki/Service-oriented_architecture"&gt;SO&lt;/a&gt; Commerce Server framework using VSTS in a testing lab. Learned how vital performance testing, in a lab environment, is to the development process.  This is a must do if a development team wants to learn the behaviors of their software! There are many performance/load testing tools on the market but for a developer's usage I feel VSTS is superior.  Its Visual Studio so the learning curve for a dev is relatively low. Not to mention load and web tests are pretty much built from unit tests.&lt;/td&gt;&lt;/tr&gt;
			&lt;/table&gt;
			&lt;table class="CoffeeTable"&gt;&lt;tr&gt;
				&lt;td&gt;8.&amp;nbsp;&lt;/td&gt;&lt;td&gt;
				&lt;/td&gt;&lt;td&gt;Analyzed and documented performance testing results. Actually spent a few days reviewing 4+GB of test result data and logs.&lt;/td&gt;&lt;/tr&gt;
			&lt;/table&gt;
			&lt;table class="CoffeeTable"&gt;&lt;tr&gt;
				&lt;td&gt;9.&amp;nbsp;&lt;/td&gt;&lt;td&gt;
				&lt;/td&gt;&lt;td&gt;Developed some WCF best-practices (project layouts, namespacing, versioning pactices, proxy generation scripts).&lt;/td&gt;&lt;/tr&gt;
			&lt;/table&gt;
			&lt;table class="CoffeeTable"&gt;&lt;tr&gt;
				&lt;td&gt;10.&lt;/td&gt;&lt;td&gt;
				&lt;/td&gt;&lt;td&gt;Worked with Vista. Famaliarized myself with Vista nuances.&lt;/td&gt;&lt;/tr&gt;
			&lt;/table&gt;
			&lt;table class="CoffeeTable"&gt;&lt;tr&gt;
				&lt;td&gt;11.&lt;/td&gt;&lt;td&gt;
				&lt;/td&gt;&lt;td&gt;Re-enforced major testing principal - the author of the code must write the unit tests!  During the last project the idea was to have a couple new developers to the project write some unit tests for a sub-system, which had no coverage, as a way to learn the code base under development.  Not a horrible concept but a &lt;b&gt;very&lt;/b&gt; time consuming effort.  At times it was confusing for the devs trying to understand the behavior of code they are writing the tests for. That hints at another problem which could have been taken care of should the author of the code practiced TDD.&lt;/td&gt;&lt;/tr&gt;
			&lt;/table&gt;
			&lt;table class="CoffeeTable"&gt;&lt;tr&gt;
				&lt;td&gt;12.&lt;/td&gt;&lt;td&gt;
				&lt;/td&gt;&lt;td&gt;Learned how difficult it is to develop a framework...&lt;/td&gt;&lt;/tr&gt;
			&lt;/table&gt;
		&lt;/p&gt;
		
		
		&lt;table class="CoffeeTable"&gt;
		&lt;tr&gt;&lt;th align="left"&gt;&lt;b&gt;&lt;u&gt;Goals&lt;/u&gt;&lt;/b&gt;&lt;/th&gt;
		&lt;/tr&gt;&lt;tr&gt;
			&lt;td&gt;1.&lt;/td&gt;&lt;td&gt;Continue my quest for efficiency by practicing the &lt;a href="http://en.wikipedia.org/wiki/Pareto%27s_Law"&gt;Pareto Principal (80/20 principal)&lt;/a&gt;.  80% of the outputs result from 20% of the inputs.  Focus my efforts on the 20% and eliminate the rest.  Also, read &lt;a href="http://www.amazon.com/Getting-Things-Done-Stress-Free-Productivity/dp/0142000280/ref=pd_bbs_sr_1/105-3777470-0901224?ie=UTF8&amp;amp;s=books&amp;amp;qid=1185983680&amp;amp;sr=1-1"&gt;Getting Things Done&lt;/a&gt;.&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;2.&lt;/td&gt;&lt;td&gt;Define and hone my current skillset. My current interests and focus are WCF, developing frameworks, TDD, and agile development. Over the next six months I will focus on these areas. Specifically I hope to capture and build upon the agile development principles that have worked for me.  WCF related I want to dig into the internals.  For many years I have tried to consume all the latest information only to do little with it.  The shotgun appoarch to staying up on technology just isn't fun anymore.&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;3.&lt;/td&gt;&lt;td&gt;Write blog entries.  At a bare minimum one entry per month.  Wow, what high expectations!  Writing blog entries has been hard for me in the past as I feel I have to be a SME (subject matter expert) to be worthy of discussing a topic.  As many bloggers can attest this not the case.  Stay tuned for more.  There is lots floating around in my head and its time to get them out in words.&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;4.&lt;/td&gt;&lt;td&gt;Look into developing a product.  Over the next six months I would like to create a few POCs to prove out some ideas.  If they pan out maybe I will take the next steps.&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;5.&lt;/td&gt;&lt;td&gt; Do a presentation for a user group or &lt;a href="http://thedevcommunity.org/CodeCamps/"&gt;Code Camp&lt;/a&gt;.  I am long overdue to take the plunge into these waters. Enough said, &lt;b&gt;action required.&lt;/b&gt;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;6.&lt;/td&gt;&lt;td&gt;Catch up with individuals within my network.  Find out what people are currently working on and their future plans. I have not taken the time to do this in a while.&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;7.&lt;/td&gt;&lt;td&gt;Learn more functionality provided by &lt;a href="http://www.devexpress.com/Products/NET/IDETools/CodeRush/Index.xml"&gt;CodeRush&lt;/a&gt; and &lt;a href="http://www.devexpress.com/Products/NET/IDETools/Refactor/Index.xml"&gt;Refactor! Pro&lt;/a&gt;.  These tools are key productivity enhancers.  RefactorPro will be of special interest as I am currently only using a fraction of the refactorings available.&lt;/td&gt;
		&lt;/tr&gt;
		&lt;/table&gt;
		&lt;p&gt;&lt;i&gt;I just noticed that the above goals are all just detailed versions  of my anual goals.  I did not even try to do that.  Guess that is proof that writing down your anual goals does commit them to your subconscious.&lt;/i&gt;&lt;/p&gt;&lt;img src="http://gregmckinley.com/cs/aggbug.aspx?PostID=88" width="1" height="1"&gt;</content><author><name>gmckinley</name><uri>http://gregmckinley.com/cs/members/gmckinley.aspx</uri></author></entry><entry><title>WCF Bloggers and Forums</title><link rel="alternate" type="text/html" href="http://gregmckinley.com/cs/blog/archive/2007/02/03/49.aspx" /><id>http://gregmckinley.com/cs/blog/archive/2007/02/03/49.aspx</id><published>2007-02-03T20:14:00Z</published><updated>2007-02-03T20:14:00Z</updated><content type="html">&lt;P&gt;Lately I have been spending my spare time working with WCF. There are still only pockets of knowledge about WCF (although it is growing every day). Here are the blogs I look to for info. Let me know if you know of a WCF blog I should check out.&lt;/P&gt;
&lt;P&gt;
&lt;TABLE class=CoffeeTable&gt;

&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://blogs.msdn.com/drnick/default.aspx"&gt;Nicholas Allen&lt;/A&gt; - everything WCF. You must go back and read all his previous WCF entries.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://hyperthink.net/blog"&gt;Steve Maine&lt;/A&gt; - service hosting, rest, pox, and more.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://kennyw.com/category/indigo/"&gt;Kenny Wolf&lt;/A&gt; - lots of WCF content. Another must read his previous entries.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.wintellect.com/Weblogs/CategoryView,category,Justin%20Smith.aspx"&gt;Justin Smith&lt;/A&gt; - WCF book in progress.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.pluralsight.com/blogs/aaron/"&gt;Aaron Skonnard&lt;/A&gt; - contracts, serialization, xsd, etc.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://weblogs.asp.net/gsusx/"&gt;Jesus Rodriguez&lt;/A&gt; - lots of entries about making WCF work with BizTalk and Oracle.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.marcmercuri.com/CategoryView,category,WCF.aspx"&gt;Marc Mercuri&lt;/A&gt; - coauthor WCF Hands-On, lots of sample updates.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.pluralsight.com/blogs/kirillg/default.aspx"&gt;Kirill Gavrylyuk&lt;/A&gt; - WCF Interop.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://blogs.thinktecture.com/cweyer/"&gt;Christian Weyer&lt;/A&gt; - WSSF, contract first, etc.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;bull; &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.dasblonde.net/default.aspx"&gt;Michele Leroux Bustamante&lt;/A&gt; - WCF contracts and demos.&lt;/TD&gt;
&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;Also, here are the two WCF forums I use. &lt;BR&gt;
&lt;TABLE class=CoffeeTable&gt;

&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://forums.microsoft.com/msdn/showforum.aspx?forumid=118&amp;amp;siteid=1"&gt;Microsoft WCF Forum&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://groups.google.com/group/microsoft.public.windows.developer.winfx.indigo/topics?lnk=srg&amp;amp;hl=en"&gt;WCF Google Group&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;img src="http://gregmckinley.com/cs/aggbug.aspx?PostID=49" width="1" height="1"&gt;</content><author><name>gmckinley</name><uri>http://gregmckinley.com/cs/members/gmckinley.aspx</uri></author></entry><entry><title>January Coffee Table Reading</title><link rel="alternate" type="text/html" href="http://gregmckinley.com/cs/blog/archive/2007/02/03/48.aspx" /><id>http://gregmckinley.com/cs/blog/archive/2007/02/03/48.aspx</id><published>2007-02-03T19:20:00Z</published><updated>2007-02-03T19:20:00Z</updated><content type="html">&lt;P&gt;&lt;img src="http://www.gregmckinley.com/images/cup_of_coffee.jpg" width="135" height="100" alt="cup of coffee" align="right" /&gt; This is my monthly place holder of the useful articles and links I found/used for the month of January.  I spent a majority of my time with WCF, master pages, and a little bit on TDD as my below article reading shows.&lt;/P&gt;
&lt;P&gt;
&lt;TABLE class="CoffeeTable"&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;bull; &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://msdn.microsoft.com/msdnmag/issues/06/08/securitybriefs/default.aspx"&gt;Security in Windows Communication Foundation&lt;/A&gt; - Keith Brown discusses &lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;bull; &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://odetocode.com/Articles/450.aspx"&gt;Scott Allen - ASP.Net 2.0 - Master Pages: Tips, Tricks, and Traps&lt;/A&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;bull; &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://specs.xmlsoap.org/ws/2004/09/mex/ws-metadataexchange.pdf"&gt;Web Services Metadata Exchange (WS-MetadataExchange)&lt;/A&gt; - mex spec.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;bull; &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.456bereastreet.com/lab/developing_with_web_standards/csslayout/2-col/"&gt;Simple 2 column CSS layout&lt;/A&gt; - Figured it was time to play around with tableless html layouts.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;bull; &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.spaanjaars.com/QuickDocId.aspx?QUICKDOC=374"&gt;Setting DefaultButton and DefaultFocus with Master Pages&lt;/A&gt; - A nice to know instead of carrying forward these functions from your 1.1 base page.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TABLE&gt;

&lt;BR&gt;&lt;I&gt;Resources:&lt;/I&gt;
&lt;BR&gt;
&lt;TABLE class="CoffeeTable"&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;bull; &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.redhillconsulting.com.au/products/simian/"&gt;Simian (Similarity Analyzer)&lt;/A&gt; - Not a free tool but very nice for analyzing duplicate code.  Thanks &lt;A href="http://community.vuscode.com/default.aspx"&gt;Nikola&lt;/A&gt; ;-)&amp;nbsp;&amp;nbsp;(Fellow Monster blogger)&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;bull; &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.fitnesse.org/"&gt;FitNesse&lt;/A&gt; - Thanks to &lt;A href="http://www.thoughtshapes.com/Blog/index.php"&gt;Steve&lt;/A&gt; for telling about this very cool tool.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;bull; &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.pocketmod.com/"&gt;PocketMod&lt;/A&gt; - For the list obsessed.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;bull; &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.microsoft.com/technet/sysinternals/Miscellaneous/Hex2dec.mspx"&gt;hex2dec&lt;/A&gt; - Convert hex numbers to decimal and vice versa.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TABLE&gt;
&lt;/P&gt;&lt;img src="http://gregmckinley.com/cs/aggbug.aspx?PostID=48" width="1" height="1"&gt;</content><author><name>gmckinley</name><uri>http://gregmckinley.com/cs/members/gmckinley.aspx</uri></author></entry><entry><title>Windows commands via the Slickrun Prompt</title><link rel="alternate" type="text/html" href="http://gregmckinley.com/cs/blog/archive/2007/02/03/47.aspx" /><id>http://gregmckinley.com/cs/blog/archive/2007/02/03/47.aspx</id><published>2007-02-03T19:01:00Z</published><updated>2007-02-03T19:01:00Z</updated><content type="html">&lt;P&gt;Here is a list of windows commands I run from the SlickRun prompt without setting a magic word. Many of these work right from the run dialog box as well. 
&lt;TABLE&gt;

&lt;TR&gt;
&lt;TD&gt;&lt;B&gt;logfiles&lt;/B&gt; &lt;/TD&gt;
&lt;TD&gt;&lt;IMG height=15 src="/images/rightArrow.jpg" width=14 align=middle&gt;&lt;/TD&gt;
&lt;TD&gt;opens IIS log file dir.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;B&gt;services.msc&lt;/B&gt; &lt;/TD&gt;
&lt;TD&gt;&lt;IMG height=15 src="/images/rightArrow.jpg" width=14 align=middle&gt;&lt;/TD&gt;
&lt;TD&gt;opens services mmc span-in.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;B&gt;eventvwr&lt;/B&gt; &lt;/TD&gt;
&lt;TD&gt;&lt;IMG height=15 src="/images/rightArrow.jpg" width=14 align=middle&gt;&lt;/TD&gt;
&lt;TD&gt;opens event viewer.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;B&gt;resetiis&lt;/B&gt; &lt;/TD&gt;
&lt;TD&gt;&lt;IMG height=15 src="/images/rightArrow.jpg" width=14 align=middle&gt;&lt;/TD&gt;
&lt;TD&gt;resets IIS.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;B&gt;appwiz.cpl&lt;/B&gt; &lt;/TD&gt;
&lt;TD&gt;&lt;IMG height=15 src="/images/rightArrow.jpg" width=14 align=middle&gt;&lt;/TD&gt;
&lt;TD&gt;opens Add/Remove Programs.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;B&gt;mstsc.exe&lt;/B&gt; &lt;/TD&gt;
&lt;TD&gt;&lt;IMG height=15 src="/images/rightArrow.jpg" width=14 align=middle&gt;&lt;/TD&gt;
&lt;TD&gt;opens Remote Desktop Connection.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;B&gt;perfmon&lt;/B&gt; &lt;/TD&gt;
&lt;TD&gt;&lt;IMG height=15 src="/images/rightArrow.jpg" width=14 align=middle&gt;&lt;/TD&gt;
&lt;TD&gt;opens performance logs and alerts.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;B&gt;secpol.msc&lt;/B&gt; &lt;/TD&gt;
&lt;TD&gt;&lt;IMG height=15 src="/images/rightArrow.jpg" width=14 align=middle&gt;&lt;/TD&gt;
&lt;TD&gt;opens local security policy editor.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;B&gt;compmgmt.msc&lt;/B&gt; &lt;/TD&gt;
&lt;TD&gt;&lt;IMG height=15 src="/images/rightArrow.jpg" width=14 align=middle&gt;&lt;/TD&gt;
&lt;TD&gt;opens computer management console.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;B&gt;cmd&lt;/B&gt; &lt;/TD&gt;
&lt;TD&gt;&lt;IMG height=15 src="/images/rightArrow.jpg" width=14 align=middle&gt;&lt;/TD&gt;
&lt;TD&gt;opens command shell.&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;img src="http://gregmckinley.com/cs/aggbug.aspx?PostID=47" width="1" height="1"&gt;</content><author><name>gmckinley</name><uri>http://gregmckinley.com/cs/members/gmckinley.aspx</uri></author></entry><entry><title>October/November Coffee Table Reading</title><link rel="alternate" type="text/html" href="http://gregmckinley.com/cs/blog/archive/2006/12/09/32.aspx" /><id>http://gregmckinley.com/cs/blog/archive/2006/12/09/32.aspx</id><published>2006-12-09T15:13:00Z</published><updated>2006-12-09T15:13:00Z</updated><content type="html">&lt;P&gt;&lt;IMG height=100 alt="cup of coffee" src="http://www.gregmckinley.com/images/cup_of_coffee.jpg" width=135 align=right&gt; This is my monthly place holder of the useful articles and links I found/used for the months of October and November. &amp;nbsp;Most of the articles are SO or WCF oriented.&lt;/P&gt;
&lt;P&gt;
&lt;TABLE class=CoffeeTable&gt;

&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/aa702682.aspx"&gt;WCF Services and ASP.NET&lt;/A&gt; - breaks down the IIS hosting options for an ASP.NET application (how to run service within application App Domain, etc).&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.architecturejournal.net/2006/issue7/F6_Enable/default.aspx"&gt;Enable the Service-Oriented Enterprise&lt;/A&gt; - really talks to the ecosystems required by services within an enterprise.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://ajax.sys-con.com/read/291043_1.htm"&gt;Web services and WS-BPEL&lt;/A&gt; - article example uses BPEL process deployed on Oracle BPEL Process Manager calling a WCF service.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://weblogs.asp.net/gsusx/archive/2006/10/20/WCF-Oracle-Application-Server-WS_2D00_Security-interoperability-Part1_3A00_-from-WCF-to-Oracle.aspx"&gt;WCF Oracle Application Server WS-Security interoperability Part1: from WCF to Oracle&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.code-magazine.com/Article.aspx?quickid=0605051"&gt;WCF Essentials&lt;/A&gt; - Juval Lowy gives a WCF primer.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.howtoselectguides.com/dotnet/ormapping/"&gt;ORM How to Select Guide&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;I&gt;Resources:&lt;/I&gt; &lt;BR&gt;
&lt;TABLE class=CoffeeTable&gt;

&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.kitebird.com/software/xmlformat/"&gt;xmlformater v1.04&lt;/A&gt; - A nice Perl xml formatter. Not something I need all the time but when I do it is a savior.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.idesign.net/idesign/DesktopDefault.aspx?tabindex=5&amp;amp;tabid=11"&gt;IDesign serviceware download&lt;/A&gt; - Collection of WCF and .NET demos.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://blogs.interknowlogy.com/timmccarthy/archive/2006/10/04/6139.aspx"&gt;A better way to encapsulate caching in .NET 2.0&lt;/A&gt; - a nice CacheHelper.&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;img src="http://gregmckinley.com/cs/aggbug.aspx?PostID=32" width="1" height="1"&gt;</content><author><name>gmckinley</name><uri>http://gregmckinley.com/cs/members/gmckinley.aspx</uri></author></entry><entry><title>IIS 7.0 Primer Links</title><link rel="alternate" type="text/html" href="http://gregmckinley.com/cs/blog/archive/2006/09/29/28.aspx" /><id>http://gregmckinley.com/cs/blog/archive/2006/09/29/28.aspx</id><published>2006-09-30T01:51:00Z</published><updated>2006-09-30T01:51:00Z</updated><content type="html">&lt;P&gt;Here are a few resources I found useful to get a quick introduction to IIS 7.0 &lt;BR&gt;&lt;BR&gt;
&lt;TABLE class=CoffeeTable&gt;

&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.ftponline.com/reports/vslivesf/2005/ruest/default.aspx"&gt;A First Look at IIS 7.0&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.iis.net/default.aspx?tabid=2&amp;amp;subtabid=25&amp;amp;i=1081&amp;amp;p=1"&gt;Taking Advantage of the IIS7 Integrated Pipeline&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.iis.net/default.aspx?tabid=2&amp;amp;subtabid=25&amp;amp;i=930"&gt;IIS7 Module Overview&lt;/A&gt; - &lt;A href="http://www.iis.net/default.aspx?tabid=2&amp;amp;subtabid=25&amp;amp;i=930&amp;amp;p=4"&gt;page 4&lt;/A&gt; contains a list of the modules that make up the IIS 7 pipeline.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://channel9.msdn.com/tags/IIS"&gt;IIS 7 Talks on Channel 9&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;img src="http://gregmckinley.com/cs/aggbug.aspx?PostID=28" width="1" height="1"&gt;</content><author><name>gmckinley</name><uri>http://gregmckinley.com/cs/members/gmckinley.aspx</uri></author></entry><entry><title>ASP.NET Dynamic Control Postback Events</title><link rel="alternate" type="text/html" href="http://gregmckinley.com/cs/blog/archive/2006/09/29/27.aspx" /><id>http://gregmckinley.com/cs/blog/archive/2006/09/29/27.aspx</id><published>2006-09-30T01:45:00Z</published><updated>2006-09-30T01:45:00Z</updated><content type="html">&lt;P&gt;This sounds simplier in words than I have seen practiced in code. &lt;BR&gt;&lt;BR&gt;Working with dynamically created controls that postback events can be tricky. For a lot of applications it is all about timing. On postback the dynamic control must be re-created during Page_Load so the control event can be wired up before the RaisePostDataChangeEvent/RaisePostBackEvent is called. Even if the control was orignally created in say OnPreRender. If the dynamic control is not re-created the control event will not be raised because the control does not exist yet. This kind of problem usually occurs as new controls are added to an existing page that previously did not dynamically create controls. &lt;BR&gt;&lt;BR&gt;The example below checks the EVENT_TARGET to determine if it is a dynamic control that the page or control cares about. If so it will re-create the dynamic control and place it in a PlaceHolder that is not visible. Now the postback event will be wired up to the dynamic control. This scenario is also useful if you have a collection of dynamic controls and you only want to create the one that caused the postback. &lt;BR&gt;&lt;BR&gt;
&lt;DIV class=codeBlock&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class=codeHighlight&gt;Protected&lt;/SPAN&gt; &lt;SPAN class=codeHighlight&gt;Overrides&lt;/SPAN&gt; &lt;SPAN class=codeHighlight&gt;Sub&lt;/SPAN&gt; OnInit(&lt;SPAN class=codeHighlight&gt;ByVal&lt;/SPAN&gt; e &lt;SPAN class=codeHighlight&gt;As&lt;/SPAN&gt; System.EventArgs)&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; phPostbackControlHolder = &lt;SPAN class=codeHighlight&gt;New&lt;/SPAN&gt; PlaceHolder&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; phPostbackControlHolder.Visible = &lt;SPAN class=codeHighlight&gt;False&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;SPAN class=codeHighlight&gt;Me&lt;/SPAN&gt;.Controls.Add(phPostbackControlHolder)&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;SPAN class=codeHighlight&gt;MyBase&lt;/SPAN&gt;.OnInit(e)&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class=codeHighlight&gt;End&lt;/SPAN&gt; &lt;SPAN class=codeHighlight&gt;Sub&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class=codeHighlight&gt;Protected&lt;/SPAN&gt; &lt;SPAN class=codeHighlight&gt;Overrides&lt;/SPAN&gt; &lt;SPAN class=codeHighlight&gt;Sub&lt;/SPAN&gt; OnLoad(&lt;SPAN class=codeHighlight&gt;ByVal&lt;/SPAN&gt; e &lt;SPAN class=codeHighlight&gt;As&lt;/SPAN&gt; System.EventArgs)&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;SPAN class=codeHighlight&gt;If&lt;/SPAN&gt; (IsPostBack) &lt;SPAN class=codeHighlight&gt;Then&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN class=codeHighlight&gt;Dim&lt;/SPAN&gt; index &lt;SPAN class=codeHighlight&gt;As&lt;/SPAN&gt; &lt;SPAN class=codeHighlight&gt;Integer&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN class=codeHighlight&gt;Dim&lt;/SPAN&gt; sEventTarget &lt;SPAN class=codeHighlight&gt;As&lt;/SPAN&gt; &lt;SPAN class=codeHighlight&gt;String&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; sEventTarget = Request(EVENT_TARGET)&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN class=codeHighlight&gt;If&lt;/SPAN&gt; (sEventTarget.IndexOf(CNTL_PREFIX, 0, sEventTarget.Length) &amp;lt;&amp;gt; -1) &lt;SPAN class=codeHighlight&gt;Then&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; ctlDynamicControl = RebuildSelectedControl(sEventTarget)&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN class=codeHighlight&gt;If&lt;/SPAN&gt; (&lt;SPAN class=codeHighlight&gt;Not&lt;/SPAN&gt; ctlDynamicControl &lt;SPAN class=codeHighlight&gt;Is&lt;/SPAN&gt; &lt;SPAN class=codeHighlight&gt;Nothing&lt;/SPAN&gt;) &lt;SPAN class=codeHighlight&gt;Then&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; phPostbackControlHolder.Controls.Add(ctlDynamicControl)&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN class=codeHighlight&gt;End&lt;/SPAN&gt; &lt;SPAN class=codeHighlight&gt;If&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN class=codeHighlight&gt;End&lt;/SPAN&gt; &lt;SPAN class=codeHighlight&gt;If&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;SPAN class=codeHighlight&gt;End&lt;/SPAN&gt; &lt;SPAN class=codeHighlight&gt;If&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;SPAN class=codeHighlight&gt;MyBase&lt;/SPAN&gt;.OnLoad(e)&lt;/P&gt;
&lt;P class=codeLine&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class=codeHighlight&gt;End&lt;/SPAN&gt; &lt;SPAN class=codeHighlight&gt;Sub&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;&lt;img src="http://gregmckinley.com/cs/aggbug.aspx?PostID=27" width="1" height="1"&gt;</content><author><name>gmckinley</name><uri>http://gregmckinley.com/cs/members/gmckinley.aspx</uri></author></entry><entry><title>Nullable Value Types and the C# Null-Coalescing Operator (??)</title><link rel="alternate" type="text/html" href="http://gregmckinley.com/cs/blog/archive/2006/09/29/26.aspx" /><id>http://gregmckinley.com/cs/blog/archive/2006/09/29/26.aspx</id><published>2006-09-29T22:29:00Z</published><updated>2006-09-29T22:29:00Z</updated><content type="html">&lt;P&gt;Just a couple of links to some useful 2.0 functionality &lt;BR&gt;&lt;BR&gt;
&lt;TABLE class=CoffeeTable&gt;

&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;Eric Gunnerson - &lt;A href="http://blogs.msdn.com/ericgu/archive/2004/05/27/143221.aspx"&gt;Nullable Types in C#&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;Fritz Onion - &lt;A href="http://pluralsight.com/blogs/fritz/archive/2005/12/07/17313.aspx"&gt;Using the ?? operator for ViewState properties&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;img src="http://gregmckinley.com/cs/aggbug.aspx?PostID=26" width="1" height="1"&gt;</content><author><name>gmckinley</name><uri>http://gregmckinley.com/cs/members/gmckinley.aspx</uri></author></entry><entry><title>Hosts File</title><link rel="alternate" type="text/html" href="http://gregmckinley.com/cs/blog/archive/2006/08/21/24.aspx" /><id>http://gregmckinley.com/cs/blog/archive/2006/08/21/24.aspx</id><published>2006-08-21T13:40:00Z</published><updated>2006-08-21T13:40:00Z</updated><content type="html">&lt;P&gt;Last week I ran into a problem with a staging server that appeared to be super slow to the user. It was throwing this error: &lt;BR&gt;&lt;B&gt;System.Net.WebException: The underlying connection was closed: Unable to connect to the remote server.&lt;/B&gt; &lt;BR&gt;&lt;BR&gt;Since this server is in a cluster it went unnoticed for awhile. It turned out to be an IP address typo in the &lt;A href="http://en.wikipedia.org/wiki/Hosts_file"&gt;hosts file&lt;/A&gt; on that server. &lt;BR&gt;&lt;BR&gt;The hosts file can be found at: &lt;BR&gt;&lt;B&gt;%SystemRoot%\system32\drivers\etc\hosts&lt;/B&gt;&lt;BR&gt;&lt;BR&gt;Something to remember if you are using a hosts file. &lt;/P&gt;&lt;img src="http://gregmckinley.com/cs/aggbug.aspx?PostID=24" width="1" height="1"&gt;</content><author><name>gmckinley</name><uri>http://gregmckinley.com/cs/members/gmckinley.aspx</uri></author></entry><entry><title>July Coffee Table Reading</title><link rel="alternate" type="text/html" href="http://gregmckinley.com/cs/blog/archive/2006/08/02/23.aspx" /><id>http://gregmckinley.com/cs/blog/archive/2006/08/02/23.aspx</id><published>2006-08-02T13:21:00Z</published><updated>2006-08-02T13:21:00Z</updated><content type="html">&lt;P&gt;This is my monthly place holder of the useful articles and links I found for the month of July. &lt;BR&gt;&lt;BR&gt;
&lt;TABLE class=CoffeeTable&gt;

&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://msdn.microsoft.com/msdnmag/issues/06/01/UnitTesting/default.aspx"&gt;Write Maintainable Unit Tests That Will Save You Time And Tears&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://blog.dotnetwiki.org/PermaLink,guid,87a6cb26-654c-486a-83ce-140972253647.aspx"&gt;Composite Unit Testing&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://martinfowler.com/articles/injection.html"&gt;Inversion of Control Containers and the Dependency Injection pattern&lt;/A&gt; - Martin Fowler&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.jnsk.se/nworkspace/"&gt;NWorkspace&lt;/A&gt; - Jimmy Nilsson's persistence abstraction layer. I really like this concept! Maybe I will post the example I am working on.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.odetocode.com/Articles/365.aspx"&gt;Table Variables In T-SQL&lt;/A&gt; - Scott Allen's nice write-up. I completely forgot about these little babies until some recently asked me about them. Table varibales can replace most of your temp table needs.&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;BR&gt;Resources:&lt;BR&gt;
&lt;TABLE class=CoffeeTable&gt;

&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.databaseanswers.org/data_models/"&gt;Library of Free Data Models&lt;/A&gt; - useful starting point for your database model. (via &lt;A href="http://www.jasonbock.net/JB/Default.aspx?blog=entry.bd7b7ab79feb4229b2c050174d49d013"&gt;Jason Bock&lt;/A&gt;)&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.alexa.com/"&gt;Alexa Web Search&lt;/A&gt; - very interesting traffic rankings information&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://weblogs.asp.net/rosherove/archive/2006/07/12/Make-IE-and-FireFox-go-faster-than-ever.aspx"&gt;Make IE and FireFox go faster than ever&lt;/A&gt; - via Roy Osherove&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://50337.nunit.codebetter.com/blogs/darrell.norton/archive/2005/02/02/50337.aspx"&gt;.NET Test Driven Development&lt;/A&gt; - List of unit testing resources by Darrell Norton (****)&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;img src="http://gregmckinley.com/cs/aggbug.aspx?PostID=23" width="1" height="1"&gt;</content><author><name>gmckinley</name><uri>http://gregmckinley.com/cs/members/gmckinley.aspx</uri></author></entry><entry><title>June Coffee Table Reading</title><link rel="alternate" type="text/html" href="http://gregmckinley.com/cs/blog/archive/2006/07/05/22.aspx" /><id>http://gregmckinley.com/cs/blog/archive/2006/07/05/22.aspx</id><published>2006-07-05T13:04:00Z</published><updated>2006-07-05T13:04:00Z</updated><content type="html">&lt;P&gt;This is my monthly place holder of the useful articles I found for the month of June. &lt;BR&gt;&lt;BR&gt;
&lt;TABLE class=CoffeeTable&gt;

&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD align=left&gt;&lt;A href="http://msdn.microsoft.com/msdnmag/issues/06/02/WSE30/default.aspx"&gt;Protect Your Web Services Through The Extensible Policy Framework In WSE 3.0&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://msdn.microsoft.com/webservices/default.aspx?pull=/library/en-us/dnwse/html/newwse3.asp"&gt;What's New in Web Services Enhancements 3.0&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=40e3d4c5-2105-47f1-ba26-9e4c29ba6990&amp;amp;displaylang=en"&gt;Microsoft WS-I Basic Security Profile 1.0 Reference Implementation: Preview Release for the .NET Framework version 2.0&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/wss_ch7_x509techsupp.asp"&gt;X.509 Technical Supplement&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.developerdotstar.com/printable/mag/articles/software_team_turnover.html"&gt;Software Team Turnover: Why Developers Leave (And What You Can Do About It)&lt;/A&gt; - (***) This should be required reading for all dev managers.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/migrateasp2.asp"&gt;Feature Changes in ASP.NET 2.0&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;• &lt;/TD&gt;
&lt;TD&gt;&lt;A href="http://www.holub.com/goodies/uml/"&gt;Allen Holub's UML Quick Reference&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;img src="http://gregmckinley.com/cs/aggbug.aspx?PostID=22" width="1" height="1"&gt;</content><author><name>gmckinley</name><uri>http://gregmckinley.com/cs/members/gmckinley.aspx</uri></author></entry></feed>