<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Lance's Whiteboard</title><subtitle type="html">Random scribbling about C#, ASP.NET, Sql Reporting, etc.</subtitle><id>http://weblogs.asp.net/lhunt/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lhunt/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/lhunt/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2007-05-18T14:07:09Z</updated><entry><title>What is the value of comparing companies based upon development technology &amp; methodologies?</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lhunt/archive/2009/03/11/what-is-the-value-of-comparing-companies-based-upon-development-technology-amp-methodologies.aspx" /><id>http://weblogs.asp.net/lhunt/archive/2009/03/11/what-is-the-value-of-comparing-companies-based-upon-development-technology-amp-methodologies.aspx</id><published>2009-03-11T17:34:00Z</published><updated>2009-03-11T17:34:00Z</updated><content type="html">&lt;p&gt;I was recently talking to a company about their development team’s adoption of new technology, frameworks, and the overall sophistication of their projects.&amp;#160;&amp;#160; During the conversation, the IT manager made several comments about wanting to become a more “complete” development shop.&lt;/p&gt;  &lt;p&gt;This made me start thinking, &lt;em&gt;how do you&lt;/em&gt; measure and compare one development shop with another?&amp;#160; What does it mean to become a “complete” development shop?&lt;/p&gt;  &lt;p&gt;I hear a lot of attempts to characterize one company as being “behind”, “ahead of the curve”, or on the “bleeding edge” but often times each person’s assessment of each company is so subjective to their own experience and skill set.&amp;#160; Furthermore, the types of technologies each company use and the business needs they serve often vary dramatically, therefore so do their goals.&amp;#160;&amp;#160; So its hard to truly know the real comparative value of one development team or company to another without segmenting them into categories and/or coming up with some standardized tools for measurement.&lt;/p&gt;  &lt;p&gt;In the past I have passively explored the concepts around the &lt;a href="http://en.wikipedia.org/wiki/Capability_Maturity_Model"&gt;Capability Maturity Model (CMM)&lt;/a&gt;, which is a topic seems to really fit this discussion.&amp;#160;&amp;#160; CMM focuses upon the stages of growth every IT shop goes through during its evolution;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Ad-hoc&lt;/li&gt;    &lt;li&gt;Repeatable&lt;/li&gt;    &lt;li&gt;Defined&lt;/li&gt;    &lt;li&gt;Managed&lt;/li&gt;    &lt;li&gt;Optimizing&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;I think this is a good start in assessing an organizations “completeness”, however, it primarily focuses upon the process of software development not the technology, team-effectiveness, or rate-of-completion.&amp;#160;&amp;#160; CMM is incredibly useful, yet the aforementioned IT manager was really referring to all areas of their development.&amp;#160; Yes, there was discussion of using Agile/Scrum and having a well built development environment using Team Foundation Server, but he also mentioned a number of other things such as what version of .NET they were using, the types of patterns &amp;amp; frameworks they had adopted, their ability to turn-on-a dime, and the relative skill level of developers implementing their applications.&lt;/p&gt;  &lt;p&gt;Many of the details we discussed assumed an adoption of Microsoft’s development technologies, approaches, and general paradigm.&amp;#160;&amp;#160; So, on the one hand, you could easily take this methodology/technology stack and create a specific set of measurements for how the stages of growth of each company and compare on this bases.&amp;#160; This would be good if all development shops thought the Microsoft Solutions Framework (MSF) was the ultimate goal and end-point of an organization, but the reality is that many do not.&lt;/p&gt;  &lt;p&gt;Every shop is different, and many value ALT.NET technologies such as Mono, MVC, NHibernate, NUnit, Rhino Mocks, Subversion, Cruise Control, and other non-Microsoft tools much higher than those within the Microsoft development paradigm.&amp;#160;&amp;#160; Of course, there are also many shades of grey out there in the industry between MSF and ALT.NET.&amp;#160; So, this brings us back to attempting to group together companies based upon their chosen, or trying to compare apples and oranges based upon other more platform agnostic factors such as flexibility, velocity, and quality.&lt;/p&gt;  &lt;p&gt;But, at some point, I have to stop and ask myself “is this effort even important?”.&lt;/p&gt;  &lt;p&gt;I know that its a great source of pride for some companies to say they are the “best and brightest” or are the “movers and shakers” in the industry, and undoubtedly if wielded properly, it can help enhance their recruiting of the best and brightest in the industry.&lt;/p&gt;  &lt;p&gt;However, are there other values to a company beyond recruiting?&lt;/p&gt;  &lt;p&gt;I guess it depends upon the type of company.&amp;#160; For example; if you are a consulting firm or a product development company its a huge asset to sales of your products and services to customers who might value such a comparison of technologies &amp;amp; proficiencies.&lt;/p&gt;  &lt;p&gt;But, what about traditional enterprise business where their development effort is not to deliver a product or service directly via technology, but instead they sell some tangible widget and simply use technology to perform internal logistics, supply chain, or customer-service functions?&amp;#160; What is the value within these companies to using the newest technologies?&amp;#160;&amp;#160; What is the true ROI of continuing to adopt the latest &amp;amp; greatest technologies in these companies as compared to some other company who decided long ago that COBOL or FoxPro were sufficient for their business?&lt;/p&gt;  &lt;p&gt;I think there is plenty of anecdotal evidence and case studies of how certain new technology and processes have been effective at reducing time-to-market, or producing greater results. But where are the numbers to qualify those examples?&amp;#160; &lt;/p&gt;  &lt;p&gt;Rather than just assuming newer technology is automatically better, I would like to see a more quantitative set of tools to measure these results and share them with the world so those companies who truly shine and benefit from these processes &amp;amp; technologies and shine the way for others in an objective and meaningful way.&lt;/p&gt;  &lt;p&gt;Thoughts? Opinions?&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6955298" width="1" height="1"&gt;</content><author><name>CodeSniper</name><uri>http://weblogs.asp.net/members/CodeSniper.aspx</uri></author><category term="Philosophy 101" scheme="http://weblogs.asp.net/lhunt/archive/tags/Philosophy+101/default.aspx" /><category term="General Software Development" scheme="http://weblogs.asp.net/lhunt/archive/tags/General+Software+Development/default.aspx" /><category term="Methodology" scheme="http://weblogs.asp.net/lhunt/archive/tags/Methodology/default.aspx" /></entry><entry><title>Its been a while….perhaps a lifetime</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lhunt/archive/2009/02/16/its-been-a-while-perhaps-a-lifetime.aspx" /><id>http://weblogs.asp.net/lhunt/archive/2009/02/16/its-been-a-while-perhaps-a-lifetime.aspx</id><published>2009-02-16T09:01:41Z</published><updated>2009-02-16T09:01:41Z</updated><content type="html">&lt;p&gt;...since I was here last.&amp;#160; I'm sure my subscriber count has dropped significantly since November due to my lack of new posts.&lt;/p&gt;  &lt;p&gt;Some may wonder what has been going on lately.&amp;#160; If not, then go back to &lt;a href="http://www.facebook.com"&gt;Facebook&lt;/a&gt; and find someone more interesting or at least less verbose than me.&amp;#160; :)&lt;/p&gt;  &lt;p&gt;Okay, great, for those of you still here, this is my attempt at an explanation for my absence from this blog for these past few months and an update on where I stand today:&lt;/p&gt;  &lt;p&gt;Around October, I got busy with my work at &lt;a href="http://www.telligent.com"&gt;Telligent&lt;/a&gt; on the &amp;quot;#1 project in the company&amp;quot;.&amp;#160; As many of my friends know, I can be a bit obsessive towards my work, especially when I am properly motivated and this project was no exception.&amp;#160; As with many previous projects, I spent a ton of time on and off the clock working on things relating to our implementation of these sites built on &lt;a href="http://www.communityserver.org"&gt;Community Server&lt;/a&gt; 2008 (2008 beta, 2008.5, and 2008.5 SP1).&amp;#160; The project was great, because it involved multiple sites broken out by language/culture and had many extensive modifications to the default Community Server product.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;This was a big project; it involved very high scalability, required custom modules, data-extensions, forum/blog data migrations, enterprise search integration, and other work that involved collaborating with our fluctuating team of 4-8 developers.&amp;#160;&amp;#160; Not to be outdone, our client's entire company of business people, IT personnel, designers, and project managers were engaged from top to bottom and everyone had a stake (and often a say) in the project.&amp;#160;&amp;#160; My hours were long, but the work was challenging, my coworkers were exceptional, my ability to impact the project and team was great, and I was continuing to grow my knowledge in many areas of technology including Community Server, ASP.NET, Sql Server, SSIS, performance/scaleability, Debugging, &lt;a href="http://incubator.apache.org/lucene.net/"&gt;Lucene.NET&lt;/a&gt;, and many other topics in the process.&lt;/p&gt;  &lt;p&gt;This project grew and evolved much from those early days until we released in November/December and began on the next iteration.&amp;#160;&amp;#160; Throughout the end of 2008, I spent my spare time at home creating 3 Graffiti sites for myself, for my wife, and for an unnamed side project I've been working on.&amp;#160; Also, I got acquainted with &lt;a href="http://jquery.com/"&gt;JQuery&lt;/a&gt; a bit, built a few ASP.NET MVC sites, and watched about 80 hours of PDC 2008 videos.&amp;#160;&amp;#160; Subsequently, I did some playing around with &lt;a href="http://www.microsoft.com/azure/"&gt;Microsoft's Azure Services Framework&lt;/a&gt; and started to grok cloud computing and Microsoft version of this concept.&lt;/p&gt;  &lt;p&gt;Somewhere in there, I found time to volunteer as a coach on my son's basketball team, even though my wife was constantly busy with work and going back to school for her Master's degree.&amp;#160;&amp;#160; This coaching gig was perhaps my most rewarding project yet.&lt;/p&gt;  &lt;p&gt;In 2009, the new year started off with a lot of planning and cleanup at work, which led to an opportunity to revamp our development processes around Software Configuration Management, Release Management, and QA.&amp;#160;&amp;#160; I had used &lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt; and other version control systems for years, and I understood the value of setting up &lt;a href="http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET"&gt;Cruise Control&lt;/a&gt; for continuous integration.&amp;#160; Creating branches &amp;amp; tagging releases were habits that I now performed without thinking - it was all just part of the tools used for development.&amp;#160; &lt;/p&gt;  &lt;p&gt;In the gap between iterations, we reassessed the project, and where we could improve.&amp;#160; I realized that although we knew the mechanics, we hadn't truly understood the discipline and the philosophies required to use these tools effectively to ensure developer productivity, to ensure changes to sourcecode within a project remain isolated, and to ensure releases are purposeful, repeatable, and contain only the changes you want, not just everything that happens to be in Trunk.&amp;#160;&amp;#160; In short, I realized how many assumptions we made that needed to be reevaluated.&amp;#160; Luckily, I was tapped to spend the time to research &amp;amp; improve these weaknesses and turn them into strengths.&lt;/p&gt;  &lt;p&gt;The short time I spent educating myself on &lt;a href="http://www.scmpatterns.com/book/"&gt;Software Configuration Management&lt;/a&gt; concepts and their application was invaluable and is something that will help me throughout my career.&amp;#160; These skills and concepts empower us to delivery better quality software no matter if the team has 1 developer or 100.&amp;#160;&amp;#160; Sadly, over the 15 years in technology, I don't recall ever hearing developers talk about their Branching Strategy, Codline Policies, or have a project lead define basics such as who can perform trunk-merges, and when/how should branches be created, or what the naming conventions should be for those branches &amp;amp; tags.&amp;#160;&amp;#160; We just did our development and reacted when necessary.&amp;#160;&amp;#160; Isnt that the Agile way?&amp;#160; &lt;/p&gt;  &lt;p&gt;Alas, I digress....&amp;#160; Suffice it to say, I learned a ton, directly applied it to our team, who rejoiced, and we began collectively kicking butt on the next iteration of the project.&lt;/p&gt;  &lt;p&gt;So, in the midst of all this personal growth, incredible work experience, and smattering of entrepreneurial activity, I became so focused upon the work, my toy projects, my family, and my plans for how to achieve global domination that I was completely blindsided when one morning Rob Howard came to my office in a crisp formal executive outfit with a member of our finance department and asked to have a closed-door meeting in my office.&lt;/p&gt;  &lt;p&gt;First, you have to understand that at Telligent, it is our culture that we all wear shorts, jeans, flip flops, t-shirts or whatever makes us comfortable enough to crank out outstanding sites with incredible code in a timely fashion.&amp;#160;&amp;#160; Occasionally you would see people dressed up, but it was typically only for a meeting with a client, otherwise everyone just gave the Telligenti a hard time and joked that they must be going job hunting, or perhaps attending a funeral.&lt;/p&gt;  &lt;p&gt;So, anyways, Rob shows up, very nervous and pale, launches into his brief story of economy woes and so forth, and how unfortunate it is that he must reduce the workforce, yada yada yada - all the while I'm sitting there thinking....didn't I just stay here until 8pm lastnight working on this project?!?!&amp;#160; Didnt I put my heart, personal/family time, and my entire future into this job?&amp;#160; Why didnt I see this coming?!?!?&lt;/p&gt;  &lt;p&gt;The truth is that I didnt WANT to see this coming.&amp;#160; I didnt WANT to see reality.&amp;#160; I knew the stock market, I knew about Jive's 30% cutback in staff.&amp;#160; The warning signs were everywhere.&amp;#160;&amp;#160; My mom even works at HUD and had repeatedly warned me about the foreclosures and challenges she was seeing firsthand across this country.&amp;#160; I just kept my head in the Azure clouds and blissfully ignored my cynical heart thumping out distress calls in multi-threaded unmanaged code.&lt;/p&gt;  &lt;p&gt;I drove home in my 2 month old &lt;a href="http://automobiles.honda.com/civic-hybrid/"&gt;2009 Honda Civic Hybrid&lt;/a&gt;, in a daze not even paying attention to the 10am Dallas traffic as my box of belonging clanked &amp;amp; slid back and forth in the back seat.&amp;#160;&amp;#160; The conversation with a hastily called head-hunter still ringing in my ears and one question running through my head....&amp;#160; How will I tell my wife?&lt;/p&gt;  &lt;p&gt;My wife was incredible.&amp;#160; She took it in stride, said a few expletives about Telligent, and began to focus on the future and helped me clear the cobwebs.&amp;#160;&amp;#160; I spoke to some of the other &lt;a href="http://search.twitter.com/search?q=%23extelligenti"&gt;ex-Telligenti&lt;/a&gt;, and participated in the subsequent explosion of interest on &lt;a href="http://www.twitter.com/lancehunt"&gt;Twitter&lt;/a&gt;.&amp;#160; The people in the Twitterverse as well as the local community response were great!&amp;#160; Shortly I was sending my resume' to several developers &amp;amp; thought leaders within the Dallas/Fort Worth .NET community, and began working on my future.&lt;/p&gt;  &lt;p&gt;At this point, it doesn't matter why &lt;a href="http://telligent.com/blogs/corporate/telligent-reduction-in-force/"&gt;Telligent had their Reduction in Force&lt;/a&gt; - I am out and I need to come to grips with that fact.&lt;/p&gt;  &lt;p&gt;The upside is that it wasn't personal, wasn't because of me or my work, I was just a salary &amp;amp; an office to them which they needed to eliminate.&amp;#160; In fact, later I discovered that I was neither the first, nor the last who received Rob's earnest &amp;amp; dour talk that day.&lt;/p&gt;  &lt;p&gt;Its late now, early Monday morning and only 7 hours before my first interview.&amp;#160;&amp;#160; The anger &amp;amp; angst is gone and I'm giddy with excitement about the future.&amp;#160;&amp;#160; As much as I hated to leave Telligent, I love new opportunities, and look forward to meeting some great people this week as I begin to interview again.&amp;#160;&amp;#160; It feels a lot like when I started in software development; the possibilities are limitless and the opportunities are exciting, I just cant wait to get started with my job, company, and project so my obsession with technology and the comradery with a great dev team can begin again.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6909635" width="1" height="1"&gt;</content><author><name>CodeSniper</name><uri>http://weblogs.asp.net/members/CodeSniper.aspx</uri></author><category term="Philosophy 101" scheme="http://weblogs.asp.net/lhunt/archive/tags/Philosophy+101/default.aspx" /><category term="Rants &amp;amp; Raves" scheme="http://weblogs.asp.net/lhunt/archive/tags/Rants+_2600_amp_3B00_+Raves/default.aspx" /><category term="Best Practices" scheme="http://weblogs.asp.net/lhunt/archive/tags/Best+Practices/default.aspx" /><category term="Patterns" scheme="http://weblogs.asp.net/lhunt/archive/tags/Patterns/default.aspx" /><category term="Telligent" scheme="http://weblogs.asp.net/lhunt/archive/tags/Telligent/default.aspx" /></entry><entry><title>Seadragon &amp; Deep Zoom</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lhunt/archive/2008/11/21/seadragon-and-deep-zoom.aspx" /><id>http://weblogs.asp.net/lhunt/archive/2008/11/21/seadragon-and-deep-zoom.aspx</id><published>2008-11-21T23:31:00Z</published><updated>2008-11-21T23:31:00Z</updated><content type="html">&lt;p&gt;I stumbled upon this today and definitely want to play with this further when I have time....&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://livelabs.com/seadragon/" mce_href="http://livelabs.com/seadragon/"&gt;&lt;img src="http://livelabs.com/files/themes/labs/images/logo_color_seadragon_90.png" style="margin-right: 10px;" alt="" mce_src="http://livelabs.com/files/themes/labs/images/logo_color_seadragon_90.png" align="left" width="100" height="100"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;SeaDragon Ajax&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://livelabs.com/seadragon/" mce_href="http://livelabs.com/seadragon/"&gt;http://livelabs.com/seadragon/&lt;/a&gt;&amp;nbsp; &lt;br&gt;&lt;/p&gt;  &lt;p style="margin-left: 120px;"&gt;&lt;i&gt;"The aim of Seadragon is nothing less than to change the way we use screens, from wall-sized displays all the way down to cell phones, &lt;/i&gt;&lt;/p&gt;  &lt;p style="margin-left: 120px;"&gt;&lt;i&gt;so that graphics and photos are smoothly browsed,&amp;nbsp; regardless of the amount of data or the bandwidth of the network."&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;h3&gt;Deep Zoom Composer&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=457b17b7-52bf-4bda-87a3-fa8a4673f8bf&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=457b17b7-52bf-4bda-87a3-fa8a4673f8bf&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=457b17b7-52bf-4bda-87a3-fa8a4673f8bf&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;  &lt;p style="margin-left: 40px;"&gt;&lt;i&gt;"&lt;span&gt;...a tool to allow the preparation of images for use with the Deep Zoom feature currently being previewed in Silverlight 2. The new Deep Zoom technology in Silverlight allows users to see images on the Web like they never have before. The smooth in-place zooming and panning that Deep Zoom allows is a true advancement and raises the bar on what image viewing should be. High resolution images need to be prepared for use with Deep Zoom and this tool allows the user to create Deep Zoom composition files that control the zooming experience and then export all the necessary files for deployment with Silverlight 2."&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6749887" width="1" height="1"&gt;</content><author><name>CodeSniper</name><uri>http://weblogs.asp.net/members/CodeSniper.aspx</uri></author><category term="AJAX" scheme="http://weblogs.asp.net/lhunt/archive/tags/AJAX/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/lhunt/archive/tags/Silverlight/default.aspx" /></entry><entry><title>FW: Batch Updates and Deletes with LINQ to SQL</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lhunt/archive/2008/06/23/fw-batch-updates-and-deletes-with-linq-to-sql.aspx" /><id>http://weblogs.asp.net/lhunt/archive/2008/06/23/fw-batch-updates-and-deletes-with-linq-to-sql.aspx</id><published>2008-06-23T23:07:09Z</published><updated>2008-06-23T23:07:09Z</updated><content type="html">&lt;p&gt;I'm currently on a project creating a proprietary data-migration tool using C# &amp;amp; Linq.&amp;#160; I'm still new to Linq, but quickly discovered the challenges of doing mass-updates and deletes with Linq.&lt;/p&gt;  &lt;p&gt;Specifically, by default Linq to Sql generates a sql statement for each row you are updating.&amp;#160; There is no built-in way to do large batch-updates or deletes without dropping to custom SQL.&amp;#160; After a quick search, I found this great article and sample code by &lt;a href="http://www.aneyfamily.com/terryandann/author/Terry%20Aney.aspx"&gt;Terry Aney&lt;/a&gt; on &lt;a href="http://www.aneyfamily.com/terryandann/post/2008/04/Batch-Updates-and-Deletes-with-LINQ-to-SQL.aspx"&gt;Batch Updates and Deletes with LINQ to SQL&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;It offers solutions to many of the basic problems with some elegant extension methods so you can do things like: &lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;be_Posts.UpdateBatch( first10, &lt;span class="kwrd"&gt;new&lt;/span&gt; { Author = &lt;span class="str"&gt;&amp;quot;Chris Cavanagh&amp;quot;&lt;/span&gt; } );&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;and &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;var posts = from p &lt;span class="kwrd"&gt;in&lt;/span&gt; be_Posts select p;   &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;be_Posts.UpdateBatch( posts, p =&amp;gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; be_Posts { DateModified = p.DateCreated, &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;                                                 Author = &lt;span class="str"&gt;&amp;quot;Chris Cavanagh&amp;quot;&lt;/span&gt; } );&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Cool stuff!&lt;/p&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6312759" width="1" height="1"&gt;</content><author><name>CodeSniper</name><uri>http://weblogs.asp.net/members/CodeSniper.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/lhunt/archive/tags/.NET/default.aspx" /><category term="C#" scheme="http://weblogs.asp.net/lhunt/archive/tags/C_2300_/default.aspx" /><category term="Linq" scheme="http://weblogs.asp.net/lhunt/archive/tags/Linq/default.aspx" /></entry><entry><title>Minimum &amp; Maximum Dates in code</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lhunt/archive/2008/06/19/minimum-amp-maximum-dates-in-code.aspx" /><id>http://weblogs.asp.net/lhunt/archive/2008/06/19/minimum-amp-maximum-dates-in-code.aspx</id><published>2008-06-19T16:35:56Z</published><updated>2008-06-19T16:35:56Z</updated><content type="html">&lt;p&gt;When updating Sql columns that need a minimum or maximum date, consider using the defaults from the System.Data.SqlType namespace:&lt;/p&gt;  &lt;blockquote&gt;   &lt;div class="csharpcode"&gt;     &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;DateTime minDate = SqlDateTime.MinValue.Value&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&lt;span class="rem"&gt;// and&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;DateTime maxDate = SqlDateTime.MaxValue.Value&lt;/pre&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;This can be a lot safer than putting hard-coded &amp;quot;magic date&amp;quot; constants in your code.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6296330" width="1" height="1"&gt;</content><author><name>CodeSniper</name><uri>http://weblogs.asp.net/members/CodeSniper.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/lhunt/archive/tags/.NET/default.aspx" /><category term="Best Practices" scheme="http://weblogs.asp.net/lhunt/archive/tags/Best+Practices/default.aspx" /><category term="C#" scheme="http://weblogs.asp.net/lhunt/archive/tags/C_2300_/default.aspx" /></entry><entry><title>What we dont know "will" hurt us...</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lhunt/archive/2008/06/05/what-we-dont-know-quot-will-quot-hurt-us.aspx" /><id>http://weblogs.asp.net/lhunt/archive/2008/06/05/what-we-dont-know-quot-will-quot-hurt-us.aspx</id><published>2008-06-05T17:17:53Z</published><updated>2008-06-05T17:17:53Z</updated><content type="html">&lt;p&gt;&lt;/p&gt; &lt;p&gt;I like this article by &lt;a href="http://simplyagile.blogspot.com" target="_blank"&gt;Nathan Henkel&lt;/a&gt;, its essentially about assessing risk and scope of projects and strikes me as&amp;nbsp;a simple truth about the uncertainties you encounter in every project: &lt;blockquote&gt; &lt;p&gt;&lt;i&gt;Information about any project can be divided into four categories:&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;br&gt;1. Things we know (and know we know)&lt;br&gt;2. Things we know we don't know&lt;br&gt;3. Things we think we know, but don't (i.e. things we're wrong about)&lt;br&gt;4. Things we don't know we don't know&lt;/i&gt; &lt;p&gt;&lt;i&gt;&lt;/i&gt; &lt;p&gt;&lt;i&gt;Obviously, if you were to try to actually figure out where everything falls, you would put everything into 1 or 2. Everything that should be in 3, you would put in 1 (you're not going to have known mistakes in your information), and everything that should be in 4 would simply be missing.&lt;/i&gt;&lt;/p&gt; &lt;p&gt;&lt;i&gt;&lt;br&gt;However, without dealing with specific items, I do think that &lt;b&gt;it's possible to guess at how much "stuff" goes in each category&lt;/b&gt;. You can take into account your history ("I tend to often be mistaken about X"), or a general feeling of ignorance ("I've never used framework Y before") to guess how much goes in each category.&lt;/i&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://simplyagile.blogspot.com/2007/10/classifying-information-or-what-we-know.html"&gt;http://simplyagile.blogspot.com/2007/10/classifying-information-or-what-we-know.html&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Sometimes, I think we get so wrapped up with what we “know” about a project that we fail to quantify what we don’t know, or the degree of certainty to which we actually know what we think we know.&amp;nbsp; As with solving any problem, the first step is to find a way to quantify&amp;nbsp;and measure&amp;nbsp;uncertainty and risk&amp;nbsp;in order to minimize it.&amp;nbsp; &lt;/p&gt; &lt;p&gt;If you track this measurement over time, it should also help your&amp;nbsp;estimation and planning&amp;nbsp;on future projects.&lt;/p&gt; &lt;p&gt;Good stuff!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6250619" width="1" height="1"&gt;</content><author><name>CodeSniper</name><uri>http://weblogs.asp.net/members/CodeSniper.aspx</uri></author><category term="Best Practices" scheme="http://weblogs.asp.net/lhunt/archive/tags/Best+Practices/default.aspx" /><category term="General Software Development" scheme="http://weblogs.asp.net/lhunt/archive/tags/General+Software+Development/default.aspx" /><category term="Project Management" scheme="http://weblogs.asp.net/lhunt/archive/tags/Project+Management/default.aspx" /></entry><entry><title>Argotic Syndication Framework 2008 released</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lhunt/archive/2008/03/27/argotic-syndication-framework-2008-released.aspx" /><id>http://weblogs.asp.net/lhunt/archive/2008/03/27/argotic-syndication-framework-2008-released.aspx</id><published>2008-03-27T16:59:12Z</published><updated>2008-03-27T16:59:12Z</updated><content type="html">&lt;p&gt;I got an email yesterday that&amp;nbsp;a major update to the &lt;a href="http://www.codeplex.com/Argotic"&gt;Argotic Syndication Framework&lt;/a&gt;&amp;nbsp;was released.&amp;nbsp;&amp;nbsp; I have used the older versions of this&amp;nbsp;framework several times for projects that need basic RSS &amp;amp; Atom parsing/generating so I'm looking forward to digging-in to the new release.&lt;/p&gt; &lt;p&gt;If you are not familiar with it, here is a quick blurb:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;The Argotic Syndication Framework is a Microsoft .NET class library framework that enables developers to easily consume and/or generate syndicated content from within their own applications. The framework makes the reading and writing syndicated content in common formats such as RSS, Atom, OPML, APML, BlogML, and RSD very easy while still remaining extensible enough to support common/custom extensions to the syndication publishing formats. The framework includes out-of-the-box implementations of 19 of the most commonly used syndication extensions, network clients for sending and receiving peer-to-peer notification protocol messages; as well as HTTP handlers and controls that provide rich syndication functionality to ASP.NET developers.&lt;/p&gt; &lt;p&gt;To learn more about the capabilities of this powerful and extensible .NET web content syndication framework and download the latest release, visit the project web site at &lt;a href="http://www.codeplex.com/argotic"&gt;http://www.codeplex.com/argotic&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Also, here are some of the new features in this release:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;a) Targeting of both the &lt;i&gt;.NET 2.0 &lt;/i&gt;and&lt;i&gt; .NET 3.5&lt;/i&gt; platforms&lt;/p&gt; &lt;p&gt;b) Implementation of the &lt;b&gt;APML&lt;/b&gt; 0.6 specification &lt;p&gt;c) Implementation of the &lt;b&gt;BlogML&lt;/b&gt; 2.0 specification &lt;p&gt;d) Native support of the &lt;b&gt;Microsoft FeedSync&lt;/b&gt; 1.0 syndication extension &lt;p&gt;e) Simplified programming API and better online/offline examples&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Brian has done an amazing job on this project from the start.&amp;nbsp; I had intended (and still hope) to jump in and contribute some of my own work, so its great to see how far it has evolved from its first releases.&lt;/p&gt; &lt;p&gt;If you work with RSS, ATOM, or any other syndication format/protocol, you should&amp;nbsp;definitely take a look at this framework for your next project.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6037780" width="1" height="1"&gt;</content><author><name>CodeSniper</name><uri>http://weblogs.asp.net/members/CodeSniper.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/lhunt/archive/tags/.NET/default.aspx" /><category term="Blogs &amp;amp; Bloggars" scheme="http://weblogs.asp.net/lhunt/archive/tags/Blogs+_2600_amp_3B00_+Bloggars/default.aspx" /></entry><entry><title>I love ClearContext!!</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lhunt/archive/2007/12/18/i-love-clearcontext.aspx" /><id>http://weblogs.asp.net/lhunt/archive/2007/12/18/i-love-clearcontext.aspx</id><published>2007-12-18T19:40:04Z</published><updated>2007-12-18T19:40:04Z</updated><content type="html">&lt;p&gt;After several months of using the&amp;nbsp;Free version of the &lt;a href="http://www.clearcontext.com/"&gt;ClearContext&lt;/a&gt; addon for Microsoft Outlook, I just cant imagine what I would do without it.&amp;nbsp; It has reduced my email time, kept me more organized, and uncluttered my Inbox better &amp;amp; faster than any ad-hoc system I have devised in the past.&lt;/p&gt; &lt;p&gt;As a developer, I hate it when I have to "code in Outlook".&amp;nbsp; If it were up to me, I would ban all email during a project and deal with all communication&amp;nbsp;via instant messenging, Scrum meetings,&amp;nbsp;and whiteboards, but the truth is that email is a neccessary evil especially as a Tech Lead who needs to interface with the Project Manager, Customer, and IT personnel.&lt;/p&gt; &lt;p&gt;Enter ClearContext Information Management System... &lt;/p&gt; &lt;p&gt;First, I set it up to flag emails from my bosses in &lt;font color="#ff0000"&gt;Red&lt;/font&gt;, so I dont miss them.&amp;nbsp; Plus, for good measure, I have an Outlook rule that sets a FollowUp flag to make sure I dont overlook them.&amp;nbsp; Also, ClearContext automagically ranks emails based upon my prior history with this person, so I know what to do when I get some nice &lt;font color="#0000ff"&gt;blue&lt;/font&gt; and &lt;font color="#008000"&gt;green&lt;/font&gt; colored mail too.&lt;/p&gt; &lt;p&gt;If I receive an email relating to my current project, I simply hit &lt;strong&gt;ALT-P&lt;/strong&gt; to&amp;nbsp;popup the CC dialog and flag it with the topic "projects/MyProject" then&amp;nbsp;either leave it in the inbox for further review, or hit &lt;strong&gt;ALT-M&lt;/strong&gt; to file the message&amp;nbsp;for future reference.&amp;nbsp;&amp;nbsp;&amp;nbsp; Accordingly, if I receive some corporate or administrative relating email, then I assign it's topic&amp;nbsp;appropriately and file the message to send it to its respective holding area.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;The act of assigning a Topic (ALT-P), automatically creates&amp;nbsp;subfolders within my Inbox (e.g.&amp;nbsp; inbox/projects/MyProject) matching the topic name (Note the trick of adding a "/" to the topic name to create a nested subfolder at the same time).&amp;nbsp; The act of filing a message (ALT-M), moves it to the subfolder identified by the topic name.&amp;nbsp; This is great because the messages are nolonger visible in the Inbox listing, but are still within the Inbox via the subfolder.&lt;/p&gt; &lt;p&gt;At that point, my AutoArchive settings will take care of moving it off on a monthly basis in case I need it later.&lt;/p&gt; &lt;p&gt;At some point, I want to look at the full product, which has features for deferring emails, converting them to tasks &amp;amp; appointments, assigning them to other people, etc.&amp;nbsp;&amp;nbsp; See their &lt;a href="http://www.clearcontext.com/products/index.html" rel="tag"&gt;Features Overview&lt;/a&gt; section for more on these areas.&lt;/p&gt; &lt;p&gt;If these features are nearly as useful as the ones I use now, then I could *gasp*&amp;nbsp;become even more productive!&amp;nbsp; woot!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5469786" width="1" height="1"&gt;</content><author><name>CodeSniper</name><uri>http://weblogs.asp.net/members/CodeSniper.aspx</uri></author><category term="Technology" scheme="http://weblogs.asp.net/lhunt/archive/tags/Technology/default.aspx" /><category term="Miscellaneous" scheme="http://weblogs.asp.net/lhunt/archive/tags/Miscellaneous/default.aspx" /><category term="General Software Development" scheme="http://weblogs.asp.net/lhunt/archive/tags/General+Software+Development/default.aspx" /></entry><entry><title>Degrees of optimism in projects</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lhunt/archive/2007/11/30/degrees-of-optimism-in-projects.aspx" /><id>http://weblogs.asp.net/lhunt/archive/2007/11/30/degrees-of-optimism-in-projects.aspx</id><published>2007-12-01T01:22:13Z</published><updated>2007-12-01T01:22:13Z</updated><content type="html">&lt;p&gt;Whenever I lead a project, I always try to plan in such a way that sets me and my team up for success.&amp;nbsp;&amp;nbsp; I do this in many ways, starting with a good methodology,&amp;nbsp;doing&amp;nbsp;thorough analysis, and providing a level of risk/certainty along with any estimates I provide.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Part of this strategy involves ensuring that client expectations match&amp;nbsp;developer and project expectations.&amp;nbsp; I tend to use the tried and true approach; "Plan for the worst, hope for the best". &lt;/p&gt; &lt;p&gt;Some people see me as a pessimist, but I beg to differ - I consider myself a cynical, yet optimistic, realist.&amp;nbsp; By that, I mean that although I do plan everything based upon the worst case scenario, in my heart I truly believe we are going to achieve the best case scenario every time.&amp;nbsp; It often surprises me when people take my approach to be negative while&amp;nbsp;at the same time, I often see their&amp;nbsp;approach naive &amp;amp;&amp;nbsp;overly optimistic.&lt;/p&gt; &lt;p&gt;The truth is that there seems to be a gradient scale of attitudes and philosophies employed from project to project depending upon the people leading and participating in the project.&lt;/p&gt; &lt;p&gt;Over the years,&amp;nbsp;I started a private game in my head of creating nicknames for the different patterns of behavior.&amp;nbsp; Here are a few names of I have toyed with in the past:&lt;/p&gt; &lt;p&gt;&lt;br&gt;"Expect the worst,&amp;nbsp;then add 20%"&amp;nbsp;- &lt;strong&gt;The &lt;/strong&gt;&lt;strong&gt;Pessimist&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;"Expect the worst, hope for the best" &lt;strong&gt;-&lt;/strong&gt; &lt;strong&gt;Reformed Pessimist&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;"Expect the best" - &lt;strong&gt;Mr. Optimist&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;"Expect the best, but prepare for the worst" - &lt;strong&gt;Fallen Optimist&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;"Plan for the worst, hope for the best, but expect something in between" - &lt;strong&gt;Uncle Realist&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;"Just do it!" -&amp;nbsp;&lt;strong&gt;El Toro &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;"It is what it is." - &lt;strong&gt;Aunt Apathy&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;"I don't want to hear about risks, just tell me when it's done." - &lt;strong&gt;The Ostrich&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;"Oh, you arent done yet?" - &lt;strong&gt;Captain&lt;/strong&gt; &lt;strong&gt;Oblivious&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;"How much longer?" - &lt;strong&gt;The Waiter&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Which one are you?&amp;nbsp; Is there one philosophy or attitude you believe works better than others?&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5385242" width="1" height="1"&gt;</content><author><name>CodeSniper</name><uri>http://weblogs.asp.net/members/CodeSniper.aspx</uri></author><category term="Philosophy 101" scheme="http://weblogs.asp.net/lhunt/archive/tags/Philosophy+101/default.aspx" /></entry><entry><title>Manual CRUD operations with the Telerik RadGrid control</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lhunt/archive/2007/10/17/manual-crud-operations-with-the-telerik-radgrid-control.aspx" /><id>http://weblogs.asp.net/lhunt/archive/2007/10/17/manual-crud-operations-with-the-telerik-radgrid-control.aspx</id><published>2007-10-17T15:33:00Z</published><updated>2007-10-17T15:33:00Z</updated><content type="html">&lt;p&gt;I have been working on a project lately that was already using the &lt;a href="http://www.telerik.com" mce_href="http://www.telerik.com" target="_blank" rel="nofollow"&gt;Telerik&lt;/a&gt; ASP.NET Rad Controls suite.&amp;nbsp; One of the new&amp;nbsp;features was a fully editable web-grid, so I chose to use the existing ajax-enabled RadGrid control to speed my&amp;nbsp;development.&amp;nbsp; I chose to use a 3rd party control, mostly due to time constraints since&amp;nbsp;the project required a grid with inline-editing, full CRUD operations, plus custom column templates, all with heavy Ajax support to avoid postbacks and excessive page size.&lt;/p&gt; &lt;p&gt;I soon discovered, the Telerik controls are nice tool for simple uses where you can use asp.net DataSource controls and automatic databinding, but not so much if you need to get "fancy" with your implementation.&amp;nbsp; In&amp;nbsp;my case I needed to do 2 things that cross over into the grey area where these controls excel.&lt;/p&gt; &lt;p&gt;First, I'm using an early 2.0 version of &lt;a href="http://www.nettiers.org" mce_href="http://www.nettiers.org" target="_blank" rel="nofollow"&gt;NetTiers&lt;/a&gt; for the DAL (with Service Layer implementation) with custom mods to the entities as the datasource,&amp;nbsp; and second, I'm doing some aggregate custom ItemTemplates that require custom data-binding.&lt;/p&gt; &lt;p&gt;This lead to&amp;nbsp;extreme complexity in the implementation because, A) this version of NetTiers' had problems with properly generating CRUD operations for its EntityDataSource controls (NetTiers entities mapped onto a custom ObjectDataSource style control) which prevented me from using the declarative model, and B) the RadGrid control simply&amp;nbsp;sucks if you cannot use automatic databinding and if you require custom databinding logic.&lt;/p&gt; &lt;p&gt;It would be great if I could upgrade NetTiers and/or Teleriki RadControls to the latest versions, but it wasnt possible in this situation, nor is it likely that this would have solved my problems.&lt;/p&gt; &lt;p&gt;Anyhow, all this discussion is basically just to share you this one link to a user-contributed example I found incredibly useful after 3 days of searching their forums, demos, and 3rd party blogs.&amp;nbsp;&amp;nbsp; This example shows how to manually&amp;nbsp;implement Insert/Update/Delete functionality within the RadGrid control by handling the events &lt;b&gt;OnNeedDataSource&lt;/b&gt;,&amp;nbsp;&lt;b&gt;OnItemCommand&lt;/b&gt;, &lt;b&gt;OnInsertCommand&lt;/b&gt;, &lt;b&gt;OnUpdateCommand&lt;/b&gt;, and &lt;b&gt;OnDeleteCommand&lt;/b&gt;:&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.telerik.com/community/code-library/submission/b311D-mmdbh.aspx" mce_href="http://www.telerik.com/community/code-library/submission/b311D-mmdbh.aspx"&gt;http://www.telerik.com/community/code-library/subm...&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The reason this link is important is because the Telerik website, with all of its dozens of examples, consistently shows very basic scenarios, even in samples labeled "advanced".&amp;nbsp; Also, not all of the API features are fully or well documented to help you figure this out on your own.&lt;/p&gt; &lt;p&gt;Hopefully this simple link (which should be promoted to Telerik's demos/samples page) will help someone else as much as it did me.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=4607004" width="1" height="1"&gt;</content><author><name>CodeSniper</name><uri>http://weblogs.asp.net/members/CodeSniper.aspx</uri></author><category term="ASP.NET" scheme="http://weblogs.asp.net/lhunt/archive/tags/ASP.NET/default.aspx" /></entry><entry><title>VPC 2007 Dual Monitor support</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lhunt/archive/2007/10/11/vpc-2007-dual-monitor-support.aspx" /><id>http://weblogs.asp.net/lhunt/archive/2007/10/11/vpc-2007-dual-monitor-support.aspx</id><published>2007-10-11T17:11:00Z</published><updated>2007-10-11T17:11:00Z</updated><content type="html">&lt;p&gt;I have been trying to find a way to&amp;nbsp;allow you to run Virtual PC 2007 with multiple monitors.&amp;nbsp; Natively VPC 2007 doesnt support more than 1 monitor, however you can "trick" it by using various techniques that expand the desktop area into a larger virtual desktop.&lt;/p&gt;
 
&lt;p&gt;I tried using&amp;nbsp;the awesome &lt;a href="http://www.maxivista.com" mce_href="http://www.maxivista.com" target="_blank" rel="tag"&gt;MaxiVista tool&lt;/a&gt; which can extend your screen across separate PC's (think "push" remote desktop), but the &lt;a href="http://blogs.msdn.com/virtual_pc_guy/archive/2007/02/20/multi-monitor-fullscreen-mode-compatibility-with-virtual-pc-2007.aspx" mce_href="http://blogs.msdn.com/virtual_pc_guy/archive/2007/02/20/multi-monitor-fullscreen-mode-compatibility-with-virtual-pc-2007.aspx" target="_blank" rel="nofollow"&gt;new multi-monitor compatibility feature of VPC 2007&lt;/a&gt; (which inexplicably does not add multi-monitor support) made this difficult since it ensures that your desktop recaptures your mouse when you move it outside of the VPC window thus preventing the extended screen from being accessible.&lt;/p&gt;
 
&lt;p&gt;So, instead I tried the Remote Desktop approach mentioned in &lt;a href="http://stevenharman.net/blog/archive/2007/04/03/Using-Virtual-PC-with-Multiple-Monitors-Sort-Of.aspx" mce_href="http://stevenharman.net/blog/archive/2007/04/03/Using-Virtual-PC-with-Multiple-Monitors-Sort-Of.aspx" target="_blank" rel="nofollow"&gt;Steven Harman's blog post&lt;/a&gt;.&amp;nbsp;&amp;nbsp; &lt;/p&gt;
 
&lt;p&gt;Here is a quick rundown on how it works:&lt;/p&gt;
 
&lt;p&gt;Connect 2 monitors to your&amp;nbsp;PC (more than 2 typically don't work with this approach).&amp;nbsp;&amp;nbsp; Make sure to extend your desktop onto the 2nd screen via &lt;b&gt;Display Properties -&amp;gt; Settings.&lt;/b&gt;&amp;nbsp; Then launch Remote Desktop (mstsc.exe) with the "/span" flag:&lt;/p&gt;

&lt;pre style="background-color: White;"&gt;&lt;div&gt;&lt;!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;mstsc &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;/&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;span&lt;/b&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p&gt;Then just use Remote Desktop as usual by specifying your VPC's computer name in the connection dialog.&lt;/p&gt;

&lt;p&gt;When I first tried this, it still didnt work exactly right.&amp;nbsp; It kept giving me annoying scrollbars instead of going full screen, so I added this extra flag to force it into fullscreen:&lt;/p&gt;


&lt;pre style="background-color: White;"&gt;&lt;div&gt;&lt;!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;mstsc &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;span &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;/&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;f&lt;/b&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p&gt;Also, since I didnt want VPC to have the extra overhead of maintaining 2 sessions (the console and my new RDP session), I threw in one more flag to make it simply take-over the initial console window:&lt;/p&gt;


&lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:5c2c3e8b-49c7-4bde-af5d-7154253db7a4" contenteditable="false" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;
&lt;pre style="background-color: White;"&gt;&lt;div&gt;&lt;!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;mstsc &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;span &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;f &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;/&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;console&lt;/b&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;b&gt;NOTE&lt;/b&gt;: The &lt;b&gt;&lt;i&gt;/span&lt;/i&gt;&lt;/b&gt; flag is only present on the very latest version of Remote Desktop Connection.&amp;nbsp; Therefore, you must either be running Vista on both PC's, or install the update specified here:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://support.microsoft.com/kb/925876" mce_href="http://support.microsoft.com/kb/925876"&gt;http://support.microsoft.com/kb/925876&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are limitations on how your&amp;nbsp; monitors must be configured in order for this flag to work.&lt;/p&gt;

&lt;p&gt;Also, keep in mind that this technique only enlarges your desktop area sufficiently large enouch to span both monitors, but it DOES NOT behave exactly like the native dual-monitor support you may be accustomed to.&amp;nbsp; For example, when you maximize a window, it maximizes across BOTH monitors instead of maximizing within the confines of a single monitor.&amp;nbsp;&amp;nbsp; For now, I'm just dealing with that by avoiding maximizing and just manually resizing windows to fit 1 screen.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Advanced Users:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;One way to avoid having to arrange windows each time is to use a cryptic,&amp;nbsp;yet&amp;nbsp;incredible tool called &lt;a href="http://www.hawkeyetech.com/products/freeware.htm#hsi" mce_href="http://www.hawkeyetech.com/products/freeware.htm#hsi" target="_blank" rel="nofollow"&gt;Hawkeye ShellInit.&lt;/a&gt; ShellInit is a small application that helps you manipulate your desktop &amp;amp; application windows via script.&amp;nbsp;&amp;nbsp; Here is a small script that will move Visual Studio over the right-hand screen (assuming 1280x1024 resolution) and enlarge it to the correct size.
&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:9faff421-cf10-4f33-8da4-64c3b1501425" contenteditable="false" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;&lt;pre style="background-color: White;"&gt;&lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Position Window, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Microsoft Visual Studio, wndclass_desked_gsk, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1280&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1288&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1002&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;If you decide to use this tool, make sure and read the readme.txt file for some good sample scripts and ideas.&lt;b&gt;&lt;/b&gt; &lt;/p&gt;

&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=4524121" width="1" height="1"&gt;</content><author><name>CodeSniper</name><uri>http://weblogs.asp.net/members/CodeSniper.aspx</uri></author><category term="Virtualization" scheme="http://weblogs.asp.net/lhunt/archive/tags/Virtualization/default.aspx" /></entry><entry><title>Link Love: 09/21/2007</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lhunt/archive/2007/09/21/link-love-09-21-2007.aspx" /><id>http://weblogs.asp.net/lhunt/archive/2007/09/21/link-love-09-21-2007.aspx</id><published>2007-09-21T20:47:54Z</published><updated>2007-09-21T20:47:54Z</updated><content type="html">&lt;p&gt;I havent been blogging much over the past several months.&amp;nbsp; The main reason is time, or the lack thereof.&amp;nbsp; Since I dont have time to write a "proper" blog post, I'm just going to start sharing some link love...&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Here are a few interesting links I have spent time perusing today:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://developer.yahoo.com/performance/rules.html" target="_blank" rel="tag"&gt;Thirteen Simple Rules for Speeding Up Your Web Site&lt;/a&gt;&amp;nbsp;- a great checklist to review before releasing any public website into the wild.  &lt;li&gt;&lt;a href="http://scbr.com/docs/products/dhtmlxGrid/index.shtml" target="_blank" rel="tag"&gt;dhtmlxGrid&lt;/a&gt; - an open source&amp;nbsp;(but commercial) editable DHTML grid with AJAX support.  &lt;li&gt;&lt;a href="http://www.codeproject.com/aspnet/EditGridviewCells.asp" target="_blank" rel="tag"&gt;Edit Individual GridView Cells&lt;/a&gt; - an article on how to make clickable ASP.NET gridview cells to allow for a rich editing experience.&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=4016651" width="1" height="1"&gt;</content><author><name>CodeSniper</name><uri>http://weblogs.asp.net/members/CodeSniper.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/lhunt/archive/tags/.NET/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/lhunt/archive/tags/ASP.NET/default.aspx" /><category term="AJAX" scheme="http://weblogs.asp.net/lhunt/archive/tags/AJAX/default.aspx" /></entry><entry><title>Note to self: Blog about using Service Broker</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lhunt/archive/2007/06/14/note-to-self-blog-about-using-service-broker.aspx" /><id>http://weblogs.asp.net/lhunt/archive/2007/06/14/note-to-self-blog-about-using-service-broker.aspx</id><published>2007-06-14T18:31:54Z</published><updated>2007-06-14T18:31:54Z</updated><content type="html">&lt;p&gt;Just a note to myself to do a braindump on all this Service Broker shiznit I have been playing with lately. &lt;/p&gt; &lt;p&gt;Potential discussion topics:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;MessageTypes, Contracts, Queues, and Services.&lt;/li&gt; &lt;li&gt;Internal Activation, Routing,&amp;nbsp;&amp;amp; External Activation&lt;/li&gt; &lt;li&gt;Using the Sql Server ServiceBroker sample library.&lt;/li&gt; &lt;li&gt;Implementation using&amp;nbsp;SqlClr vs. TSQL&lt;/li&gt; &lt;li&gt;Developing via messages instead of procedures...&lt;/li&gt; &lt;li&gt;Compare &amp;amp; contrast Service Broker vs. Workflow Foundation vs. BizTalk&lt;/li&gt; &lt;li&gt;The nifty Sql Service Broker Admin tool (3rd-party)&lt;/li&gt; &lt;li&gt;Practical examples:&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Async "fire-and-forget" stored procedure invocation&lt;/li&gt; &lt;li&gt;Query Notification for cache invalidation&lt;/li&gt; &lt;li&gt;PubSub&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=2819379" width="1" height="1"&gt;</content><author><name>CodeSniper</name><uri>http://weblogs.asp.net/members/CodeSniper.aspx</uri></author></entry><entry><title>The influence of style upon methodology...</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lhunt/archive/2007/05/23/the-influence-of-style-upon-methodology.aspx" /><id>http://weblogs.asp.net/lhunt/archive/2007/05/23/the-influence-of-style-upon-methodology.aspx</id><published>2007-05-24T00:53:00Z</published><updated>2007-05-24T00:53:00Z</updated><content type="html">&lt;p&gt;No matter how faithfully you try to follow your chosen&amp;nbsp;project methodology (Scrum,&amp;nbsp;Extreme Programming, Waterfall, CMMI, etc.)&amp;nbsp;ultimately the&amp;nbsp;strengths, weaknesses, successes, and failures you experience are determined by the&amp;nbsp;habits, attitude, and style&amp;nbsp;of the project manager and team members&amp;nbsp;on the project.&amp;nbsp;&lt;/p&gt; &lt;p&gt;How is communication conducted? Meetings, hallway, bullpen, email, IM?&lt;/p&gt; &lt;p&gt;How do you react to change?&amp;nbsp; How well do you manage scope?&lt;/p&gt; &lt;p&gt;How much trust/distrust is there amongst team members?&lt;/p&gt; &lt;p&gt;How rigorously or adaptively do you apply your process to each project?&lt;/p&gt; &lt;p&gt;Do you micromanage or do you empower?&lt;/p&gt; &lt;p&gt;This is the crux of why so many people disagree with most definitions of exactly what Agile is.&amp;nbsp; This is&amp;nbsp;why some people fail with one methodology while others succeed, and some unique individuals actually find great success with seemingly outdated methodologies like Waterfall.&amp;nbsp;&amp;nbsp;&amp;nbsp;Much like with any good pasta, its not the ingredients in the sauce, its the sauce-maker(s).&lt;/p&gt; &lt;p&gt;I guarantee you that even the most rigorous Agile shop will see great variance (good and bad) between projects merely due to the different personalities of the project managers who manage each project.&amp;nbsp; This is the human factor of software development that can never completely be erased.&amp;nbsp; Your best hope is to try to&amp;nbsp;control,&amp;nbsp;monitor, and compensate.&lt;/p&gt; &lt;p&gt;There are plenty of excellent books to help you define your rules-of-engagement, develop good habits, and provide checks-and-balances throughout your project.&amp;nbsp;&amp;nbsp;However, ultimately experience is our best teacher for what habits, styles, and attitudes result in the most successful projects.&amp;nbsp; Of course, to complicate things further, these same success factors may change from project to project.&lt;/p&gt; &lt;p&gt;In my opinion, good project management is like any other art form - everyone has different tastes, everyone does it at least a little different, and deep down you just hope that you have the right combination of experience,&amp;nbsp;talent, and&amp;nbsp;style to be able to execute on your vision.&amp;nbsp; I'm just curious about how many other styles of project management are out there, and which ones people find the most successful.&lt;br&gt;&lt;/p&gt;&lt;p&gt;What daily personal work habits do you find the most crucial for project team members?&lt;/p&gt;&lt;p&gt;What project management styles have you seen that were the most successful?&amp;nbsp; Least successful?&lt;/p&gt;&lt;p&gt;Does your organization try to limit the impact of personal style, or embrace it?&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=2647054" width="1" height="1"&gt;</content><author><name>CodeSniper</name><uri>http://weblogs.asp.net/members/CodeSniper.aspx</uri></author><category term="Philosophy 101" scheme="http://weblogs.asp.net/lhunt/archive/tags/Philosophy+101/default.aspx" /><category term="General Software Development" scheme="http://weblogs.asp.net/lhunt/archive/tags/General+Software+Development/default.aspx" /><category term="Project Management" scheme="http://weblogs.asp.net/lhunt/archive/tags/Project+Management/default.aspx" /></entry><entry><title>My fair and biased opinion on the recent upgrade...</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lhunt/archive/2007/05/18/my-fair-and-biased-opinion-on-the-recent-upgrade.aspx" /><id>http://weblogs.asp.net/lhunt/archive/2007/05/18/my-fair-and-biased-opinion-on-the-recent-upgrade.aspx</id><published>2007-05-18T19:07:09Z</published><updated>2007-05-18T19:07:09Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;DISCLAIMER:&amp;nbsp; The following post represents my personal opinions and thoughts, not that of my employer.&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;As a Telligent employee and weblogs.asp.net blogger, I hate the fact that the recent upgrade caused problems for&amp;nbsp;the weblogs.asp.net community and that it has affected the perception of Telligent as its steward.&amp;nbsp;&amp;nbsp; I wasnt one of the developers who worked on the project, but I couldnt help but feel a twinge of pain each time I read a post (often rightfully) slamming the team and company&amp;nbsp;who delivered this upgrade.&lt;/p&gt; &lt;p&gt;Long before I joined Telligent, I was one of the more vocal bloggers about the mishandling of the weblogs.asp.net site.&amp;nbsp;&amp;nbsp; The great irony is that most of my&amp;nbsp;arguments at that time were about how rarely the site was updated to newer versions of .TEXT and CS.&amp;nbsp;&amp;nbsp; Since that time, its hard to argue that it hasnt gotten much better.&amp;nbsp; Eventually I became satisfied and frequently impressed with the website changes as we finally were able to take advantage of Community Server's outstanding features.&amp;nbsp; &lt;/p&gt; &lt;p&gt;This latest release really excited me because it was very timely (coming on the heals of CS 2007's release) and had the potential to allow me to finally have the level of control I wanted over my blog's presentation.&lt;/p&gt; &lt;p&gt;Even with the recent problems,&amp;nbsp;especially the fact that I need to resubmit my javascript, I'm still excited about this release.&amp;nbsp;&amp;nbsp;&amp;nbsp;In fact, I truly was never all that disturbed by the problems as they were occurring&lt;/p&gt; &lt;p&gt;Was I surprised?&amp;nbsp; Yes.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Was it annoying? Sure.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Would I have preferred an email beforehand?&amp;nbsp; Absolutely.&lt;/p&gt; &lt;p&gt;I thought about my lack of concern, and had to ask myself why I wasnt more put-off by the problems of this update.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Was it just because I am now an employee?&amp;nbsp; &lt;/p&gt; &lt;p&gt;Was my blog nolonger as important to me as before?&lt;/p&gt; &lt;p&gt;The answer, is quite simple.&amp;nbsp; After coming to work for Telligent, I have met (most of) the people who work on Community Server and the Weblogs.ASP.net websites.&amp;nbsp; Every one of them are top developers who are professional and thoughtful of every change they make and how it will affect the community.&amp;nbsp;&amp;nbsp; They have the best intentions of delivering new innovations to the community as cleanly and effectively as possible.&lt;/p&gt; &lt;p&gt;In short, I trust that the people in this company will always try their best to do the right thing for our customers, users, and community.&amp;nbsp;&amp;nbsp; If you knew the people here, and saw their passion, attention to detail,&amp;nbsp;and work ethic, I have no doubt you would feel the same.&lt;/p&gt; &lt;p&gt;Do we always succeed 100%?&amp;nbsp; No.&lt;/p&gt; &lt;p&gt;Do we WANT to succeed 100%?&amp;nbsp; Absolutely.&lt;/p&gt; &lt;p&gt;Will we continue to try and improve our processes to avoid such problems in the future?&amp;nbsp; Undoubtedly.&lt;/p&gt; &lt;p&gt;As the philosophy goes; "if you arent making any mistakes, then you arent trying hard enough".&amp;nbsp;&amp;nbsp; I dont know how/why things went awry this time, nor am I in a position to investigate it since I'm just a developer here.&amp;nbsp;&amp;nbsp;I just trust the weblogs.asp.net team and my company to do the right thing.&amp;nbsp; They always have in the past, so I see no reason to doubt it in this situation.&lt;/p&gt; &lt;p&gt;I just wanted to share this view with my fellow bloggers.&amp;nbsp; You can obviously choose to say "Lance has sold-out and is trying to back-up his employer" but I the truth is that I really believe what I said above.&amp;nbsp; Nobody asked me to write this. In fact, I'm sure there might be some here who would prefer that I didnt even post this...&lt;/p&gt; &lt;p&gt;In the long term, I belive this will be a better site and a better community after this upgrade is stabilized and people realize how major this upgrade was, and how&amp;nbsp;much new flexibility and control you now have to personlize your blog and make it&amp;nbsp;the true home you always wanted.&lt;/p&gt; &lt;p&gt;As my mom always said; "this too shall pass.."&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=2617130" width="1" height="1"&gt;</content><author><name>CodeSniper</name><uri>http://weblogs.asp.net/members/CodeSniper.aspx</uri></author><category term="Blogs &amp;amp; Bloggars" scheme="http://weblogs.asp.net/lhunt/archive/tags/Blogs+_2600_amp_3B00_+Bloggars/default.aspx" /></entry></feed>