<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6895883274361541418</id><updated>2011-12-07T10:17:11.677+05:00</updated><category term='Curious Case'/><category term='Google Analytics'/><category term='Resource Links'/><category term='TDD'/><category term='Dive Into'/><category term='Blogger'/><category term='Unit Testing'/><category term='Facebook'/><category term='timeline'/><category term='rant'/><category term='Test Driver Development'/><title type='text'>Debuggerman</title><subtitle type='html'>Debuggerman is a one stop programming resource with regular feeds of handpicked information from across the web. Main focus is on &lt;b&gt;.NET, Design Patterns, Design Principles and Desktop Application Development&lt;/b&gt;.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://debuggerman.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://debuggerman.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Zaki Shaheen</name><uri>http://www.blogger.com/profile/07722036351618910833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-SWqRHiMP6IM/Tg8xu8G_9OI/AAAAAAAAAH8/J9QNeiYBTVo/s220/248027_10150646169855297_643255296_19051581_1940871_n.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6895883274361541418.post-2140276742460885090</id><published>2011-12-07T10:13:00.000+05:00</published><updated>2011-12-07T10:17:11.685+05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='timeline'/><title type='text'>Why Facebook's Timeline is useless (Part-1)</title><content type='html'>Since a couple of days, I've had a revalation. You know, one of those shower clicks you get once in a while if you are a typical wanna-be-geek like me.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Timeline does not solve any problem. &lt;/b&gt;Yes it looks cool. Yes it is a technological achievement to fetch all that information in blink of an eye. Yes it makes our memories even more memorable and documentable (which is debatable). But it does not solve any problem per se. &lt;i&gt;Coolness does not solve problems.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Timeline did not get executed properly. &lt;/b&gt;There was a lot of hype about it around the blogosphere and by Facebook itself at the F8 conference, but even after 4 months its no where near launched completely. This puts another dent on face book's not-so-immaculate track record when it comes to changes. I love it when Facebook breaks the status-coup and makes a change for the better of the users like the newsfeed changes earlier in 2011. I was also seduced by the apparently sexiness of &amp;nbsp;the Timeline - but don't think it solves any problem.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;So what problem should have been solved?&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The biggest problem with internet in general and social networks (read Facebook/Twitter/Youtube) in particular is that it suffers from chronic amnesia and as a side-effect, paranoia. What's worse is that its completely oblivious of this condition - and as a meme does, it propagates like a virus - users its hosts. People are more impulsive in posting things and other people are as if waiting to accept and get excited about anything that they see on their profiles/feeds. The amnesia side is evident when old articles are posted again and again - and if they are horrific, it creates paranoia. But paranoia is quickly overridden by something nice a user see's on their profile and amnesia kicks in again. The whole thing usually gets forgotten very quickly, and this is a major problem that is going to haunt the internet if not fixed right now. &amp;nbsp;Things get lost and forgotten really easily and events like OccupyWallStreet and others pick up quickly, die quickly - typical impulsiveness. The social network corporations are selling the drug any young generation longs for - a small shot of excitement. So, internet is suffering from short term memory loss. The only revenue they are making at all is through ads. The strategy is simple : keep the users busy on your service while you show "relevant" ads. &lt;i&gt;Is it all about the money?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Second problem, which the open graph and the semantic web should have solved by now - and especially I wanted it to be solved by the Timeline feature - is that the information is still isolated. Not only topic wise (which I admit is getting better) but time wise. This creates a void of context, leaves reader with no other option to accept what is being posted. It makes the spam harder to tackle - and useful information harder to track. (Some services tackle this in one way or the other). The biggest headache is trying to find a song that my friend posted on his Facebook profile. But since we have amnesia, we forget that we have forgotten where it was.&amp;nbsp;&lt;i&gt;Don't tell me you've never had a moment like that? Its NOT your fault!&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Third, the information lacks packaging. If there is any packaging at all, it exists with the corporations that produce the information. User's trust the source - but at the end of the day they are interested in the content only. WSJ, Mashable, Techcrunch, 9to5Mac and other very credible sources can sometimes get away with paid for content without informing the users. Even if they are one off incidents, they create a bad market (which is evident in some products going dead only after getting a download link via these sites because they could not sustain it). It also affects democracy and explorability. If I am reading a review of a product on Amazon, why should I have to bother and see what Barnes and Nobles users say about that particular book? If I am reading tech crunch about an Android device, why should I be limited to just tech-crunch when nearly all the web is posting something. To some extent, there &lt;i&gt;are&lt;/i&gt; products that are trying to resolve this (e.g. comparison search engines etc.). Facebook trys to bring up the most shared things on top, try to chunk the information. But again, &lt;i&gt;do you have a say in it? Can YOU dig deeper in that graph?. No!&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;So it all boils down to three basic problems: amnesia, connection and packaging. All this should have been the root problem the timeline is solving. Its meant to slow things down on the internet, put a valve on the firehose of information, bring the information into a democratic connection - and package it the way user's would love to consume.&lt;br /&gt;&lt;br /&gt;The thoughtful among us hate the internet right now. The thoughtful&amp;nbsp;among&amp;nbsp;us hate the news. The thoughtful&amp;nbsp;among&amp;nbsp;us hate the technology. The thoughtful of us hate the corporations that are bombarding us with breaking news and imposing advertisements.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Its time someone sets it right.&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6895883274361541418-2140276742460885090?l=debuggerman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debuggerman.blogspot.com/feeds/2140276742460885090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6895883274361541418&amp;postID=2140276742460885090&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/2140276742460885090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/2140276742460885090'/><link rel='alternate' type='text/html' href='http://debuggerman.blogspot.com/2011/12/why-facebooks-timeline-is-useless.html' title='Why Facebook&apos;s Timeline is useless (Part-1)'/><author><name>Zaki Shaheen</name><uri>http://www.blogger.com/profile/07722036351618910833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-SWqRHiMP6IM/Tg8xu8G_9OI/AAAAAAAAAH8/J9QNeiYBTVo/s220/248027_10150646169855297_643255296_19051581_1940871_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6895883274361541418.post-367321717244120409</id><published>2009-10-13T19:45:00.001+06:00</published><updated>2009-10-13T19:45:48.465+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Resource Links'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>Resource Links #6</title><content type='html'>&lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/joshpoley/archive/2009/10/02/test-plan-template.aspx" target="_blank"&gt;Extensive Test plan template&lt;/a&gt;: If you are starting to build test plans for your product this is good resource to start with. Its based on IEEE 892 and is used by XBox team with some amendments. Covers a lot of ground.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/ericlippert/archive/2009/10/05/why-no-extension-properties.aspx" target="_blank"&gt;Why no extension properties&lt;/a&gt;: Eric Lippert explains the science behind not having extension properties like extension methods in C#.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/ricom/archive/2009/10/05/my-history-of-visual-studio-part-1.aspx" target="_blank"&gt;My history of visual studio&lt;/a&gt;: Another extensive and deep post by Rico Mariani (Visual studio chief architect). Channel 9 started a series of these as well &lt;a href="http://channel9.msdn.com/shows/VisualStudioDocumentary/The-Visual-Studio-Documentary-Part-One/" target="_blank"&gt;here&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devlicio.us/blogs/casey/archive/2009/10/06/good-developers-write-good-code-instinctively.aspx?CommentPosted=true#commentmessage" target="_blank"&gt;Good developers write good code instinctively&lt;/a&gt;: An insightful post by Casey.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.construx.com/blogs/stevemcc/archive/2008/05/13/Software_2700_s-Classic-Mistakes_2D002D00_2008.aspx" target="_blank"&gt;Classic software mistakes&lt;/a&gt;: Steve McConell illustrates an in-depth study on why software projects fail.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://research.microsoft.com/en-us/news/features/nagappan-100609.aspx" target="_blank"&gt;Exploding software engineering myths&lt;/a&gt;: Microsoft research busts some software engineering myths using practical data at Microsoft.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.scottbellware.com/2009/07/myth-of-developer-productivity.html" target="_blank"&gt;Myths of software development productivity&lt;/a&gt;: Self explanatory title.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://codezest.com/archive/2009/10/07/oh-thatrsquos-just-ldquoacademicrdquo-talk-not-reality.aspx" target="_blank"&gt;Oh that’s just academic talk&lt;/a&gt;: Ever heard that phrase in software industry? Read how smart business talk is not academic talk.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.lostechies.com/blogs/scottcreynolds/archive/2009/10/07/how-we-do-things-tdd-bdd.aspx" target="_blank"&gt;How we do things – TDD&lt;/a&gt;: Another bit of my shameless evangelism for TDD.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.objectmentor.com/articles/2009/10/08/tdd-triage" target="_blank"&gt;TDD triage&lt;/a&gt;: Uncle Bob debunking TDD myths.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://butunclebob.com/ArticleS.UncleBob.TheThreeRulesOfTdd" target="_blank"&gt;The three rules of TDD&lt;/a&gt;: Uncle bob’s three rules of TDD.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata" target="_blank"&gt;The Bowling game kata&lt;/a&gt;: I wrote a post about TDD kata based on Roy Oshirove’s post. Here’s uncle bob’s Bowling game kata. Also there is a &lt;a href="http://butunclebob.com/ArticleS.UncleBob.ThePrimeFactorsKata" target="_blank"&gt;prime factor kata&lt;/a&gt;. This is where I don't agree with Uncle Bob because some things are just meant to put off people from TDD.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.objectmentor.com/articles/2009/10/06/echoes-from-the-stone-age" target="_blank"&gt;Echos from the stone age&lt;/a&gt;: A very good post but I still have some reservations of techniques uncle bob is using. Basically I don't agree with his TDD for developing algorithms approach. What do you think?&lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;Other useful daily link blogs:&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://www.alvinashcraft.com/2009/10/12/dew-drop-october-12-2009/" target="_blank"&gt;Alvin Ashcroft’s morning dew&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://blog.cwa.me.uk/2009/10/12/the-morning-brew-452/" target="_blank"&gt;Chris Alcock’s reflective perspectives&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://jasonhaley.com/blog/post.aspx?id=1a53be38-e48a-4149-ae16-7fd92c16e920" target="_blank"&gt;Jason Haley’s interesting finds&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://vidmar.net/weblog/archive/2009/10/11/links-of-the-week-93.aspx" target="_blank"&gt;Bit my bytes&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://rtipton.wordpress.com/2009/10/11/weekly-link-post-114/" target="_blank"&gt;Rhonda Tipton’s blog&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6895883274361541418-367321717244120409?l=debuggerman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debuggerman.blogspot.com/feeds/367321717244120409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6895883274361541418&amp;postID=367321717244120409&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/367321717244120409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/367321717244120409'/><link rel='alternate' type='text/html' href='http://debuggerman.blogspot.com/2009/10/resource-links-6.html' title='Resource Links #6'/><author><name>Zaki Shaheen</name><uri>http://www.blogger.com/profile/07722036351618910833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-SWqRHiMP6IM/Tg8xu8G_9OI/AAAAAAAAAH8/J9QNeiYBTVo/s220/248027_10150646169855297_643255296_19051581_1940871_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6895883274361541418.post-1191517930735158612</id><published>2009-10-05T01:35:00.009+06:00</published><updated>2009-10-05T16:34:58.131+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unit Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Driver Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Dive Into'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>Dive into test driven development</title><content type='html'>&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdebuggerman.blogspot.com%2f2009%2f10%2fdive-into-test-driver-development.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdebuggerman.blogspot.com%2f2009%2f10%2fresource-links-5.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Are you an application developer? Do you write complex systems? Do you worry at night about regression? Do you dream about the build failing in the morning because you committed some changes last night – and they seemed to be okay still you’re not sure because you’ve seen that happen before? Do you wonder why to start? If yes, then test driven development is what you ought to be working at.&lt;br /&gt;Complex (and even simpler ones, to a lesser extent) applications require a rigorous coding practice. As your code base increases, the chances are that the requirements are going to change (according to Murphy’s law). If you are doing Agile development you already have an idea how to handle that. Though if you are not using unit tests, you do not have an infrastructure to ensure that the system remains stable while you refractor your code according to the requirements. &lt;br /&gt;Now we’ve seen large code bases without any automated tests. We’ve seen chronic regression issues (especially near the deadlines) and we’ve seen nightmares of it all hitting us back. We’re lazy to write unit tests (because if it works, why test it?). Its only later do we regret not writing unit tests. The best way to deal with this symptom is doing test ‘driven’ development. &lt;br /&gt;Test driven development emphasizes on test-first approach. &lt;br /&gt;For each atomic requirement:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Write test. &lt;/li&gt;&lt;li&gt;Run test. Verify the test fails. &lt;/li&gt;&lt;li&gt;Write code to make that one test pass. &lt;/li&gt;&lt;li&gt;refractor while keeping all tests passing. &lt;/li&gt;&lt;/ol&gt;Now this obviously seems tedious. Bad habits go hard. Jumping from not doing any kind of unit testing to test driven development will need some investment on your part. A number of books have been written on this topic but the only thing that you require right now is a TDD kata.&lt;br /&gt;&lt;p&gt;&lt;font size="7"&gt;型&lt;/font&gt;&lt;/p&gt;&lt;a href="http://en.wikipedia.org/wiki/Kata" target="_blank"&gt;A Kata (from wikipedia):&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;Kata (型 or 形, &lt;i&gt;literally: "form"&lt;/i&gt;&lt;sup&gt;&lt;a href="http://en.wikipedia.org/wiki/Help:Installing_Japanese_character_sets"&gt;?&lt;/a&gt;&lt;/sup&gt;) is a Japanese word describing detailed choreographed patterns of movements practiced either solo or in pairs. Kata are used in many traditional Japanese arts such as theater forms like &lt;i&gt;kabuki&lt;/i&gt; and schools of tea ceremony (&lt;i&gt;chadō&lt;/i&gt;), but are most commonly known for the presence in the martial arts. &lt;br /&gt;&lt;/blockquote&gt;A TDD Kata is the method used by Roy Oshirove (&lt;a href="http://www.iserializable.com/" target="_blank"&gt;ISerializable&lt;/a&gt; , &lt;a href="http://5whys.com/" target="_blank"&gt;5Whys&lt;/a&gt;, &lt;a href="http://www.manning.com/affiliate/idevaffiliate.php?id=462_91" target="_blank"&gt;Art of unit testing&lt;/a&gt;) to teach TDD to such an extent that it becomes a second nature of the programmer. Roy has put up a &lt;a href="http://osherove.com/tdd-kata-1/" target="_blank"&gt;TDD kata&lt;/a&gt; on his blog. The basic concept is to pick a problem and align yourself to think incrementally while making the infrastructure natural. &lt;br /&gt;For TDD Kata 1 that Roy has put up, I tried it and was able to do it in about 20 minutes. Here’s the final code that i was able to create:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdebuggerman.blogspot.com%2f2009%2f10%2fdive-into-test-driver-development.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdebuggerman.blogspot.com%2f2009%2f10%2fresource-links-5.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;div class="csharpcode" style="font-family: inherit;"&gt;public class Calculator&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int Add(string numbers)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char delimiter = '\n';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (numbers.StartsWith("//"))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&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;&amp;nbsp;&amp;nbsp; delimiter = numbers[2];&lt;br /&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;&amp;nbsp;&amp;nbsp; numbers = numbers.Remove(0, 4);&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int sum = 0;&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;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (string s in numbers.Split(new char[]{',','\n',delimiter}))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&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;&amp;nbsp;&amp;nbsp; if (!string.IsNullOrEmpty(s))&lt;br /&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;&amp;nbsp;&amp;nbsp; {&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int num =&amp;nbsp; int.Parse(s);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (num &amp;lt; 0)&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new Exception("Negative numbers not supported");&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sum += num;&lt;br /&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;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return sum;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;And the tests that I was creating (chronologically) are:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TestMethod()]&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void TestEmptyString()&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Calculator target = new Calculator(); &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string numbers = string.Empty; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int expected = 0; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int actual;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; actual = target.Add(numbers);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Assert.AreEqual(expected, actual);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TestMethod()]&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void TestEmptyString2()&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Calculator target = new Calculator(); &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string numbers = ""; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int expected = 0; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int actual;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; actual = target.Add(numbers);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Assert.AreEqual(expected, actual);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TestMethod()]&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void TestSingleDigit()&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Calculator target = new Calculator();&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string numbers = "1"; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int expected = 1; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int actual;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; actual = target.Add(numbers);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Assert.AreEqual(expected, actual);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TestMethod()]&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void TestTwoNumbers()&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Calculator target = new Calculator();&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string numbers = "1,2";&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int expected = 3; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int actual;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; actual = target.Add(numbers);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Assert.AreEqual(expected, actual);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TestMethod()]&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void TestNNumbers()&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Calculator target = new Calculator(); &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string numbers = "1,2,3,4,5"; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int expected = 15; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int actual;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; actual = target.Add(numbers);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Assert.AreEqual(expected, actual);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TestMethod()]&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void TestLineFeed()&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Calculator target = new Calculator(); &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string numbers = "1\n2\n3\n4\n"; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int expected = 10; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int actual;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; actual = target.Add(numbers);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Assert.AreEqual(expected, actual);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TestMethod()]&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void TestCommaAndLineFeed()&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Calculator target = new Calculator(); &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string numbers = "1\n2,3\n4"; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int expected = 10; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int actual;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; actual = target.Add(numbers);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Assert.AreEqual(expected, actual);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TestMethod()]&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void TestCustomOptionalDelimiteer()&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Calculator target = new Calculator(); &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string numbers = "//;\n1\n2;3,4"; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int expected = 10; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int actual;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; actual = target.Add(numbers);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Assert.AreEqual(expected, actual);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TestMethod()]&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void TestNegativeNumbers()&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Calculator target = new Calculator(); &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string numbers = "1,2,-3,4,5"; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int expected = 0;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int actual;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&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;&amp;nbsp;&amp;nbsp; actual = target.Add(numbers);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&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;&amp;nbsp;&amp;nbsp; Assert.Fail();&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch(Exception e)&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&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;&amp;nbsp;&amp;nbsp; Assert.AreEqual("Negative numbers not supported", e.Message);&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdebuggerman.blogspot.com%2f2009%2f10%2fdive-into-test-driver-development.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdebuggerman.blogspot.com%2f2009%2f10%2fresource-links-5.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6895883274361541418-1191517930735158612?l=debuggerman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debuggerman.blogspot.com/feeds/1191517930735158612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6895883274361541418&amp;postID=1191517930735158612&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/1191517930735158612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/1191517930735158612'/><link rel='alternate' type='text/html' href='http://debuggerman.blogspot.com/2009/10/dive-into-test-driver-development.html' title='Dive into test driven development'/><author><name>Zaki Shaheen</name><uri>http://www.blogger.com/profile/07722036351618910833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-SWqRHiMP6IM/Tg8xu8G_9OI/AAAAAAAAAH8/J9QNeiYBTVo/s220/248027_10150646169855297_643255296_19051581_1940871_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6895883274361541418.post-3965355551995961269</id><published>2009-10-04T00:24:00.002+06:00</published><updated>2009-10-05T16:24:20.909+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Resource Links'/><title type='text'>Resource Links #5</title><content type='html'>&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdebuggerman.blogspot.com%2f2009%2f10%2fresource-links-5.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdebuggerman.blogspot.com%2f2009%2f10%2fresource-links-5.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;.NET programming&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.hanselman.com/blog/WhatGreatNETDevelopersOughtToKnowMoreNETInterviewQuestions.aspx"&gt;Hanselman's .NET developer interview questions&lt;/a&gt; : Most essential .NET interview questions every interviewer and interview taker should consider knowing. Not necessarily every good or pro .NET developer know these, but they help. &lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/ericlippert/archive/2009/09/21/why-do-ref-and-out-parameters-not-allow-type-variation.aspx"&gt;Why do 'ref' and 'out' parameters do not allow type variation&lt;/a&gt; : If you have an out parameter of type A, can you send an object of type B derived from A? No. Read on for why. &lt;/li&gt;&lt;li&gt;&lt;a href="http://devlicio.us/blogs/casey/archive/2009/09/21/make-it-easy-to-refactor.aspx"&gt;Making unit tests easy to refractor&lt;/a&gt; : Its hard to foresee refactoring for your code and its even harder to code for refactoring. This article explains some best practices for making unit tests easy to refractor. &lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/clrteam/archive/2009/10/02/five-myths-about-managed-code.aspx"&gt;Five myths about managed code&lt;/a&gt; : How many times did you hear' in .NET everything is an Object'? Microsoft CLR team debunks the top five myths about .NET including this one. &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/KB/dotnet/dotNetSignatures1.aspx"&gt;.NET file format - Signatures under the hood&lt;/a&gt; : A good well researched article on .NET executable file format and where the signatures reside in that. &lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/sasha/archive/2009/09/27/how-are-methods-compiled-just-in-time-and-only-then.aspx"&gt;How and when are .NET methods JITed&lt;/a&gt; : .NET code is not always JITed. Read to see when and how it does. &lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/wanna-ba-a-dotnet-ninja/"&gt;Who wants to be a .NET ninja&lt;/a&gt; : A fun open source game based on 'who wants to be a millionaire' only this time, its all about .NET. &lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;.NET code garage sales&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.hanselman.com/blog/GarageSalesAndGarageSaleQualityCode.aspx"&gt;Code Garages&lt;/a&gt; : Hanselman explains the concept of Garage sales and how the greatest of developers maintain a Garage for code. I hope to open one of mine too soon :). Here are a couple that I liked: &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sellsbrothers.com/tools/"&gt;http://www.sellsbrothers.com/tools/&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sliver.com/dotnet/index.aspx"&gt;http://www.sliver.com/dotnet/index.aspx&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;General development&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://diveintopython3.org/"&gt;Dive into python 3&lt;/a&gt; : Dive into python has been one of the best books I ever read on python - or any programming language for that matter. It literally makes you dive into the water. &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.artima.com/intv/simplestP.html"&gt;http://www.artima.com/intv/simplestP.html&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://webworkerdaily.com/2009/09/23/five-focus-killers-and-how-to-beat-them/"&gt;Five focus killers and how to beat them&lt;/a&gt; : &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.skorks.com/2009/09/become-a-better-developer-by-indexing-your-brain/"&gt;Become a better developer by indexing your brain&lt;/a&gt; : Memory is important. Fetching that information in the nick of time is even more important. Read about some techniques to make your brain work like Google. &lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.dmbcllc.com/2009/09/23/coding-priorities/"&gt;http://blog.dmbcllc.com/2009/09/23/coding-priorities/&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.joelonsoftware.com/items/2009/09/23.html"&gt;The duct tape programmer (Joel Spolsky)&lt;/a&gt; : Spolsky writes about a respectable (in his point of view) group of programmers who do not give a damn about COM, CORBA, Multithreading, design patterns and concentrate on one thing - shipping it. And that’s why Spolsky thinks these kind are the must-have programmers. What follows is a debate - mostly debunking his opinion. &lt;/li&gt;&lt;li&gt;&lt;a href="http://jeffreypalermo.com/blog/debunking-the-duct-tape-programmer/"&gt;Debunking the duck type programmer&lt;/a&gt; | &lt;a href="http://blog.objectmentor.com/articles/2009/09/24/the-duct-tape-programmer"&gt;The duct tape programmer (Bob Martin)&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.zdnet.com/microsoft/?p=4082"&gt;Helios research operating system by Microsoft&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.liveside.net/main/archive/2009/09/18/a-closer-look-at-office-web-apps-in-windows-live.aspx"&gt;A closer look at Office web apps 2010&lt;/a&gt;. &lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;Data structures&lt;/h4&gt;&lt;p&gt;&lt;a href="http://www.codeproject.com/KB/recipes/Dijkstras_Algorithm.aspx"&gt;Implementing Fibonacci heaps and Dijkstra's Algorithm on top of it.&lt;/a&gt;&lt;/p&gt;&lt;h4&gt;UI Patterns &amp;amp; Data visualization&lt;/h4&gt;&lt;p&gt;UI patterns and data visualization, though not having to do much with .NET have an important application in the computing world. Lead about UI design patterns in the following links:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://quince.infragistics.com/"&gt;Infragistics' QUINCE&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.welie.com/patterns/index.php"&gt;Welie's UI patterns&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://patterntap.com/"&gt;Pattern Tap&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.meryl.net/2008/01/22/175-data-and-information-visualization-examples-and-resources/"&gt;Data visualization examples and resources&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.smashingmagazine.com/2007/08/02/data-visualization-modern-approaches/"&gt;Modern approaches in data visualization&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href="http://www.pocketmod.com/v2/"&gt;Pocket Mod v2&lt;/a&gt; : A very neat way to organize yourself without having to buy a PDA or install arcane applications in your mobile phone.&lt;/p&gt;&lt;h4&gt;Agile Software Design&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.agiledata.org/essays/agileDataModeling.html"&gt;Agile Data modeling&lt;/a&gt; : So what happens when you adapt the agile software methodology and also the schema is always changing? &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.notesfromatooluser.com/2009/09/agile-2009-post-roundup.html"&gt;Agile 2009 roundup&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;/li&gt;&lt;li&gt;     &lt;h4&gt;WINDBG stuff&lt;/h4&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx"&gt;Getting started with WinDbg Part 1&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/johan/archive/2007/11/26/getting-started-with-windbg-part-ii.aspx"&gt;Getting started with WinDbg Part 2&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://geekswithblogs.net/.NETonMyMind/archive/2006/03/14/72262.aspx"&gt;Cheat sheet for CLR debugging with WinDbg&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6895883274361541418-3965355551995961269?l=debuggerman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debuggerman.blogspot.com/feeds/3965355551995961269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6895883274361541418&amp;postID=3965355551995961269&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/3965355551995961269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/3965355551995961269'/><link rel='alternate' type='text/html' href='http://debuggerman.blogspot.com/2009/10/resource-links-5.html' title='Resource Links #5'/><author><name>Zaki Shaheen</name><uri>http://www.blogger.com/profile/07722036351618910833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-SWqRHiMP6IM/Tg8xu8G_9OI/AAAAAAAAAH8/J9QNeiYBTVo/s220/248027_10150646169855297_643255296_19051581_1940871_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6895883274361541418.post-9123619770763546513</id><published>2009-09-30T20:26:00.001+06:00</published><updated>2009-09-30T20:26:16.894+06:00</updated><title type='text'>Link blogs list v.0.1</title><content type='html'>&lt;p&gt;Here’s a list of link blogs I follow to keep up with latest is software development (primarily application development in .NET stuff).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://jasonhaley.com/blog/" target="_blank"&gt;Jason Haley’s Rambling of a .NET developer&lt;/a&gt; : A dedicated link blog of a dedicated developer. The links are organized nicely into Web, Database, Cloud Computing, Innovation, etc. It is updated almost daily.    &lt;br /&gt;&lt;a href="http://blog.cwa.me.uk/" target="_blank"&gt;Chris Alcock’s Reflective Perspective&lt;/a&gt; : Reflective Perspectives is another very well organized dedicated link blog organized into different sections and searchable as well.     &lt;br /&gt;&lt;a href="http://www.alvinashcraft.com/" target="_blank"&gt;Alvin Ashcraft’s Morning Dew&lt;/a&gt; : Alvin’s Dew drops is a must read every morning. A dedicated writer who also happens to be a Microsoft Valued Professional.    &lt;br /&gt;&lt;a href="http://rtipton.wordpress.com/" target="_blank"&gt;Rhonda Tipton’s Weblog&lt;/a&gt; : Very well organized link blog updated weekly (link posts, other posts are quite informative as well). Also blogs regularly on other stuff as well.     &lt;br /&gt;&lt;a href="http://radar.oreilly.com/" target="_blank"&gt;O’ Reilly Radar&lt;/a&gt; : Not exactly a dedicated or uber-regular link blog, but is a good resource on latest technologies from around the web. The blog is contributed by different people at O’ Reilly’s. &lt;/p&gt;  &lt;p&gt;It’s nice to see the evolution of these link blogs and seeing a thriving community of people dedicated to putting up the best of the hand-picked stuff for others. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6895883274361541418-9123619770763546513?l=debuggerman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debuggerman.blogspot.com/feeds/9123619770763546513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6895883274361541418&amp;postID=9123619770763546513&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/9123619770763546513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/9123619770763546513'/><link rel='alternate' type='text/html' href='http://debuggerman.blogspot.com/2009/09/link-blogs-list-v01.html' title='Link blogs list v.0.1'/><author><name>Zaki Shaheen</name><uri>http://www.blogger.com/profile/07722036351618910833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-SWqRHiMP6IM/Tg8xu8G_9OI/AAAAAAAAAH8/J9QNeiYBTVo/s220/248027_10150646169855297_643255296_19051581_1940871_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6895883274361541418.post-7969421629040353895</id><published>2009-09-26T19:33:00.001+06:00</published><updated>2009-09-26T19:33:58.055+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Resource Links'/><title type='text'>Resource Links #4</title><content type='html'>&lt;h4&gt;Developer Links&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://hewgill.com/~greg/stackoverflow/tagtrend.html" target="_blank"&gt;A mess is not a technical-debt:&lt;/a&gt; Bob Martin of &lt;a href="http://www.objectmentor.com/" target="_blank"&gt;Object Mentor&lt;/a&gt; elaborates on the oft-misused term ‘technical-debt’. What follows is an insightful discussion. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/prompt.mspx?mfr=true" target="_blank"&gt;Changing prompt for cmd.exe:&lt;/a&gt; I needed this for a couple of tweaks to my command line building environment. Very handy. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.dotnet-u.com/Default.aspx" target="_blank"&gt;.NET University&lt;/a&gt;: A great resource to catch up on latest in .NET world. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/vcsharp/dd218053.aspx" target="_blank"&gt;Code Rush eXpress:&lt;/a&gt; Download this handy Visual Studio Add-in that makes life a lot easier for developers. Lots of nice refactoring features. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.devexpress.com/Products/Visual_Studio_Add-in/Coding_Assistance/Training.xml" target="_blank"&gt;Code Rush eXpress video trainings:&lt;/a&gt; If you one of those visual learners, then this resource is for you. Shows the handy Code Rush features as short screen casts. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://agile2009.blogspot.com/2009/08/big-balls.html" target="_blank"&gt;Big Balls of Mud:&lt;/a&gt; A commentary on one of the cool articles in software engineering (&lt;a href="http://www.laputan.org/mud/" target="_blank"&gt;html&lt;/a&gt; | &lt;a href="http://www.laputan.org/pub/foote/mud.pdf" target="_blank"&gt;pdf&lt;/a&gt;). Big Balls of Mud is the term given to “haphazardly structured, sprawling, sloppy, duct-tape and bailing wire, spaghetti code jungle.” If you have seen this type of code, go through the article. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://5whys.com/blog/document-your-air-food-and-water.html" target="_blank"&gt;Documenting your Air, Food and Water:&lt;/a&gt; Why you should document each and everything you know about your development environment. &lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;Programming Practice Links&lt;/h4&gt;  &lt;p&gt;When was the last time you tackled a programming problem that truly got your head involved? When was the last time you learned a different language? (No, learning C# after Java or vice-versa is not counted). Here’s you change to keep or pick this hobby with online judge systems that give you a plethora of programming problems to solve in different languages. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.codechef.com/" target="_blank"&gt;Code Chef&lt;/a&gt;: With a wide variety of languages at your disposal, use your language&amp;#160; to solve problems and get paid. Code Chef has monthly competitions as well. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://codegolf.com/" target="_blank"&gt;Code Golf&lt;/a&gt;: Show you code-fu by trying to solve problems in minimum possible number of keystrokes. Use Perl, Ruby, Python or PHP to solve problems and sharpen skills. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://programmingpraxis.com/archives/" target="_blank"&gt;Programming Praxis:&lt;/a&gt; Programming Praxis is a blog dedicated to posting programming problems and readers submit code by comments. Any language is acceptable. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://projecteuler.net/" target="_blank"&gt;Project Euler:&lt;/a&gt; Project Euler is an ambitious project to get mathematical knowledge out there using programming tools. It has a series of regularly posted challenges which are mathematically or programming intense. They require more than just programming or math knowledge. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://topcoder.com/tc" target="_blank"&gt;Top Coder:&lt;/a&gt; TopCoder is a crowd-source based company that’s gaining momentum very quickly. It has the most extensive set of competitions for programmers. One of the most loved one is the Algorithms competition that happens fortnightly. They also have attraction for software engineers and designers by putting different phases of software development to competition (i.e. Software Conceptualization, Software Specification, Software Architecture, Software Design, Software Development, Software Assembly, Testing etc.). &lt;/li&gt;    &lt;li&gt;&lt;a href="http://uva.onlinejudge.org/index.php" target="_blank"&gt;UVa Online Judge:&lt;/a&gt; An extensive list of problems to be solved using C++, JAVA, C, PASCAL, as used in university of Valladolid. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://acm.timus.ru/" target="_blank"&gt;Timus Online Judge&lt;/a&gt; &amp;amp; &lt;a href="http://www.spoj.pl/" target="_blank"&gt;Sphere Online Judge:&lt;/a&gt;&amp;#160; Provides a lot of problems and language support to train yourself to algorithmic problems. &lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;Other Links &lt;/h4&gt;  &lt;p&gt;&lt;a href="http://www.codinghorror.com/blog/archives/001301.html" target="_blank"&gt;9 ways marketing weasels will try to manipulate you:&lt;/a&gt; Jeff Atwood picks from &lt;a href="http://www.amazon.com/dp/0061854549/?tag=codinghorror-20" target="_blank"&gt;Predictably Irrational&lt;/a&gt;. Quite an eye-opener and interesting read (to stay away from and still use on others :P) &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6895883274361541418-7969421629040353895?l=debuggerman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debuggerman.blogspot.com/feeds/7969421629040353895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6895883274361541418&amp;postID=7969421629040353895&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/7969421629040353895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/7969421629040353895'/><link rel='alternate' type='text/html' href='http://debuggerman.blogspot.com/2009/09/resource-links-4.html' title='Resource Links #4'/><author><name>Zaki Shaheen</name><uri>http://www.blogger.com/profile/07722036351618910833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-SWqRHiMP6IM/Tg8xu8G_9OI/AAAAAAAAAH8/J9QNeiYBTVo/s220/248027_10150646169855297_643255296_19051581_1940871_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6895883274361541418.post-3862006569151992863</id><published>2009-09-24T02:42:00.001+06:00</published><updated>2009-09-24T02:42:38.723+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Analytics'/><category scheme='http://www.blogger.com/atom/ns#' term='Curious Case'/><title type='text'>Curious Case: Google Analytics not working with Blogger</title><content type='html'>&lt;h4&gt;&lt;/h4&gt;  &lt;h4&gt;The problem&lt;/h4&gt;  &lt;p&gt;So after a couple of blog posts I decided to track Debuggerman’s stats (page visits, bounce rate, average time on site, keywords, etc.) and I setup Google Analytics account for it. The basic setup was straight forward and regular. You signup, give your blog’s address and then they give you a code to copy in your theme’s source “at the end of the theme right before &amp;lt;/body&amp;gt;” tag. I did exactly that, but somehow it did not seem to work. Analytics kept showing me the warning sign. &lt;a href="http://www.eblogtemplates.com/how-to-install-google-analytics-on-blogger/" target="_blank"&gt;This post&lt;/a&gt; seemed like a ray of hope, but It didn’t work.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_aYgsqT-s_Xo/SrqIIeKV0MI/AAAAAAAAADE/cHng9hKzC6c/s1600-h/image%5B6%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/_aYgsqT-s_Xo/SrqIOJNcxLI/AAAAAAAAADI/cLaCUCFHiJY/image_thumb%5B4%5D.png?imgmax=800" width="240" height="156" /&gt;&lt;/a&gt; I waited for a couple of days but still Google Analytics showed a warning sign in front of Debuggerman’s account. What to do? Did I do anything wrong? I searched the internet and could not find a remedy per se. So I dug deeper and viewed my blog’s source that is generated by Blogger. Not surprisingly, Blogger was adding extra widget source at the end of my post right before &amp;lt;/body&amp;gt; and right after the Analytics code (see picture). &lt;/p&gt;  &lt;p&gt;If you are suffering from the same problem, you can verify this by typing in your blog address in the browser (e.g. &lt;a href="http://debuggerman.blogspot.com"&gt;http://debuggerman.blogspot.com&lt;/a&gt;) and when it is loaded, right click on the page and click “View Source”. &lt;/p&gt;  &lt;h4&gt;The remedy&lt;/h4&gt;  &lt;p&gt;Simple. Move the Analytics source to right before the &amp;lt;/head&amp;gt; tag. The reasoning for this that I can think of from top of my head is that Analytics source conflicts with some Blogger generated source (I'm not sure, I'm not Java Script or web-dev/design expert per se). So moving it to the &amp;lt;head&amp;gt; tag ensure that 1. it is loaded and 2. it is loaded before anything else.&lt;/p&gt;  &lt;p&gt;Right after I made this change I went back to Analytics. On my Debuggerman’s dashboard there, I clicked on ‘Edit’ action and then ‘Check Status’ link as shown in &lt;a href="http://www.eblogtemplates.com/how-to-install-google-analytics-on-blogger/" target="_blank"&gt;this post.&lt;/a&gt; All seems to work now. Hence solved the Analytics/Blogger mystery. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6895883274361541418-3862006569151992863?l=debuggerman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debuggerman.blogspot.com/feeds/3862006569151992863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6895883274361541418&amp;postID=3862006569151992863&amp;isPopup=true' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/3862006569151992863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/3862006569151992863'/><link rel='alternate' type='text/html' href='http://debuggerman.blogspot.com/2009/09/curious-case-google-analytics-not.html' title='Curious Case: Google Analytics not working with Blogger'/><author><name>Zaki Shaheen</name><uri>http://www.blogger.com/profile/07722036351618910833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-SWqRHiMP6IM/Tg8xu8G_9OI/AAAAAAAAAH8/J9QNeiYBTVo/s220/248027_10150646169855297_643255296_19051581_1940871_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_aYgsqT-s_Xo/SrqIOJNcxLI/AAAAAAAAADI/cLaCUCFHiJY/s72-c/image_thumb%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6895883274361541418.post-1802796387785824922</id><published>2009-09-19T18:33:00.003+06:00</published><updated>2009-09-19T20:10:38.553+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Resource Links'/><title type='text'>Resource Links #3</title><content type='html'>&lt;h2&gt;Developer Links&lt;/h2&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://www.objectmentor.com/resources/articles/srp.pdf" target="_blank"&gt;Single Responsibility Principle:&lt;/a&gt; (PDF) There should never be more than one reason for a class to change. This principle has got to be one of the most important principles in software engineering. This is written by Bob C. Martin who is also the author of the Craftsman series and other &lt;a href="http://www.objectmentor.com/resources/publishedArticles.html" target="_blank"&gt;articles&lt;/a&gt;. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://blog.objectmentor.com/articles/2009/09/11/one-thing-extract-till-you-drop" target="_blank"&gt;Extract till you drop:&lt;/a&gt; Another great resource on Object Mentor on how far to refactor code and when is a refactoring complete.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://www.blogger.com/%20http://blog.robustsoftware.co.uk/2009/09/bdd-from-scratch-build-your-own_13.html%20" target="_blank"&gt;BDD Test Framework Part 2&lt;/a&gt;: In my &lt;a href="http://debuggerman.blogspot.com/2009/09/resource-links-2.html"&gt;last post&lt;/a&gt; I posted a link for the first part of this series. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://schuchert.wikispaces.com/tdd.Refactoring.UiExample%20" target="_blank"&gt;TDD for GUI Code:&lt;/a&gt; Have you ever had the nightmare of maintaining NUnitForm tests? How about doing things the right way – the software engineering best practices way. This article emphasizes on adapting TDD with GUIs.&lt;a href="http://lh6.ggpht.com/_aYgsqT-s_Xo/SrTPb2MmBmI/AAAAAAAAAC8/Zv_xqvyXzNA/s1600-h/vs%20theme%5B7%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="vs theme" border="0" alt="vs theme" align="right" src="http://lh5.ggpht.com/_aYgsqT-s_Xo/SrTPf82VT0I/AAAAAAAAADA/OZjEAxR74dw/vs%20theme_thumb%5B5%5D.jpg?imgmax=800" width="240" height="253" /&gt;&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://xunitpatterns.com/Humble%20Object.html%20" target="_blank"&gt;The Humble Object:&lt;/a&gt; Continuing from the previous link, its really hard to extract logic from the UI code and then test the logic code. Obviously we’re not the first one to come across this problem and it lies in the category of Test Design Patterns (See below for the book of the week). In Humble object pattern, we extract the logic into a separate easy-to-test component that is decoupled from the environment.&amp;#160; &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://www.devzest.com/blog/post/DebugAssert-vs-Exception.aspx%20" target="_blank"&gt;Debug.Assert vs Exceptions:&lt;/a&gt; Though quite debatable with Java aficionados, its still a good read. Also follow &lt;a href="http://stackoverflow.com/search?q=assert+vs+exceptions" target="_blank"&gt;these&lt;/a&gt; threads on &lt;a href="http://www.stackoverflow.com/" target="_blank"&gt;StackOverflow&lt;/a&gt;.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://www.hanselman.com/blog/VisualStudioProgrammerThemesGallery.aspx%20" target="_blank"&gt;Visual Studio Text Editor Themes:&lt;/a&gt; Bored of the same old visual studio theme? Ever wanted to make it look like you want it to but never could? Scott Hanselman has collected a set of such themes that you can download and apply. Checkout my theme that i picked from them on the right. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms954621%28printer%29.aspx" target="_blank"&gt;Observer Design Pattern and Event Pattern in C#&lt;/a&gt;: This is an excellent article on the very useful Observer design pattern and how C#.NET incorporates this pattern as a first class language feature as Events.        &lt;br /&gt;&lt;/div&gt;      &lt;br /&gt;      &lt;br /&gt;      &lt;h2&gt;Technology Links&lt;/h2&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;br /&gt;      &lt;div align="justify"&gt;&lt;a href="http://weblogs.asp.net/ricardoperes/archive/2009/09/10/multi-threading-in-net.aspx" target="_blank"&gt;Multi-Threading in .NET:&lt;/a&gt; On when to use System.Threading.Thread, System.Threading.ThreadPool and System.Component.BackgroundWorker or delegates invoked in async fasion.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://blogs.msdn.com/canux/archive/2009/09/11/windows-ux-interaction-guidelines.aspx" target="_blank"&gt;Windows UX Guildelines:&lt;/a&gt; Microsoft has released a new guidelines document that covers Windows 7. A must read for any UX (User eXperience) developer. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://blog.electric-cloud.com/2009/09/15/using-markov-chains-to-generate-test-input/" target="_blank"&gt;Using Markov Chains to generate Test Input:&lt;/a&gt; Markov Chains allow you to generate contextual yet pseudo-random values, where next value depends on the previous ones. This has an interesting application for developing Test cases. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://elem.com/%7Ebtilly/effective-ab-testing/%20" target="_blank"&gt;Effective A/B Testing:&lt;/a&gt; Do you develop UI interface? Does your user always like them? See how A/B Testing has fine tuned the way we get users to converge on a design.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/ee428166.aspx" target="_blank"&gt;What’s new in BCL 4.0:&lt;/a&gt; See what’s new in .NET Framework 4.0’s Base Class Library. .NET 4.0 is expected to release by the end of this year together with Visual Studio 2010.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://www.se-radio.net/podcast/2008-05/episode-97-interview-anders-hejlsberg" target="_blank"&gt;Interview with Anders Hejlsberg:&lt;/a&gt;&amp;#160; Hejlsberg is the Chief language strategist at Microsoft and is one of the prime designers of C#.NET. In this talk he highlights different influences on C# from different languages like Delphi. He also discusses an informal roadmap for C#.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Development &lt;a href="http://www.itwriting.com/blog/1789-software-development-trends-in-emerging-markets.html" target="_blank"&gt;Trends in Emerging Software Markets:&lt;/a&gt; See how the development trends are evolving in the emerging markets of south Asia and Asia. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://www.readwriteweb.com/enterprise/2009/09/microsoft-previews-office-web-apps.php" target="_blank"&gt;Office 2010 Web Preview:&lt;/a&gt; Microsoft offers a preview of the latest and sexiest Office 2010 web. If Microsoft can roll it out in time and ‘free’, I think it will give a hard time to &lt;a href="http://docs.google.com/" target="_blank"&gt;Google Docs&lt;/a&gt;.         &lt;br /&gt;Microsoft Launches the &lt;a href="http://codeplex.org/participate.aspx"&gt;CodePlex Foundation&lt;/a&gt; which will be a link between open source and other developer community. &lt;/div&gt;      &lt;br /&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Business/Career/Management Links&lt;/h2&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.business-strategy-innovation.com/2009/09/how-to-ruin-brainstorming-session.html" target="_blank"&gt;How to ruin brainstorm sessions :&lt;/a&gt; See how you can totally blow off a otherwise potential brainstorm session. Read the DO-NOTs of brain storm sessions. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.fourhourworkweek.com/blog/2009/09/13/bill-gates-risk-taker/" target="_blank"&gt;Was Bill Gates a risk taker?&lt;/a&gt; : Read the oft-un-quoted and oft-unheard story of Bill Gates and how he was not really a spontaneous risk taker.&lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Other useful Links&lt;/h2&gt;  &lt;div align="justify"&gt;Are you a developer? Are you getting adequate sleep? Do you sleep comfortably at night? Do you feel fresh 9-6? If not then you need to find the root cause and fix it. Sleep helps in a lot of natural processes, especially memory retention, concentration and others. Take &lt;a href="http://www.bbc.co.uk/science/humanbody/sleep/%20" target="_blank"&gt;this BBC Quiz&lt;/a&gt; to asses your sleep deprivation level and read &lt;a href="http://www.helpguide.org/life/sleeping.htm%20" target="_blank"&gt;this article&lt;/a&gt; for more information.     &lt;br /&gt;&lt;/div&gt;  &lt;h2&gt;Book of the Week&lt;/h2&gt; &lt;a href="http://www.amazon.com/xUnit-Test-Patterns-Refactoring-Code/dp/0131495054/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1253356542&amp;amp;sr=8-1"&gt;xUnit Test Patterns: Refactoring Test Code&lt;/a&gt; by Gerard Meszaros   &lt;br /&gt;  &lt;div align="justify"&gt;I'm a slow reader these days but I'm almost half way through this book. An excellent resource for software engineers and other IT professionals who develop software for a living. Having unit tests cover 100% code is a dream - but this book starts from that dream because beyond that is a nightmare :). Nightmare of re-factoring test code when your actual code changes. Over time several design patterns have emerged in software testing and test code re-factoring as well and this book is the ultimate resource for that.    &lt;br /&gt;&lt;/div&gt; Till next week,   &lt;br /&gt;Ciao.   &lt;br /&gt;- Zaki    &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6895883274361541418-1802796387785824922?l=debuggerman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debuggerman.blogspot.com/feeds/1802796387785824922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6895883274361541418&amp;postID=1802796387785824922&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/1802796387785824922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/1802796387785824922'/><link rel='alternate' type='text/html' href='http://debuggerman.blogspot.com/2009/09/resource-links-3.html' title='Resource Links #3'/><author><name>Zaki Shaheen</name><uri>http://www.blogger.com/profile/07722036351618910833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-SWqRHiMP6IM/Tg8xu8G_9OI/AAAAAAAAAH8/J9QNeiYBTVo/s220/248027_10150646169855297_643255296_19051581_1940871_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_aYgsqT-s_Xo/SrTPf82VT0I/AAAAAAAAADA/OZjEAxR74dw/s72-c/vs%20theme_thumb%5B5%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6895883274361541418.post-1359463727284050311</id><published>2009-09-17T00:29:00.001+06:00</published><updated>2009-09-17T02:06:50.746+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Resource Links'/><title type='text'>Resource Links #2</title><content type='html'>&lt;h2&gt;Feeds to follow&lt;br /&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt; &amp;nbsp;&lt;a href="http://codebetter.com/blogs/patricksmacchia/default.aspx" target="_blank"&gt;Patrick Smacchia &lt;/a&gt;: Patrick is C# MVP and the man behind NDepend. If he knows something very well, its .NET! Especially code analysis and code quality.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://5whys.com/" target="_blank"&gt;5Whys&lt;/a&gt; : Roy Oshirove, the writer of &lt;a href="http://www.artofunittesting.com/" target="_blank"&gt;Art of unit testing&lt;/a&gt; and&lt;a href="http://weblogs.asp.net/rosherove/" target="_blank"&gt; Iserializeable&lt;/a&gt; blog, has dedicated this blog to the budding and blossomed teamleads, basing it on the famous &lt;a href="http://en.wikipedia.org/wiki/5_Whys" target="_blank"&gt;5 whys model of toyota&lt;/a&gt;. He talks about keeping things in focus and getting things done, especially in an agile context. He has also been the architect of &lt;a href="http://learn.typemock.com/" target="_blank"&gt;TypeMock&lt;/a&gt; mocking framework for .NET.&lt;/li&gt;&lt;li&gt;&lt;a href="http://apcmag.com/" target="_blank"&gt;APCMag&lt;/a&gt; : APCMag is a tech magazine based in australia. It features latest hardware and software reviews as they happen.&lt;/li&gt;&lt;li&gt;&lt;a href="http://ayende.com/Blog/Default.aspx" target="_blank"&gt;Ayende Rahien&lt;/a&gt; : Orin, the guy who developed NHibernate and Rhino Mocks blogs about these products and more related to .NET. &lt;/li&gt;&lt;li&gt;&lt;a href="http://highscalability.com/" target="_blank"&gt;High Scalability&lt;/a&gt; : Ever wondered what's under the hood of your favourite greatest applications like Facebook, Myspace, Google, Twitter? Find internals about these and many more application's setups. &lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Tweeple to follow&lt;br /&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.twitter.com/mashable" target="_blank"&gt;@mashable&lt;/a&gt; : Mashable.com's CEO Pete Cashmore. Mashable is an online portal to social media and the likes. Follow mashable to get upto date information about social media. &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.twitter.com/royosherove"&gt;@RoyOsherove&lt;/a&gt; : A regular tweeter putting his experiences in Agile, Art of Unit testing, .NET and much more. &lt;/li&gt;&lt;li&gt;&lt;a href="http://twitter.com/spolsky" target="_blank"&gt;@Spolsky&lt;/a&gt; : Joel Spolsky talks about software development and is renowned for his blog at &lt;a href="http://www.joelonsoftware.com/"&gt;www.joelonsoftware.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://twitter.com/codinghorror" target="_blank"&gt;@coddinghorror&lt;/a&gt; : Jeff Atwood at &lt;a href="http://www.codinghorror.com/"&gt;www.codingHorror.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://twitter.com/DrWPF" target="_blank"&gt;@drWpf&lt;/a&gt; : For .NET WPF resource and updates follow dr. WPF of &lt;a href="http://www.drwpf.com/"&gt;www.drwpf.com&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Programming Links and Resources&lt;br /&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;Do you create XSL/XSLTs often? Is it a hit and try method? Read how you can &lt;a href="http://weblogs.asp.net/stevewellens/archive/2009/09/01/debugging-xml-transforms-xslt-with-visual-studio.aspx" target="_blank"&gt;debug XSLTs inside visual studio&lt;/a&gt;.NET. Very helpful.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Learn about &lt;a href="http://www.agilemodeling.com/essays/agileRequirementsBestPractices.htm" target="_blank"&gt;Agile Requirements best practices&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Test coverage of your code is a big issue. Is 100% test coverage mythical? Patrick Smaachia (&lt;a href="http://www.ndepend.com/" target="_blank"&gt;NDepend&lt;/a&gt; ) thinks not. Read why &lt;a href="http://codebetter.com/blogs/patricksmacchia/archive/2009/06/07/high-test-coverage-ratio-is-a-good-thing-anyway.aspx" target="_blank"&gt;here&lt;/a&gt; .&lt;/li&gt;&lt;li&gt;A highly motivational rendition of Hare and Tortoise story for the likes of us. Read it &lt;a href="http://fat88trader-motivation.blogspot.com/2009/09/new-story-of-hare-and-tortoise.html" target="_blank"&gt;here&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Tim O'Reilly, the person who coined and defined 'web 2.0' &lt;a href="http://www.techcrunch.com/2009/09/04/gov-20-its-all-about-the-platform/" target="_blank"&gt;talks about Gov 2.0&lt;/a&gt; and how Governments can provide a platform for better citizenship and commerce using the technology.&lt;/li&gt;&lt;li&gt;Google wave hits the market at the end of this month. &lt;a href="http://mashable.com/2009/09/05/google-wave-ideas/" target="_blank"&gt;Read&lt;/a&gt; 5 ways it MIGHT change the world. See official wave demo &lt;a href="http://www.youtube.com/watch?v=v_UyVmITiYQ" target="_blank"&gt;here&lt;/a&gt; .&amp;nbsp; &lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.robustsoftware.co.uk/2009/09/bdd-from-scratch-build-your-own.html" target="_blank"&gt;Behavior driven development from scratch&lt;/a&gt; teaches the difference from regular unit testing and TDD in .NET. Garry Shutler starts a series of these articles from this post.&lt;/li&gt;&lt;li&gt;If there is one company that has taken .NET WPF seriously, its &lt;a href="http://www.thirteen23.com/" target="_blank"&gt;Thirteen23&lt;/a&gt;. Checkout their demo applications like &lt;a href="http://www.thirteen23.com/experiences/desktop/blu/" target="_blank"&gt;Blu&lt;/a&gt; (a really sweet twitter client). Also check out their &lt;a href="http://www.ted.com/" target="_blank"&gt;TED&lt;/a&gt; &lt;a href="http://www.thirteen23.com/experiences/desktop/ted/" target="_blank"&gt;player&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;See Ayende (creator of Rhino Mocks for .NET) screencast and teach the use of rhino mocks in &lt;a href="http://ayende.com/hibernating-rhinos.aspx" target="_blank"&gt;this&lt;/a&gt; 10 part series.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6895883274361541418-1359463727284050311?l=debuggerman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debuggerman.blogspot.com/feeds/1359463727284050311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6895883274361541418&amp;postID=1359463727284050311&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/1359463727284050311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/1359463727284050311'/><link rel='alternate' type='text/html' href='http://debuggerman.blogspot.com/2009/09/resource-links-2.html' title='Resource Links #2'/><author><name>Zaki Shaheen</name><uri>http://www.blogger.com/profile/07722036351618910833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-SWqRHiMP6IM/Tg8xu8G_9OI/AAAAAAAAAH8/J9QNeiYBTVo/s220/248027_10150646169855297_643255296_19051581_1940871_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6895883274361541418.post-2437417361417045437</id><published>2009-09-17T00:23:00.001+06:00</published><updated>2009-09-17T02:05:38.413+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Resource Links'/><title type='text'>Resource Links #1</title><content type='html'>&lt;h2&gt;Feeds to follow&lt;br /&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/oldnewthing" target="_blank"&gt;The Old New Thing&lt;/a&gt;  : &lt;a href="http://en.wikipedia.org/wiki/Raymond_Chen" target="_blank"&gt;Raymond Chen&lt;/a&gt; 's regular blog about all Win32 API and internal, not-so-common, wisdom about windows operating system. &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codinghorror.com/" target="_blank"&gt;Coding Horror&lt;/a&gt;  : Jeff Atwood's always loveable regular rants about technology and computing - for the daily users and developers.&amp;nbsp; &lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/ericlippert" target="_blank"&gt;Faboulous Adventures in coding&lt;/a&gt;  : Eric Lippert's senior advice and wisdom on C# and other Microsoft technologies. &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.joelonsoftware.com/" target="_blank"&gt;Joel on Software&lt;/a&gt;  : Joel spolsky's discussions about software design and best practices.&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.technet.com/markrussinovich" target="_blank"&gt;Mark's Blog&lt;/a&gt; : The WinInternals and now SysInternals guy. The technical fellow in the platform and services devision at Microsoft. Its a low volume, high wisdom blog. He solves one case at a time, cases that annoy us all the often. Also, a regular insight into Windows internals. Do you use &lt;a href="http://technet.microsoft.com/en-us/sysinternals/default.aspx" target="_blank"&gt;SysInternal tools&lt;/a&gt; ? You should. For example &lt;a href="http://en.wikipedia.org/wiki/Process_Explorer" target="_blank"&gt;ProcessExplorer&lt;/a&gt; , &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx" target="_blank"&gt;TcpView&lt;/a&gt; , &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx" target="_blank"&gt;Procmon&lt;/a&gt;. They definitely give you more control over Windows system so you can diagnose problems easily. Download the complete suite &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx" target="_blank"&gt;here&lt;/a&gt; .&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Tweeple to follow&lt;br /&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://twitter.com/zakimirza" target="_blank"&gt;@zakimirza : &lt;/a&gt; Thats me :). Follow me to get updates on myinconsistent self, rambling, links and blogposts, occassional cursing on speghatti codes and what not.&amp;nbsp; &lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://twitter.com/shanselman" target="_blank"&gt;@shanselman&lt;/a&gt;  : &lt;/b&gt;Programmer, author, teacher, speaker, web guy, podcaster, starving stand-up comic, diabetic, Microsoft shill. Social Media! Why not?&lt;br /&gt;Scott Hanselman is a very renowned blogger, tech analyst and computing enthusiast. Upto date tweets on the latest.&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://twitter.com/StockTwits" target="_blank"&gt;@stocktwits&lt;/a&gt;  :&lt;/b&gt;  Real-time stock conversations. &lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://twitter.com/timoreilly" target="_blank"&gt;@timorielly&lt;/a&gt;  :&lt;a href="http://twitter.com/timoreilly" target="_blank"&gt; &lt;/a&gt;&lt;/b&gt;Founder and CEO, O'Reilly Media. Watching the alpha geeks, sharing their stories, helping the future unfold. &lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://twitter.com/google" target="_blank"&gt;@google&lt;/a&gt;  :  &lt;/b&gt;News and updates from Google&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Programming Links &amp;amp; Resources&lt;br /&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Checkout &lt;a href="http://weblogs.asp.net/rosherove/" target="_blank"&gt;Roy Oshirove's&lt;/a&gt;  post about other blogs that emit daily news about .NET etc &lt;a href="http://weblogs.asp.net/rosherove/archive/2009/05/31/daily-news-blogs-about-net-and-related-creatures.aspx" target="_blank"&gt;here &lt;/a&gt; A very useful reference indeed!&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.stackoverflow.com/" target="_blank"&gt;StackOverflow&lt;/a&gt; is a rapidly growing question/answers site developed by Jeff Atwood and Joel Spolsky. Has answers to questions spanning from best practices to code problems.&amp;nbsp; &lt;/li&gt;&lt;li&gt;Tim Orielly talks about Govt. 2.0, its all about the platform. Read it &lt;a href="http://www.techcrunch.com/2009/09/04/gov-20-its-all-about-the-platform/" target="_blank"&gt;here&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codebetter.com/" target="_blank"&gt;CodeBetter&lt;/a&gt;  is a colgremate of blogs to promote better coding practices. &lt;/li&gt;&lt;li&gt;Read about &lt;a href="http://blogs.msdn.com/bclteam/archive/2009/05/22/what-s-new-in-the-bcl-in-net-4-beta-1-justin-van-patten.aspx" target="_blank"&gt;latest in .NET's base class library (BCL 4.0)&lt;/a&gt; .&lt;/li&gt;&lt;li&gt;&lt;a href="http://codebetter.com/blogs/patricksmacchia/archive/2009/01/04/using-ndepend-on-large-project-a-success-story.aspx" target="_blank"&gt;A success story&lt;/a&gt;  using &lt;a href="http://www.ndepend.com/" target="_blank"&gt;NDepend &lt;/a&gt; to make better managed code of a large application. Its all about the design.I wil blog about NDepend and its usage pretty soon. &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.7-zip.org/" target="_blank"&gt;7Zip&lt;/a&gt;  is an opensource windows utility for manipulating a large variety of Archives.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Ever needed a good CLR profiler? Try &lt;a href="http://www.jetbrains.com/profiler/" target="_blank"&gt;dotTrace&lt;/a&gt;and &lt;a href="http://software.intel.com/en-us/intel-parallel-studio-home/" target="_blank"&gt;Intel prallel studio&lt;/a&gt; to find profile your application for performance, memory leaks, deadlocks and much more. Both of these integrate well with Visual studio.&lt;/li&gt;&lt;li&gt;Visual Studio 2010 is just around the corner. The new UI is designed in WPF. Yes really. Read VS's architect's take on this &lt;a href="http://blogs.msdn.com/ricom/archive/2008/11/25/visual-studio-dialogue-with-wpf-performance-emphasis.aspx" target="_blank"&gt;here&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Check out &lt;a href="http://www.hanselman.com/" target="_blank"&gt;Scott Hanselman&lt;/a&gt; 's 2009's top utilities &lt;a href="http://www.hanselman.com/blog/ScottHanselmans2009UltimateDeveloperAndPowerUsersToolListForWindows.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6895883274361541418-2437417361417045437?l=debuggerman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debuggerman.blogspot.com/feeds/2437417361417045437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6895883274361541418&amp;postID=2437417361417045437&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/2437417361417045437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6895883274361541418/posts/default/2437417361417045437'/><link rel='alternate' type='text/html' href='http://debuggerman.blogspot.com/2009/09/resource-links-1.html' title='Resource Links #1'/><author><name>Zaki Shaheen</name><uri>http://www.blogger.com/profile/07722036351618910833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/-SWqRHiMP6IM/Tg8xu8G_9OI/AAAAAAAAAH8/J9QNeiYBTVo/s220/248027_10150646169855297_643255296_19051581_1940871_n.jpg'/></author><thr:total>0</thr:total></entry></feed>
