<?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-10083358</id><updated>2011-04-22T03:01:36.044+05:00</updated><category term='BizTalk'/><category term='C#'/><category term='Presentation'/><category term='Misc'/><category term='RegEx'/><category term='SQL'/><title type='text'>Usman's Blog - my techie adventures</title><subtitle type='html'>good programmers write good code; great programmers steal great code</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>53</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10083358.post-6879659870856108058</id><published>2007-08-06T19:49:00.000+05:00</published><updated>2007-08-06T19:51:22.852+05:00</updated><title type='text'>blog moved</title><content type='html'>this blog moved to WordPress @&lt;br /&gt;&lt;a href="http://usmanshaheen.wordpress.com/"&gt;http://usmanshaheen.wordpress.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-6879659870856108058?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/6879659870856108058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=6879659870856108058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/6879659870856108058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/6879659870856108058'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/08/blog-moved.html' title='blog moved'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-6158103493470750775</id><published>2007-07-26T19:17:00.001+05:00</published><updated>2007-07-26T19:17:03.967+05:00</updated><title type='text'>Quitting? Do it Professionally</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;small&gt;&lt;small&gt;&lt;br/&gt;&lt;a href='http://greenwhite.org/2007/07/17/quitting-do-it-professionally/'&gt;http://greenwhite.org/2007/07/17/quitting-do-it-professionally/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;we all learn from our experience&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/small&gt;&lt;/small&gt;&lt;br/&gt;&lt;br/&gt;&lt;p class='poweredbyperformancing'&gt;Powered by &lt;a href='http://scribefire.com/'&gt;ScribeFire&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-6158103493470750775?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/6158103493470750775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=6158103493470750775' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/6158103493470750775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/6158103493470750775'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/07/quitting-do-it-professionally.html' title='Quitting? Do it Professionally'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-6860942372461424312</id><published>2007-07-20T23:13:00.001+05:00</published><updated>2007-07-20T23:13:02.317+05:00</updated><title type='text'>Deploying ReportViewer web control inside Reporting Services 2005 website</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;small&gt;&lt;small&gt;&lt;br/&gt;if your web application is using ReportViewer web control, it will throw the exception:&lt;br/&gt;&lt;br/&gt;The type Microsoft.ReportingServices.UI.WebControlConnection, &lt;br/&gt; ReportingServicesWebUserInterface, Version=9.0.242.0, Culture=neutral, &lt;br/&gt; PublicKeyToken=89845dcd8080cc91 does not implement &lt;br/&gt; IReportServerConnection or could not be found &lt;br/&gt;&lt;br/&gt;its your application inheriting appSettings from parent's site web.config.&lt;br/&gt;To resolve this, modify your applications' web.config as&lt;/small&gt;&lt;/small&gt;&lt;br/&gt;&lt;br/&gt;&lt;small&gt;&amp;amp;lt;appSettings&amp;amp;gt;&lt;br/&gt;        &amp;amp;lt;remove key ="ReportViewerServerConnection"/&amp;amp;gt;&lt;br/&gt;        &amp;amp;lt;remove key ="ReportViewerTemporaryStorage"/&amp;amp;gt; &lt;br/&gt;  &amp;amp;lt;/appSettings&amp;amp;gt;&lt;/small&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p class='poweredbyperformancing'&gt;Powered by &lt;a href='http://scribefire.com/'&gt;ScribeFire&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-6860942372461424312?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/6860942372461424312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=6860942372461424312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/6860942372461424312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/6860942372461424312'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/07/deploying-reportviewer-web-control.html' title='Deploying ReportViewer web control inside Reporting Services 2005 website'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-7849718853173869083</id><published>2007-07-09T14:17:00.001+05:00</published><updated>2007-07-09T14:17:23.283+05:00</updated><title type='text'>10 Developers For The Price Of One</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;p&gt;&lt;small&gt;from: &lt;a href='http://haacked.com/archive/2007/06/25/understanding-productivity-differences-between-developers.aspx'&gt;http://haacked.com/archive/2007/06/25/understanding-productivity-differences-between-developers.aspx&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;p&gt;&lt;small&gt;In the &lt;em&gt;&lt;a href='http://www.amazon.com/gp/product/0201835959?ie=UTF8&amp;amp;tag=youvebeenhaac-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0201835959' title='The Mythical Man Month'&gt;The Mythical Man-Month&lt;/a&gt;&lt;/em&gt;, Fred Brooks highlights an eye opening disparity in productivity between good and poor&amp;amp;nbsp;programmers (&lt;em&gt;emphasis mine&lt;/em&gt;).&lt;/small&gt;&lt;/p&gt; &lt;blockquote&gt;&lt;small&gt; &lt;/small&gt;&lt;p&gt;&lt;small&gt;Programming&lt;br /&gt;managers have long recognized wide productivity variations between good&lt;br /&gt;programmers and poor ones. But the actual measured magnitudes have&lt;br /&gt;astounded all of us. In one of their studies, Sackman, Erickson, and&lt;br /&gt;Grant were measuring performance of a group of &lt;strong&gt;experienced&lt;/strong&gt; programmers. &lt;strong&gt;Within&lt;br /&gt;just this group the ratios between the best and worst performances&lt;br /&gt;averaged about 10:1 on productivity measurements and an amazing 5:1 on&lt;br /&gt;program speed and space measurements!&lt;/strong&gt;&lt;/small&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;small&gt;&lt;a atomicselection='true' href='http://haacked.com/images/haacked_com/WindowsLiveWriter/GoodDevelopers10xProductivityOverAverage_A82B/toby2.gif'&gt;&lt;img width='409' height='237' src='http://haacked.com/images/haacked_com/WindowsLiveWriter/GoodDevelopers10xProductivityOverAverage_A82B/toby2_thumb.gif' alt='Tortoise and Hare: http://users.cwnet.com/xephyr/rich/dzone/hoozoo/toby.html'/&gt;&lt;/a&gt; &lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;Robert Glass cites research that puts this disparity even higher in his book &lt;em&gt;&lt;a href='http://www.amazon.com/gp/product/0321117425?ie=UTF8&amp;amp;tag=youvebeenhaac-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0321117425' title='Facts and Fallacies'&gt;Facts and Fallacies of Software Engineering&lt;/a&gt;&lt;/em&gt;.&lt;/small&gt;&lt;/p&gt; &lt;blockquote&gt;&lt;small&gt; &lt;/small&gt;&lt;p&gt;&lt;small&gt;&lt;strong&gt;The best programmers are up to 28 times better than the worst programmers&lt;/strong&gt;,&lt;br /&gt;according to “individual differences” research. Given that their pay is&lt;br /&gt;never commensurate, they are the biggest bargains in the software field.&lt;/small&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;small&gt;In&amp;amp;nbsp;other words, the &lt;a href='http://codecraft.info/index.php/archives/78/' title='Why great coders get paid far too little'&gt;best developers are generally underpaid&lt;/a&gt; and the worst developers overpaid. &lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;But&lt;br /&gt;don’t leave your job just yet. This is not to say that there should be&lt;br /&gt;a 1 to 1 correlation between productivity and pay. People should be&lt;br /&gt;paid by the value they bring and productivity is only part of the value&lt;br /&gt;proposition, albeit a big part of it. Even so, we’d expect to see some&lt;br /&gt;amount of correlation&amp;amp;nbsp;in pay&amp;amp;nbsp;with such a drastic productivity&lt;br /&gt;difference. But in general, we don’t.&amp;amp;nbsp;Why is that?&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;It’s because&amp;amp;nbsp;&lt;strong&gt;most managers don’t believe this productivity disparity despite repeated verification by multiple studies&lt;/strong&gt;. Why should they let facts get in&amp;amp;nbsp;the way of their beliefs? That would only&amp;amp;nbsp;mean the factonistas have won.&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;Kidding&lt;br /&gt;aside, why is this productivity difference so hard to believe? Allow me&lt;br /&gt;to put words in the mouth of a straw-man manager.&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;&lt;em&gt;Well how in the world can one developer write code 28 times faster than another developer?&lt;/em&gt;&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;This sort of thinking&amp;amp;nbsp;represents a common fallacy when it comes to measuring developer productivity. Productivity &lt;a href='http://www.developer.com/java/other/article.php/988641' title='It’s Not About Lines Of Code'&gt;is not about the lines of code&lt;/a&gt;.&lt;br /&gt;A huge&amp;amp;nbsp;steaming pile of code that doesn’t get the job done is not&lt;br /&gt;productive. There are many aspects to developer productivity, but they&lt;br /&gt;all fall under one main principle (&lt;em&gt;borrowing a term from the finance industry&lt;/em&gt;), TCO.&lt;/small&gt;&lt;/p&gt; &lt;h3&gt;&lt;small&gt;TCO - Total Cost Of Ownership.&lt;/small&gt;&lt;/h3&gt; &lt;p&gt;&lt;small&gt;In general, I’ve tried to always &lt;a href='http://haacked.com/archive/2007/01/27/On_Hiring_Bloggers_and_Open_Source_Developers.aspx' title='Hiring Bloggers and open Source Developers'&gt;hire the best developers I can find&lt;/a&gt;. But I’ve made mistakes before. Yes, even me.&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;One&amp;amp;nbsp;situation&lt;br /&gt;that comes to mind was&amp;amp;nbsp;with a developer I had hired (under a lot of&lt;br /&gt;pressure to staff up I might add) at a former company.&amp;amp;nbsp;I handed off a&lt;br /&gt;project to&amp;amp;nbsp;this erstwhile&amp;amp;nbsp;coworker to take over. A few days go by and I&lt;br /&gt;don’t hear anything from the guy, so I assume things are humming along&lt;br /&gt;nicely.&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;Fast forward another few days and I swing by to see how&lt;br /&gt;it’s going and the developer tells me he doesn’t understand a few&lt;br /&gt;requirements and has been spinning his wheels trying to figure it out&lt;br /&gt;this whole time.&lt;/small&gt;&lt;/p&gt; &lt;h3&gt;&lt;small&gt;Good Developers take Ownership so You Don’t Have To&lt;/small&gt;&lt;/h3&gt; &lt;p&gt;&lt;small&gt;This&lt;br /&gt;is one of the first ways that good developers are more productive than&lt;br /&gt;average developers. They take ownership of a project. Rather than spend&lt;br /&gt;a week spinning wheels because they don’t understand a requirement, a&lt;br /&gt;good developer will go and grab the decision maker and squeeze out some&lt;br /&gt;clarity.&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;Likewise, a good developer doesn’t require you to prod&lt;br /&gt;them every few moments to make sure they are progressing. If they get&lt;br /&gt;overly stuck on a problem, they’ll come to you or their coworkers and&lt;br /&gt;resolve the problem.&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;A developer who can write code fast, but&lt;br /&gt;doesn’t take ownership of their projects is not very productive because&lt;br /&gt;they end up wasting &lt;strong&gt;your &lt;/strong&gt;time.&lt;/small&gt;&lt;/p&gt; &lt;h3&gt;&lt;small&gt;Good Developers Write Code With Less Bugs&lt;/small&gt;&lt;/h3&gt; &lt;p&gt;&lt;small&gt;I&lt;br /&gt;once worked with a developer who was praised by my boss for being&lt;br /&gt;extremely fast at writing code. He sure was fast! He was also fast at&lt;br /&gt;introducing bugs into code. His code was sloppy and hard to understand.&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;The&lt;br /&gt;key measure that wasn’t figured into his productivity measurement was&lt;br /&gt;the amount of productivity lost by the QA team attempting to reproduce&lt;br /&gt;bugs introduced by his code, along with the time spent fixing those&lt;br /&gt;bugs by this developer or other developers.&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;Everyone focused on&lt;br /&gt;his time to "completion", but not on the total cost of ownership of&lt;br /&gt;that code. Code is not complete when a developer says it is complete.&lt;br /&gt;That is &lt;em&gt;not&lt;/em&gt; the time to stop the stopwatch. It’s when QA has had its say that you can put the stopwatch away for the moment.&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;As&lt;br /&gt;I like to say, productivity is not about speed. It’s about velocity.&lt;br /&gt;You can be fast, but if you’re going in the wrong direction, you’re not&lt;br /&gt;helping anyone.&lt;/small&gt;&lt;/p&gt; &lt;h3&gt;&lt;small&gt;Good Developers Write Maintainable Code&lt;/small&gt;&lt;/h3&gt; &lt;p&gt;&lt;small&gt;Hand&lt;br /&gt;in hand with writing less bugs is writing&amp;amp;nbsp;understandable&amp;amp;nbsp;maintainable&lt;br /&gt;code. As soon as a line of code is laid on the screen, you’re in&lt;br /&gt;maintenance mode on that piece of code.&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;Code that is brittle and&lt;br /&gt;difficult to change wastes hours and hours of developer cycles when&lt;br /&gt;trying to amend a system with updates and new features. By writing&lt;br /&gt;maintainable code, a good developer can make these changes more quickly&lt;br /&gt;and also improves the productivity of his or her team members who later&lt;br /&gt;have to work on such code.&lt;/small&gt;&lt;/p&gt; &lt;h3&gt;&lt;small&gt;Good Developers Do More With Less Code&lt;/small&gt;&lt;/h3&gt; &lt;p&gt;&lt;small&gt;Another hallmark of a good developer is that they know when not to write code. As a friend always tells me&lt;/small&gt;&lt;/p&gt; &lt;blockquote&gt;&lt;small&gt; &lt;/small&gt;&lt;p&gt;&lt;small&gt;Why build what you can buy? Why buy what you can borrow? Why borrow what you can steal?&lt;/small&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;small&gt;With&lt;br /&gt;a few exceptions, the NIH (Not Invented Here) syndrome is a&lt;br /&gt;pathological productivity killer. I’ve seen developers start out to&lt;br /&gt;write their own form validation framework until I point out that there&lt;br /&gt;is already one built in to ASP.NET that does the job (It’s not perfect,&lt;br /&gt;but it’s better than the one I saw being written).&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;All of that&lt;br /&gt;time spent reinventing the wheel is wasted because someone else has&lt;br /&gt;already written that code for you. And in many cases, did a better job&lt;br /&gt;as it was their only focus.&amp;amp;nbsp;In such a situation, finding an existing&lt;br /&gt;library that gets the job done can provide a huge productivity boost.&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;The&lt;br /&gt;caveat in this case is to be careful to avoid non-extensible and rigid&lt;br /&gt;3rd party libraries, especially for very specialized requirements. You&lt;br /&gt;might a lot of time trying to fit a round peg in a square box.&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;Even&lt;br /&gt;when you must invent here, good developers tend to write less (but&lt;br /&gt;still readable) code that does more. For example, rather than build a&lt;br /&gt;state machine to parse out text from a big string, a good developer&lt;br /&gt;might use a regular expression (&lt;em&gt;ok, some will say that a regex is not readable. Still more readable than hundreds of lines of text parsing code)&lt;/em&gt;.&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;&lt;strong&gt;Back to TCO&lt;/strong&gt;&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;Each of these characteristics I’ve listed keeps the total cost of ownership of a good developer low. Please don’t let the term &lt;em&gt;ownership&lt;/em&gt; distract you. What I mean here is the cost to the company for having such a developer on the payroll.&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;By&lt;br /&gt;writing less code that does more, and&amp;amp;nbsp;by writing maintainable code that&lt;br /&gt;has fewer bugs, a&amp;amp;nbsp;good developer takes pressure off of the QA staff,&lt;br /&gt;coworkers, and management, increasing productivity for everyone around.&lt;br /&gt;This is why numbers such as 28 times productivity are possible and&lt;br /&gt;might even seem low when you look at the big picture.&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;Hopefully&lt;br /&gt;seeing this perspective will convince managers that good developers&lt;br /&gt;really are as productive as the studies show. Negotiating a 28x pay&lt;br /&gt;increase on the other hand, is an exercise left to the reader.&lt;/small&gt;&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;p class='poweredbyperformancing'&gt;Powered by &lt;a href='http://scribefire.com/'&gt;ScribeFire&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-7849718853173869083?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/7849718853173869083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=7849718853173869083' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/7849718853173869083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/7849718853173869083'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/07/10-developers-for-price-of-one.html' title='10 Developers For The Price Of One'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-3804385205148026496</id><published>2007-07-07T12:38:00.001+05:00</published><updated>2007-07-07T12:54:57.186+05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presentation'/><title type='text'>Speaking as a Performing Art</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;small&gt;&lt;small&gt;from Guy Kawasaki Blog: &lt;a href="http://blog.guykawasaki.com/2007/06/speaking_as_a_p.html"&gt;http://blog.guykawasaki.com/2007/06/speaking_as_a_p.html&lt;/a&gt;&lt;/small&gt;&lt;/small&gt;&lt;br /&gt;&lt;p&gt;&lt;small&gt;&lt;span style="font-family: verdana;"&gt;Singing and speaking have everything in common—except for maybe really&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;good tunes. The main goal is to engage your audience and make them&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;listen to you, so everything a singer does, a speaker ought to do too.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Here are the absolute necessities of an engaging performance or&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;presentation that Doug compiled for me:&lt;/span&gt;&lt;/small&gt;&lt;br /&gt;&lt;/p&gt;&lt;ol style="font-family: verdana;"&gt;&lt;li&gt;&lt;p&gt;&lt;small&gt;&lt;b&gt;Circulate with your audience.&lt;/b&gt; Before every concert,&lt;br /&gt;speech, and seminar, I try to mingle with the crowd, ask questions, and&lt;br /&gt;let them know I’m glad they came. This isn’t always possible in the&lt;br /&gt;real world, but when it is, I have an opportunity to feel a bond with&lt;br /&gt;the people I’m about to perform for and undo some of the jitters that&lt;br /&gt;are a natural part of being “on.” &lt;/small&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;small&gt;&lt;b&gt;Command attention.&lt;/b&gt; The breastbone (sternum) has to be&lt;br /&gt;high if you want to project authority. You might want to pretend you’re&lt;br /&gt;a rooster showing off. Relaxed sternum = loser, high sternum = winner!&lt;/small&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;small&gt;&lt;b&gt;Snarl.&lt;/b&gt; If people can’t hear you, they won’t listen to&lt;br /&gt;you. Add some nasal resonance to your voice, but keep smiling. Snarl is&lt;br /&gt;that nasal sound you get when you speak partially from your nose&lt;br /&gt;instead of your mouth. It generates overtones above 2,800 cycles per&lt;br /&gt;second that make any room “sing.” Pretend you’re trying to yell/warn a&lt;br /&gt;child that’s about to run out in front of a bus—like yelling, “STOP!”&lt;br /&gt;This works whether you’re using a microphone or speaking without one&lt;/small&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;small&gt;&lt;b&gt;Bite your tongue.&lt;/b&gt; If your mouth gets dry in the middle of&lt;br /&gt;your presentation, try gently biting your tongue. Opera singers use&lt;br /&gt;this all the time to release saliva which moistens your mouth.&lt;/small&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;small&gt;&lt;b&gt;Always perform a sound check before you speak&lt;/b&gt;. A good&lt;br /&gt;sound person will adjust the EQ to your voice and its idiosyncrasies.&lt;br /&gt;If you’re comfortable using a hand mike, do so—work close to the mike&lt;br /&gt;and you’ll have a better chance of being heard. If you turn your head,&lt;br /&gt;make sure you turn the mike with your head. Lapel mikes usually work&lt;br /&gt;fine, but for softer speakers they’re very frustrating. Wrap-around&lt;br /&gt;mikes (such as the AKG C520L—$159) that fit over your ear are the best&lt;br /&gt;for intelligibility. If you speak often and you know your venues will&lt;br /&gt;support this technology, buy a really good one and take it with you.&lt;/small&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;small&gt;&lt;b&gt;Use your eyes all the time.&lt;/b&gt; Hand gestures, pacing around&lt;br /&gt;the platform can all be useful tools in presentation, but the eyes…ah,&lt;br /&gt;the eyes have it! If you can’t engage people with your eyes you will&lt;br /&gt;eventually lose your audience’s attention. Your eyes always tell people&lt;br /&gt;whether or not you believe in what you’re saying! Scan the room, select&lt;br /&gt;a person to make a point to, and look right at them. It’s a little&lt;br /&gt;intimidating for them, but it keeps you focused on the individuals who&lt;br /&gt;make up your audience. Keep moving to new people—right, left, middle—it&lt;br /&gt;works! If all else fails, look at each person as though you’ve loved&lt;br /&gt;him or her all your life—like mom, or your child.&lt;/small&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;small&gt;&lt;b&gt;Move away from center to make your point.&lt;/b&gt; When you come&lt;br /&gt;to a place in your presentation where you really want people’s&lt;br /&gt;attention, move to the left or right of your primary speaking position.&lt;br /&gt;This will always make people look up at you. If you are a constant&lt;br /&gt;mover or shaker, stand still for a few moments—it will have the same&lt;br /&gt;effect. &lt;/small&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;small&gt;&lt;b&gt;Get quiet.&lt;/b&gt; If you really want to get people’s attention,&lt;br /&gt;get quiet suddenly. It will scare the sound guy to death, but I&lt;br /&gt;guarantee the audience will pay attention. Singers use this trick all&lt;br /&gt;the time. That’s the “you could hear a pin drop” effect. Believe me,&lt;br /&gt;that’s what sells your talk!&lt;/small&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;small&gt;&lt;b&gt;“Underline” certain words with a pause or repetition.&lt;/b&gt; If&lt;br /&gt;you really want to make a point, slow down, pause, and say the word or&lt;br /&gt;phrase that you most want people to hear with a calculated emphasis on&lt;br /&gt;each word. The sudden switch in style gets attention. Also try&lt;br /&gt;repeating a word or phrase before you make your big point. For example:&lt;br /&gt;“You know (pause) you know (pause) you know, the thing I want you to&lt;br /&gt;remember is…” Songs are full of repeated text, a device that locks down&lt;br /&gt;meaning!&lt;/small&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;small&gt;&lt;b&gt;Take a risk and be vulnerable.&lt;/b&gt; Say or do something that’s&lt;br /&gt;totally out of character for you. Use a “pretend” voice like Mickey&lt;br /&gt;Mouse or Barry White for effect while you’re telling a joke or saying&lt;br /&gt;something shocking or humorous. Whether your persona is reserved or&lt;br /&gt;funny, it’s endearing to have a little fun. This trick humanizes the&lt;br /&gt;most serious topics.&lt;/small&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;small&gt;&lt;b&gt;Tee it higher.&lt;/b&gt; Raising the overall pitch of your voice&lt;br /&gt;for a few seconds will create urgency. It shows your passion for the&lt;br /&gt;subject matter and also relaxes your exhausted larynx. Low pitched&lt;br /&gt;voices relax the room—high pitched voices increase the adrenaline flow&lt;br /&gt;of the audience.&lt;/small&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;small&gt;&lt;b&gt;Know when it’s time to go.&lt;/b&gt; You don’t have to be a genius&lt;br /&gt;to know you’ve overstayed your welcome. Check your “presentation&lt;br /&gt;barometer” often to see if everyone is still with you. Change&lt;br /&gt;something—anything—if you’re starting to lose the crowd. If all else&lt;br /&gt;fails, stop talking, start thanking, and get off the platform. People&lt;br /&gt;will love you more for knowing when to stop than for all the wonderful&lt;br /&gt;content you brought to your topic!&lt;/small&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;small&gt;&lt;b&gt;Use Q and A as an “encore.”&lt;/b&gt; Singers usually prepare an&lt;br /&gt;encore because this practice makes the audience feel special and makes&lt;br /&gt;them think you like them more than other audiences you’ve encountered.&lt;br /&gt;Q and A functions something like an encore. You may think you told them&lt;br /&gt;stuff they needed to know, but questions often reveal the important&lt;br /&gt;things you left out of your content. Where this opportunity exists, use&lt;br /&gt;it as a tool for picking up the pieces you left dangling in your talk&lt;br /&gt;and warm the crowd to your candor and self-effacing graciousness.&lt;br /&gt;&lt;/small&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;small&gt;&lt;b&gt;Rehearse, rehearse, rehearse.&lt;/b&gt; That’s how I got to&lt;br /&gt;Carnegie Hall! Where possible, memorize your material like singers&lt;br /&gt;memorize their songs. Remember, the more you rehearse, the freer you&lt;br /&gt;will be to make your talk fresh and engaging.&lt;/small&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;small&gt;&lt;b&gt;Perform for a hero&lt;/b&gt;. Several years ago I was asked to sing&lt;br /&gt;a command performance for the Queen of Spain. I worked harder on that&lt;br /&gt;concert than any I have ever sung. It was very successful and I was&lt;br /&gt;proud of my preparation. From that time on I imagined I was about to&lt;br /&gt;sing for the queen, it made me twice the performer I had been&lt;br /&gt;previously. Pick a hero, and give them your best shot!&lt;/small&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-3804385205148026496?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/3804385205148026496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=3804385205148026496' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/3804385205148026496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/3804385205148026496'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/07/speaking-as-performing-art.html' title='Speaking as a Performing Art'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-6726113312192739750</id><published>2007-04-17T20:22:00.000+05:00</published><updated>2007-04-17T20:52:59.606+05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RegEx'/><title type='text'>regex: match a value between two strings</title><content type='html'>how to capture a value, by group name, between two known string patterns&lt;br /&gt;regex :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Regex re = new Regex("str1(?&lt;val&gt;.*?)str2",RegexOptions.Singleline); &lt;/val&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            foreach (Match m in  re.Matches(data)) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                    Console.WriteLine(m.Groups["val"].Value );&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                 }&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-6726113312192739750?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/6726113312192739750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=6726113312192739750' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/6726113312192739750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/6726113312192739750'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/04/regex-match-value-between-two-strings.html' title='regex: match a value between two strings'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-7567486841589132755</id><published>2007-04-04T07:00:00.001+05:00</published><updated>2007-07-07T12:55:19.696+05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc'/><title type='text'>Article : Two Factor Theory</title><content type='html'>&lt;div class="Section1"&gt;  &lt;p&gt;&lt;b&gt;Two Factor Theory&lt;/b&gt; (also known as &lt;b&gt;Herzberg's Motivation-Hygiene Theory&lt;/b&gt;) - job satisfaction and job dissatisfaction acted independently of each other. Two Factor Theory states that there are certain factors in the &lt;a href="http://en.wikipedia.org/wiki/Workplace" title="Workplace"&gt;workplace&lt;/a&gt; that cause &lt;a href="http://en.wikipedia.org/wiki/Job_satisfaction" title="Job satisfaction"&gt;job satisfaction&lt;/a&gt;, while a separate set of factors cause dissatisfaction. (Herzberg, Mausner &amp; Snyderman 1959)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p&gt;Two Factor Theory distinguishes between:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;  &lt;li class="MsoNormal" style=""&gt;&lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Motivation" title="Motivation"&gt;Motivators&lt;/a&gt;&lt;/b&gt;;      (e.g. challenging work, recognition, responsibility) which give positive      satisfaction, &lt;i&gt;and&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;ul type="disc"&gt;  &lt;li class="MsoNormal" style=""&gt;&lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Hygiene_factors" title="Hygiene factors"&gt;Hygiene      factors&lt;/a&gt;&lt;/b&gt;; (e.g. status, &lt;a href="http://en.wikipedia.org/wiki/Job_security" title="Job security"&gt;job      security&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Salary" title="Salary"&gt;salary&lt;/a&gt;      and fringe benefits) which do not give positive satisfaction, although      dissatisfaction results from their absence.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Essentially, hygiene factors are needed to ensure an employee is not dissatisfied. Motivation factors are needed in order to motivate an employee to higher performance, Herzberg also further classified our actions and how and why we do them, for example, if you perform a work related action because you &lt;i&gt;have&lt;/i&gt; to then that is classed as &lt;b&gt;movement&lt;/b&gt;, but if you perform a work related action because you &lt;i&gt;want&lt;/i&gt; to then that is classed as &lt;b&gt;motivation&lt;/b&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ref: http://en.wikipedia.org/wiki/Two_factor_theory&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-7567486841589132755?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/7567486841589132755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=7567486841589132755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/7567486841589132755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/7567486841589132755'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/04/article-two-factor-theory.html' title='Article : Two Factor Theory'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-5689614607300943589</id><published>2007-03-26T10:53:00.001+05:00</published><updated>2007-07-07T12:55:43.914+05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc'/><title type='text'>The Psychology of Computer Programming</title><content type='html'>&lt;div class="Section1"&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style=";color:#000000;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="1" type="1"&gt;  &lt;li class="MsoNormal"  style="color:windowtext;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Understand and accept that you will make      mistakes.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; The point is to find      them early, before they make it into production. Fortunately, except for      the few of us developing rocket guidance software at JPL, mistakes are rarely      fatal in our industry, so we can, and should, learn, laugh, and move on. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style=";font-size:85%;color:#000000;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="2" type="1"&gt;  &lt;li class="MsoNormal"  style="color:windowtext;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;You are not your code.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; Remember that the entire point of a review is to      find problems, and problems will be found. Don't take it personally when      one is uncovered. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style=";font-size:85%;color:#000000;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="3" type="1"&gt;  &lt;li class="MsoNormal"  style="color:windowtext;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;No matter how much "karate" you know,      someone else will always know more.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;      Such an individual can teach you some new moves if you ask. Seek and      accept input from others, &lt;i&gt;especially&lt;/i&gt; when you think it's not      needed. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style=";font-size:85%;color:#000000;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="4" type="1"&gt;  &lt;li class="MsoNormal"  style="color:windowtext;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Don't rewrite code without consultation.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; There's a fine line between "fixing      code" and "rewriting code." Know the difference, and pursue      stylistic changes within the framework of a code review, not as a lone      enforcer. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style=";font-size:85%;color:#000000;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="5" type="1"&gt;  &lt;li class="MsoNormal"  style="color:windowtext;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Treat people who know less than you with respect,      deference, and patience.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;      Nontechnical people who deal with developers on a regular basis almost      universally hold the opinion that we are prima donnas at best and      crybabies at worst. Don't reinforce this stereotype with anger and      impatience. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style=";font-size:85%;color:#000000;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="6" type="1"&gt;  &lt;li class="MsoNormal"  style="color:windowtext;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;The only constant in the world is change.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; Be open to it and accept it with a smile. Look      at each change to your requirements, platform, or tool as a new challenge,      not as some serious inconvenience to be fought. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style=";font-size:85%;color:#000000;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="7" type="1"&gt;  &lt;li class="MsoNormal"  style="color:windowtext;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;The only true authority stems from knowledge, not      from position.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; Knowledge      engenders authority, and authority engenders respect—so if you want      respect in an egoless environment, cultivate knowledge. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style=";font-size:85%;color:#000000;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="8" type="1"&gt;  &lt;li class="MsoNormal"  style="color:windowtext;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Fight for what you believe, but gracefully accept      defeat.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; Understand that      sometimes your ideas will be overruled. Even if you do turn out to be right,      don't take revenge or say, "I told you so" more than a few times      at most, and don't make your dearly departed idea a martyr or rallying      cry. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style=";font-size:85%;color:#000000;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="9" type="1"&gt;  &lt;li class="MsoNormal"  style="color:windowtext;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Don't be "the guy in the room."&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; Don't be the guy coding in the dark office      emerging only to buy cola. The guy in the room is out of touch, out of      sight, and out of control and has no place in an open, collaborative      environment. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style=";font-size:85%;color:#000000;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="10" type="1"&gt;  &lt;li class="MsoNormal"  style="color:windowtext;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Critique code instead of people—be kind to      the coder, not to the code.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;As      much as possible, make all of your comments positive and oriented to      improving the code. Relate comments to local standards, program specs,      increased performance, etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;color:#000000;"   &gt;The human principles of software are truly timeless; &lt;a href="http://www.amazon.com/exec/obidos/ASIN/0932633420/codinghorror-20"&gt;&lt;i&gt;&lt;span style="color:blue;"&gt;The Psychology of Computer Programming&lt;/span&gt;&lt;/i&gt;&lt;/a&gt; was written way back in 1971&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-5689614607300943589?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/5689614607300943589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=5689614607300943589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/5689614607300943589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/5689614607300943589'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/03/psychology-of-computer-programming.html' title='The Psychology of Computer Programming'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-6919315100656944865</id><published>2007-03-23T23:24:00.000+05:00</published><updated>2007-07-07T12:55:43.914+05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc'/><title type='text'>Top ten things ten years of professional software development has taught me</title><content type='html'>&lt;div class="Section1"&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Symbol;color:black;"  &gt;·&lt;/span&gt;&lt;span style="color:black;"&gt;  &lt;strong&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Object orientation is much harder than you think&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Maybe it's just me, but coming from Computer Science class I thought that OO was easy. I mean, how hard can it be to create classes that mimic the real world? It turns out that it's pretty hard. Ten years later, I'm still learning how to model properly. I wish I spent more time reading up on OO and design patterns. Good modeling skills are worth a lot to every development team. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Symbol;color:black;"  &gt;·&lt;/span&gt;&lt;span style="color:black;"&gt;  &lt;strong&gt;&lt;span style=";font-family:&amp;quot;;" &gt;The difficult part of software development is communication&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;And that's communication with persons, not socket programming. Now and then you do run into a tricky technical problem, but it's not at all that common. Much more common is misunderstandings between you and the project manager, between you and the customer and finally between you and the other developers. Work on your soft skills. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Symbol;color:black;"  &gt;·&lt;/span&gt;&lt;span style="color:black;"&gt;  &lt;strong&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Learn to say no&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;When I started working, I was very eager to please. This meant that I had a hard time saying no to things people asked of me. I worked a lot of overtime, and still didn't finish everything that was asked of me. The result was disappointment from their side, and almost burning out on my part. If you never say no, your yes is worth very little. Commit to what you can handle, and if people keep asking you for more, make it very explicit that this would mean not doing something else. What I did was to have a list of stuff that I needed to do on a piece of paper with me. When someone asked for something, I showed them the list and asked what I should bump to have time to help them. This allowed me to say no in a nice way. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Symbol;color:black;"  &gt;·&lt;/span&gt;&lt;span style="color:black;"&gt;  &lt;strong&gt;&lt;span style=";font-family:&amp;quot;;" &gt;If everything is equally important, then nothing is important&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;The business likes to say that all the features are as crucial. They are not. Push back and make them commit. It's easier if you don't force them to pick what to do and what not to do. Instead, let them choose what you should do &lt;em&gt;&lt;span style=";font-family:&amp;quot;;" &gt;this week&lt;/span&gt;&lt;/em&gt;. This will let you produce the stuff that brings value first. If all else goes haywire, at least you've done that. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Symbol;color:black;"  &gt;·&lt;/span&gt;&lt;span style="color:black;"&gt;  &lt;strong&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Don't over-think a problem&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;I can spend whole days designing things in front of the white board. That doesn't mean it will be any better, it just means it will be more complicated. I don't mean to say you shouldn't design at all, just that the implementation will quickly show me stuff I didn't think of anyway, so why try to make it perfect? Like Dave Farley says: "The devil is in the details, but exorcism is in implementation, not theory." &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Symbol;color:black;"  &gt;·&lt;/span&gt;&lt;span style="color:black;"&gt;  &lt;strong&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Dive really deep into something, but don't get hung up&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;a href="http://www.hedgate.net/"&gt;&lt;span style="color:black;"&gt;Chris&lt;/span&gt;&lt;/a&gt; and I spent a lot of time getting into the real deep parts of SQL Server. It was great fun and I learned a lot from it, but after some time I realized that knowing that much didn't really help me solve the business' problems. An example: I know that at the table level, SQL Server will not take an IU lock - it will only take a IX lock. This is a performance tweak, since most of the time, the IU lock will have to be escalated into a IX lock anyway. To find this, I spent countless days experimenting, I read loads of material and talked to Microsoft people at conferences. Have I &lt;em&gt;&lt;span style=";font-family:&amp;quot;;" &gt;ever &lt;/span&gt;&lt;/em&gt;had any use of this knowledge. Nope. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Symbol;color:black;"  &gt;·&lt;/span&gt;&lt;span style="color:black;"&gt;  &lt;strong&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Learn about the other parts of the software development machine&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;It's really important to be a great developer. But to be a great part of the system that produces software, you need to understand what the rest of the system does. How do the QA people work? What does the project manager do? What drives the business analyst? This knowledge will help you connect with the rest of the people, and will grease interactions with them. Ask the people around you for help in learning more. What books are good? Most people will be flattered that you care, and willingly help you out. A little time on this goes a really long way. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Symbol;color:black;"  &gt;·&lt;/span&gt;&lt;span style="color:black;"&gt;  &lt;strong&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Your colleagues are your best teachers&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;A year after I started on my first job, we merged with another company. Suddenly I had a lot of much more talented and experienced people around me. I remember distinctly how this made me feel inferior and stupid. I studied hard, reading book after book but I still didn't catch up. They had too much of an advantage on me, I figured.&lt;br /&gt;Nowadays, working with great people doesn't make me feel bad at all. I just feel I have the chance of a lifetime to learn. I ask questions and I try really hard to understand how my colleagues come to the conclusions they do. This is why I joined ThoughtWorks. See your peers as an asset, not competition. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Symbol;color:black;"  &gt;·&lt;/span&gt;&lt;span style="color:black;"&gt;  &lt;strong&gt;&lt;span style=";font-family:&amp;quot;;" &gt;It all comes down to working software&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;No matter how cool your algorithms are, no matter how brilliant your database schema is, no matter how fabulous your whatever is, if it doesn't scratch the clients' itch, it's not worth anything. Focus on delivering working software, and at the same time prepare to continue delivering software using that code base and you're on the right path. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Symbol;color:black;"  &gt;·&lt;/span&gt;&lt;span style="color:black;"&gt;  &lt;strong&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Some people are assholes&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Most of the time, most of the people around you are great. You learn from them, and they learn from you. Accomplishing something together is a good feeling. Unfortunately, you will probably run into the exceptions. People that because of something or other are plain old mean. Demeaning bosses. Lying colleagues. Stupid, ignorant customers. Don't take this too hard. Try to work around them and do what you can to minimize the pain and effort they cause, but don't blame yourself. As long as you stay honest and do your best, you've done your part.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;Ref: &lt;a href="http://www.taylor.se/reddit.html"&gt;http://www.taylor.se/reddit.html&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-6919315100656944865?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/6919315100656944865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=6919315100656944865' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/6919315100656944865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/6919315100656944865'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/03/top-ten-things-ten-years-of.html' title='Top ten things ten years of professional software development has taught me'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-8727778640494890055</id><published>2007-03-19T19:07:00.000+05:00</published><updated>2007-03-27T11:17:45.794+05:00</updated><title type='text'>An Excellent Presentation: Why Do People Succeed</title><content type='html'>&lt;div class="Section1"&gt;&lt;div id="ygrp-mlmsg"&gt;&lt;div id="ygrp-msg"&gt;&lt;div id="ygrp-text"&gt;&lt;div&gt;        &lt;a href="http://www.ted.com/tedtalks/tedtalksplayer.cfm?key=r_stjohn"&gt;http://www.ted.com/tedtalks/tedtalksplayer.cfm?key=r_stjohn&lt;/a&gt;  &lt;/div&gt;  &lt;/div&gt;  &lt;/div&gt;  &lt;/div&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-8727778640494890055?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/8727778640494890055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=8727778640494890055' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/8727778640494890055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/8727778640494890055'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/03/excellent-presentation-why-do-people.html' title='An Excellent Presentation: Why Do People Succeed'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-8666410438533549957</id><published>2007-03-14T10:00:00.001+05:00</published><updated>2007-07-07T13:03:00.768+05:00</updated><title type='text'>How True: Men's rules</title><content type='html'>&lt;div class="Section1"&gt;  &lt;div id="ygrp-mlmsg"&gt;  &lt;div id="ygrp-msg"&gt;  &lt;div id="ygrp-text"&gt;  &lt;div&gt;  &lt;div&gt;  &lt;div&gt;  &lt;table class="MsoNormalTable" style="width: 100%;" border="0" cellpadding="0" cellspacing="0" width="100%"&gt;  &lt;tbody&gt;&lt;tr&gt;   &lt;td style="padding: 1.5pt; width: 100%;" width="100%"&gt;   &lt;div&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/p&gt;   &lt;/div&gt;   &lt;div&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;b&gt;&lt;span style=""&gt;Finally, the guys' side   of the story.&lt;/span&gt;&lt;/b&gt;&lt;span style=""&gt;&lt;br /&gt; &lt;br /&gt; We always hear &lt;/span&gt;&lt;b&gt;&lt;span style=""&gt;" the rules&lt;/span&gt;&lt;/b&gt;&lt;span style=""&gt; " From the female side.&lt;br /&gt;&lt;br /&gt; Now here are the rules from the male side.&lt;br /&gt;&lt;br /&gt; &lt;b&gt;&lt;span style="color: rgb(255, 102, 0); text-decoration: none;"&gt;These are   our rules!&lt;/span&gt;&lt;/b&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt;&lt;br /&gt; Please note.. These are all numbered "1" &lt;/span&gt;&lt;b&gt;&lt;span style="text-decoration: none;color:green;" &gt;ON PURPOSE! &lt;/span&gt;&lt;/b&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://funlok.com/index.php?option=com_content&amp;task=view&amp;amp;amp;amp;id=798&amp;Itemid=34" target="_blank"&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt;&lt;br /&gt;  &lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration: none;color:black;" &gt;1.   Men are NOT mind readers.&lt;/span&gt;&lt;a href="http://funlok.com/index.php?option=com_content&amp;task=view&amp;amp;amp;amp;id=798&amp;Itemid=34" target="_blank"&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/div&gt;   &lt;p&gt;&lt;span style=""&gt;&lt;span style="text-decoration: none;color:black;" &gt;1. Shopping is   NOT a sport. And no, we are never going to think of it that way.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; 1. &lt;/span&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0); text-decoration: none;"&gt;Crying is   blackmail.&lt;/span&gt; &lt;/b&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; 1. Ask for what you want.&lt;br /&gt;&lt;br /&gt; Let us be clear on this one:&lt;br /&gt;&lt;br /&gt; Subtle hints do not work!&lt;br /&gt;&lt;br /&gt; Strong hints do not work!&lt;br /&gt;&lt;br /&gt; Obvious hints do not work!&lt;br /&gt;&lt;br /&gt; Just say it!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://funlok.com/index.php?option=com_content&amp;task=view&amp;amp;amp;amp;id=798&amp;Itemid=34" target="_blank"&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration: none;color:black;" &gt;  1. Yes and No are perfectly acceptable answers to almost every question.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; 1. Come to us with a problem only if you want help solving it. That's what we   do. Sympathy is what your girlfriends are for.&lt;/span&gt;&lt;a href="http://funlok.com/index.php?option=com_content&amp;task=view&amp;amp;amp;amp;id=798&amp;Itemid=34" target="_blank"&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration: none;color:black;" &gt;  1. A headache that lasts for 17 months is a Problem. See a doctor.&lt;/span&gt;&lt;a href="http://funlok.com/index.php?option=com_content&amp;task=view&amp;amp;amp;amp;id=798&amp;Itemid=34" target="_blank"&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration: none;color:black;" &gt;  1. Anything we said 6 months ago is inadmissible in an argument. In fact, all   comments become null and void after 7 Days.&lt;/span&gt;&lt;a href="http://funlok.com/index.php?option=com_content&amp;task=view&amp;amp;amp;amp;id=798&amp;Itemid=34" target="_blank"&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://funlok.com/index.php?option=com_content&amp;task=view&amp;amp;amp;amp;id=798&amp;Itemid=34" target="_blank"&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration: none;color:black;" &gt;  1. If you won't dress like the Victoria 's Secret girls, don't Expect us to   act like soap opera guys.&lt;br /&gt;&lt;br /&gt;1. If you think you're fat, you probably are. Don't ask us.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; 1. If something we said can be interpreted two ways and one of the ways makes   you sad or angry, we meant the other one&lt;br /&gt;&lt;br /&gt;1. You can either ask us to do something Or tell us how you want it done. Not   both.&lt;br /&gt;&lt;br /&gt; If you already know best how to do it, just do it yourself.&lt;br /&gt;&lt;/span&gt;&lt;a href="http://funlok.com/index.php?option=com_content&amp;task=view&amp;amp;amp;amp;id=798&amp;Itemid=34" target="_blank"&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt; 1. Whenever possible, Please say whatever you have to say during commercials. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; 1. &lt;/span&gt;&lt;b&gt;&lt;span style="color: rgb(0, 102, 255); text-decoration: none;"&gt;Christopher   Columbus did NOT need directions and neither do we.&lt;br /&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt;&lt;br /&gt; 1. ALL men see in only 16 colors, like Windows default settings.&lt;br /&gt;&lt;br /&gt; Peach, for example, is a fruit, not A color. Pumpkin is also a fruit. We have   no idea what mauve is.&lt;/span&gt;&lt;a href="http://funlok.com/index.php?option=com_content&amp;task=view&amp;amp;amp;amp;id=798&amp;Itemid=34" target="_blank"&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration: none;color:black;" &gt;  1. If we ask what is wrong and you say "nothing," We will act like   nothing's wrong.&lt;br /&gt;&lt;br /&gt; We know you are lying, but it is just not worth the hassle.&lt;br /&gt;&lt;/span&gt;&lt;a href="http://funlok.com/index.php?option=com_content&amp;task=view&amp;amp;amp;amp;id=798&amp;Itemid=34" target="_blank"&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration: none;color:black;" &gt;1. If you ask a question you don't want an answer to, Expect an answer you   don't want to hear.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; 1. When we have to go somewhere, absolutely anything you wear is fine. Really   .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; 1. Don't ask us what we're thinking about unless you are prepared to discuss   such topics as baseball, the shotgun formation, or golf.&lt;br /&gt;&lt;/span&gt;&lt;a href="http://funlok.com/index.php?option=com_content&amp;task=view&amp;amp;amp;amp;id=798&amp;Itemid=34" target="_blank"&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration: none;color:black;" &gt;  1. &lt;/span&gt;&lt;b&gt;&lt;span style="text-decoration: none;color:green;" &gt;You have enough   clothes. &lt;/span&gt;&lt;/b&gt;&lt;span style="text-decoration: none;color:black;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; 1. You have too many shoes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; 1. I am in shape. Round IS a shape!&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 102, 255); text-decoration: none;"&gt;Yes, I know, I   have to sleep on the couch tonight;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding: 1.5pt; width: 100%;" id="INCREDIFOOTER" width="100%"&gt;&lt;table class="MsoNormalTable" style="width: 100%;" border="0" cellpadding="0" cellspacing="0" width="100%"&gt;    &lt;tbody&gt;&lt;tr&gt;                   &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;/div&gt;  &lt;/div&gt;  &lt;/div&gt;  &lt;/div&gt; &lt;/div&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-8666410438533549957?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/8666410438533549957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=8666410438533549957' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/8666410438533549957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/8666410438533549957'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/03/fw-how-true-mens-rules.html' title='How True: Men&apos;s rules'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-117101637030423998</id><published>2007-02-09T15:19:00.000+05:00</published><updated>2007-03-07T09:36:22.423+05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>SQL Server 2005: View all permissions</title><content type='html'>&lt;div class="Section1"&gt;            &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;select&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt; dp&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;.&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  &gt;NAME&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt; &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  &gt;AS&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt; principal_name&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;,&lt;o:p&gt;&lt;/o:p&gt;  dp&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;.&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;type_desc &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  &gt;AS&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt; principal_type_desc&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;,&lt;o:p&gt;&lt;/o:p&gt;  o&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;.&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  &gt;NAME&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt; &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  &gt;AS&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt; &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:fuchsia;"   &gt;object_name&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;        &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;p&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;.&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;permission_name&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;,&lt;o:p&gt;&lt;/o:p&gt;   p&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;.&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;state_desc &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  &gt;AS&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt; permission_state_desc&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;  &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  &gt;from&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;    &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:green;"   &gt;sys.database_permissions&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt; p&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;        &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;   &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;left&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;    &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;OUTER&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt; &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;JOIN&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt; &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:green;"   &gt;sys.all_objects&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt; o&lt;o:p&gt; &lt;/o:p&gt;   &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  &gt;on&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;     p&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;.&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;major_id &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;=&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt; o&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;.&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:fuchsia;"   &gt;OBJECT_ID&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;   &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;inner&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;   &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;JOIN&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt; &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:green;"   &gt;sys.database_principals&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt; dp&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;  &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  &gt;on&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;     p&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;.&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;grantee_principal_id &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;=&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt; dp&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:gray;"   &gt;.&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;color:#000000;"   &gt;principal_id&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;(found somewhere on web)&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-117101637030423998?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/117101637030423998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=117101637030423998' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/117101637030423998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/117101637030423998'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/02/sql-server-2005-view-all-permissions.html' title='SQL Server 2005: View all permissions'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-117092038669628607</id><published>2007-02-08T12:39:00.000+05:00</published><updated>2007-03-07T09:27:00.466+05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>ParameterizedThreadStart</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;small&gt;ParameterizedThreadStart is to pass parameter to new starting Thread.&lt;br /&gt;&lt;br /&gt;you can pass only one parameter of type object. the function definition should have one in param of type object.&lt;br /&gt;&lt;/small&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-117092038669628607?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/117092038669628607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=117092038669628607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/117092038669628607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/117092038669628607'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/02/parameterizedthreadstart.html' title='ParameterizedThreadStart'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-117091697759616235</id><published>2007-02-08T11:42:00.000+05:00</published><updated>2007-03-06T21:17:20.237+05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Passing Parameter to Thread</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;small&gt;&lt;br /&gt;     In .NET 2.0, there is a new delegate, &lt;code&gt;ParameterizedThreadStart&lt;/code&gt;, which takes&lt;br /&gt;     a parameter of type &lt;code&gt;object&lt;/code&gt;. You can create a thread using an instance of&lt;br /&gt;     this delegate instead of just &lt;code&gt;ThreadStart&lt;/code&gt;, and a new overload to &lt;code&gt;Thread.Start&lt;/code&gt;&lt;br /&gt;     allows you to specify the value to be passed to the new thread. This is simple, but only accepts&lt;br /&gt;     a single parameter and isn't type-safe (just like the options when using thread pool threads).&lt;br /&gt;     The earlier code could then be rewritten as:&lt;/small&gt;&lt;br /&gt;   &lt;/p&gt;&lt;br /&gt;  &lt;br /&gt;&lt;pre&gt;[In some method or other]&lt;br /&gt;&lt;br /&gt;Thread t = &lt;span class="Keyword"&gt;new&lt;/span&gt; Thread (&lt;span class="Keyword"&gt;new&lt;/span&gt; ParameterizedThreadStart(FetchUrl));&lt;br /&gt;&lt;br /&gt;t.Start (myUrl);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[And the actual method...]&lt;br /&gt;&lt;br /&gt;&lt;span class="Modifier"&gt;static&lt;/span&gt; &lt;span class="ValueType"&gt;void&lt;/span&gt; FetchUrl(&lt;span class="ReferenceType"&gt;object&lt;/span&gt; url)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;   &lt;span class="InlineComment"&gt;// use url here, probably casting it to a known type before use&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.yoda.arachsys.com/csharp/threads/parameters.shtml&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;powered by &lt;a href="http://performancing.com/firefox"&gt;performancing firefox&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-117091697759616235?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/117091697759616235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=117091697759616235' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/117091697759616235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/117091697759616235'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/02/passing-parameter-to-thread.html' title='Passing Parameter to Thread'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-117091191133650440</id><published>2007-02-08T10:18:00.000+05:00</published><updated>2007-03-06T21:02:58.617+05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk'/><title type='text'>BizTalk Macros or FILE adapter</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;small&gt;%datetime%&lt;br /&gt;&lt;br /&gt;%datetime_bts2000%&lt;br /&gt;&lt;br /&gt;%datetime.tz%&lt;br /&gt;&lt;br /&gt;%DestinationParty%&lt;br /&gt;&lt;br /&gt;%DestinationPartyID%&lt;br /&gt;&lt;br /&gt;%DestinationPartyQualifier%&lt;br /&gt;&lt;br /&gt;%MessageID%&lt;br /&gt;&lt;br /&gt;%SourceFileName%&lt;br /&gt;&lt;br /&gt;%SourceParty%&lt;br /&gt;&lt;br /&gt;%SourcePartyID%&lt;br /&gt;&lt;br /&gt;%SourcePartyQualifier%&lt;br /&gt;&lt;br /&gt;%time%&lt;br /&gt;&lt;br /&gt;%time.tz%&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://geekswithblogs.net/benny/archive/2006/12/24/101980.aspx&lt;br /&gt;&lt;br /&gt;&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;powered by &lt;a href="http://performancing.com/firefox"&gt;performancing firefox&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-117091191133650440?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/117091191133650440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=117091191133650440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/117091191133650440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/117091191133650440'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/02/biztalk-macros-or-file-adapter.html' title='BizTalk Macros or FILE adapter'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-117039658715844953</id><published>2007-02-02T11:09:00.000+05:00</published><updated>2007-02-02T11:11:38.083+05:00</updated><title type='text'>update WSS 3.0 List through Email</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;&lt;br /&gt;&lt;small&gt;http://www.wssdemo.com/Pages/Email.aspx&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-117039658715844953?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/117039658715844953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=117039658715844953' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/117039658715844953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/117039658715844953'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/02/update-wss-30-list-through-email.html' title='update WSS 3.0 List through Email'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-117034786015449965</id><published>2007-02-01T21:37:00.000+05:00</published><updated>2007-02-01T21:45:31.770+05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Debugging Windows Service</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;span id="intelliTXT"&gt;&lt;pre lang="cs"&gt;&lt;span class="cs-preprocessor"&gt;#if (DEBUG)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; Service service = &lt;span class="cs-keyword"&gt;new&lt;/span&gt; Service();&lt;br /&gt;&lt;br /&gt;  service.Start(); //define a public method: public void Start(){OnStart(null);}&lt;span class="cs-comment"&gt;&lt;/span&gt;&lt;br /&gt;  System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);&lt;br /&gt;&lt;br /&gt;&lt;span class="cs-preprocessor"&gt;#endif &lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-117034786015449965?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/117034786015449965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=117034786015449965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/117034786015449965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/117034786015449965'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/02/debugging-windows-service.html' title='Debugging Windows Service'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-117034488642282102</id><published>2007-02-01T20:48:00.000+05:00</published><updated>2007-02-01T23:30:45.286+05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Deserialize to Object from XML Config File in .NET 2.0</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;small&gt;&lt;small&gt;static EventLogConfig GetEventLogConfig {&lt;br /&gt;&lt;br /&gt;get {&lt;br /&gt;&lt;br /&gt;XmlSerializer mySerializer = new XmlSerializer(typeof(EventLogConfig));&lt;br /&gt;&lt;br /&gt;XmlNodeReader reader = new XmlNodeReader(Settings.Default.EventLogConfig.DocumentElement);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;return (EventLogConfig) mySerializer.Deserialize(reader);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/small&gt;&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;powered by &lt;a href="http://performancing.com/firefox"&gt;performancing firefox&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-117034488642282102?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/117034488642282102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=117034488642282102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/117034488642282102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/117034488642282102'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/02/deserialize-to-object-from-xml-config.html' title='Deserialize to Object from XML Config File in .NET 2.0'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-117033115370780476</id><published>2007-02-01T16:59:00.000+05:00</published><updated>2007-02-02T11:14:35.900+05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Modify application settings in .NET 2.0</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;small&gt;(Settings1.Settings) you can't change application settings in code. You can only change user&lt;br /&gt;settings. To change the application settings, you need to write your&lt;br /&gt;own code to open the configuration file as any xml file and modify it&lt;br /&gt;&lt;br /&gt;&lt;small&gt;http://blogs.msdn.com/mohamed_sharafs_blog/archive/2006/12/12/using-application-user-settings-in-c-2-0.aspx&lt;/small&gt;&lt;br /&gt;&lt;/small&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-117033115370780476?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/117033115370780476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=117033115370780476' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/117033115370780476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/117033115370780476'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/02/modify-application-settings-in-net-20_01.html' title='Modify application settings in .NET 2.0'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-116963654341069118</id><published>2007-01-24T16:02:00.000+05:00</published><updated>2007-02-02T11:16:16.580+05:00</updated><title type='text'>Office 2007 installation failed!</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;em&gt;&lt;small&gt;&lt;small&gt;Setup is unable to proceed due to the following error(s): The 2007&lt;br /&gt;Microsoft Office system does not support upgrading from a prerelease&lt;br /&gt;version of the 2007 Microsoft Office system. You must first uninstall&lt;br /&gt;any prerelease versions of the 2007 Microsoft Office system products&lt;br /&gt;and associates technologies&lt;/small&gt;&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;small&gt;&lt;a href="http://www.hanselman.com/blog/Office2007WontUpgradeFromAPrereleaseVersionOfThe2007OfficeSystemOffice2007SetupSpelunking.aspx"&gt;http://www.hanselman.com/blog/Office2007WontUpgradeFromAPrereleaseVersionOfThe2007OfficeSystemOffice2007SetupSpelunking.aspx&lt;/a&gt;&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;powered by &lt;a href="http://performancing.com/firefox"&gt;performancing firefox&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-116963654341069118?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/116963654341069118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=116963654341069118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116963654341069118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116963654341069118'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/01/office-2007-installation-failed.html' title='Office 2007 installation failed!'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-116893489349108488</id><published>2007-01-16T13:08:00.000+05:00</published><updated>2007-02-02T11:19:15.816+05:00</updated><title type='text'>Configuring Team Foundation Server to Use a Remote SharePoint Server</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;small&gt;http://msdn2.microsoft.com/en-us/teamsystem/aa718901.aspx&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;powered by &lt;a href="http://performancing.com/firefox"&gt;performancing firefox&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-116893489349108488?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/116893489349108488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=116893489349108488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116893489349108488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116893489349108488'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/01/configuring-team-foundation-server-to.html' title='Configuring Team Foundation Server to Use a Remote SharePoint Server'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-116858521276795296</id><published>2007-01-12T12:00:00.000+05:00</published><updated>2007-02-02T11:20:50.026+05:00</updated><title type='text'>10 reasons why organizations are not able to retain employees</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;trackback:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gauteg.blogspot.com/2006/05/10-reasons-why-organizations-are-not.html"&gt;http://gauteg.blogspot.com/2006/05/10-reasons-why-organizations-are-not.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;powered by &lt;a href="http://performancing.com/firefox"&gt;performancing firefox&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-116858521276795296?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/116858521276795296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=116858521276795296' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116858521276795296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116858521276795296'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/01/10-reasons-why-organizations-are-not.html' title='10 reasons why organizations are not able to retain employees'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-116827380120951748</id><published>2007-01-08T21:30:00.000+05:00</published><updated>2007-02-02T11:27:17.606+05:00</updated><title type='text'>corporate lingo</title><content type='html'>&lt;div class="Section1"&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;Here is a little clarification of corporate lingo &lt;/span&gt;&lt;span style=";font-family:Wingdings;font-size:85%;"  &gt;J&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Competitive salary: &lt;/b&gt;&lt;br /&gt;We remain competitive by paying less than our competitors.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Join our fast-paced company:&lt;br /&gt;&lt;/b&gt;We have no time to train you.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Casual Work Atmosphere: &lt;/b&gt;&lt;br /&gt;We don't pay enough to expect that you'll dress up-well; a couple&lt;br /&gt;of the real daring guys wear earrings.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Must be deadline oriented:&lt;br /&gt;&lt;/b&gt;You'll be six months behind schedule on your first day.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Some overtimes required: &lt;/b&gt;&lt;br /&gt;Some time each night and some time each weekend.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Duties will vary:&lt;br /&gt;&lt;/b&gt;Anyone in the office can boss you around.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Must have an eye for detail:&lt;br /&gt;&lt;/b&gt;We have no quality control.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Career-minded:&lt;br /&gt;&lt;/b&gt;Female Applicants must be childless (and remain that way).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Apply in person:&lt;br /&gt;&lt;/b&gt;If you're old, fat or ugly you'll be told the position has been&lt;br /&gt;filled.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;No phone calls please:&lt;br /&gt;&lt;/b&gt;We've filled the job; our call for resumes is just a legal&lt;br /&gt;formality.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Seeking candidates with a wide variety of experience:&lt;br /&gt;&lt;/b&gt;You'll need it to replace three people who just left.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Problem-solving skills a must:&lt;br /&gt;&lt;/b&gt;You're walking into a company in perpetual chaos.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Requires team leadership skills:&lt;br /&gt;&lt;/b&gt;You'll have the responsibilities of a manager, without the pay or&lt;br /&gt;respect.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Good communication skills:&lt;br /&gt;&lt;/b&gt;Management communicates, you, figure out what they want and do.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I am extremely adept at all manner of office organization:&lt;br /&gt;&lt;/b&gt;I've used Microsoft Office.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I am honest, hardworking and dependable:&lt;br /&gt;&lt;/b&gt;I pilfer office supplies.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;My pertinent work experience includes:&lt;br /&gt;&lt;/b&gt;I hope you don't ask me about all the McJobs I've had.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I take pride in my work:&lt;br /&gt;&lt;/b&gt;I blame others for my mistakes.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I am personable:&lt;br /&gt;&lt;/b&gt;I give lots of unsolicited personal advice to co- workers.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I am extremely professional:&lt;br /&gt;&lt;/b&gt;I carry a Day-Timer.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I am adaptable:&lt;br /&gt;&lt;/b&gt;I've changed jobs a lot.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I am on the go:&lt;br /&gt;&lt;/b&gt;I'm never at my desk.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;We will look into it - &lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;By the time the wheel makes a full turn, we assume you will have forgotten about it too.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;It is in process - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;So wrapped up in red tape that the situation is almost hopeless.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A Program - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;Any assignment that can't be completed by one telephone call.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Expedite - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;To confound confusion with commotion?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Channels - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;Be trail left by the interoffice memo.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Coordinator - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;me guy who has a desk between two expeditors.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Consultant (or Expert) - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;Any ordinary guy more than 50 miles from home.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;To Activate &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;- To make carbons and add more names to the memo.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;To Implement a Program - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;Hire more people and expand the office.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Under Consideration - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;Never heard of it.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Under Active Consideration - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;We're looking in the files for it.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A Meeting - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;A mass mulling by master minds.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A Conference &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;- A place where conversation is substituted for the dreariness of labor and the loneliness of thought.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;To Negotiate - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;To seek a meeting of minds without knocking together of heads.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Re-orientation - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;Getting used to working again.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Reliable Source - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;The guy you just met.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Informed Source - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;The guy who told the guy you just met.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A Clarification - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;To fill in the background with so many details that the foreground goes underground.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;We Are Making A Survey - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;We need more time to think of an answer.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note and Initial - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;Let's spread the responsibility for this.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;See Me, or Let's Discuss - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;Come down to my office, I'm lonesome.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Let's Get Together on This - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;I'm assuming you're as confused as I am.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Give Us the Benefit of Your Present Thinking - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;We'll listen to what you have to say as long as it doesn't interfere with what we've already decided to do.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;To Give Someone the Picture - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;A long, confused and inaccurate statement to a newcomer.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Will Advise You in Due Course - &lt;/b&gt;&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;If we figure it out, we'll let you know.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-116827380120951748?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/116827380120951748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=116827380120951748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116827380120951748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116827380120951748'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/01/corporate-lingo.html' title='corporate lingo'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-116816392346161389</id><published>2007-01-07T14:58:00.000+05:00</published><updated>2007-01-08T21:20:37.776+05:00</updated><title type='text'>upgrade TFS to WSS 3.0</title><content type='html'>&lt;p class="mobile-post"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="font-family: verdana;" class="mobile-post"&gt;&lt;span style="font-size:85%;"&gt;http://bloggingabout.net/blogs/mglaser/archive/2006/12/08/Upgrade-TFS-V1&lt;br /&gt;-to-WSS-3.0-Guide.aspx&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-116816392346161389?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/116816392346161389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=116816392346161389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116816392346161389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116816392346161389'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2007/01/upgrade-tfs-to-wss-30.html' title='upgrade TFS to WSS 3.0'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-116539137400700541</id><published>2006-12-06T12:23:00.000+05:00</published><updated>2006-12-06T12:49:34.223+05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk'/><title type='text'>BizTalk Server 2004 Databases List</title><content type='html'>&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;BizTalk 2004 can install with up to 13 different databases.&lt;span style=""&gt;  &lt;/span&gt;The databases installed depends on how you configure your installation.&lt;span style=""&gt;  &lt;/span&gt;The potential database list is:&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;BAMPrimaryImport – used for Business Activity Monitoring&lt;/span&gt;&lt;/div&gt; &lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;BAMStarSchema – used for Business Activity Monitoring&lt;/span&gt;&lt;/div&gt; &lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;BAMAnalysis – Business Activity Monitoring OLAP Cubes&lt;/span&gt;&lt;/div&gt; &lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;BAMArchive – Archives Business Activity Monitoring&lt;/span&gt;&lt;/div&gt; &lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;BizTalkHWSDb – Human Workflow Services Database&lt;/span&gt;&lt;/div&gt; &lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;BizTalkDTADb – Tracking Database&lt;/span&gt;&lt;/div&gt; &lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;BizTalkMgmtDB – Stores all Configuration Information&lt;/span&gt;&lt;/div&gt; &lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;BizTalkMsgBoxDb – Stores all Messages and subscriptions – You can have multiple MessageBox Databases&lt;/span&gt;&lt;/div&gt; &lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;BizTalkRuleEngineDb – Stores Policies and Vocabularies&lt;/span&gt;&lt;/div&gt; &lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;SSODB – Single Sign-On Database&lt;/span&gt;&lt;/div&gt; &lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;TPM – Trading Partner Database for Business Activity Services&lt;/span&gt;&lt;/div&gt; &lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;BizTalkAnalysisdb – Stores business and health monitoring OLAP Cubes&lt;/span&gt;&lt;/div&gt; &lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;BizTalkEDIdb – Stores state for EDI &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;a href="http://dallas.sark.com/SarkBlog/mholdorf/archive/2004/06/14/261.aspx"&gt;http://dallas.sark.com/SarkBlog/mholdorf/archive/2004/06/14/261.aspx&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-116539137400700541?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/116539137400700541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=116539137400700541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116539137400700541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116539137400700541'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/12/biztalk-server-2004-databases-list.html' title='BizTalk Server 2004 Databases List'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-116496945790248811</id><published>2006-12-01T15:37:00.000+05:00</published><updated>2006-12-06T12:22:34.936+05:00</updated><title type='text'>smile:Instructions on consumer goods</title><content type='html'>&lt;div class="Section1"&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;b&gt;&lt;span style=";color:black;" &gt;On Sears hairdryer:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-family:&amp;quot;;font-size:85%;color:black;"   &gt;&lt;br /&gt;Do not use while sleeping.&lt;br /&gt;(Gee, that's the only time I have to work on my hair!)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On a bag of Fritos:&lt;/b&gt;&lt;br /&gt;You could be a winner! No purchase necessary. Details inside.&lt;br /&gt;(The shoplifter special!)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On a bar of Dial soap:&lt;/b&gt;&lt;br /&gt;Directions: Use like regular soap.&lt;br /&gt;(and that would be how?)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On some Swann frozen dinners:&lt;/b&gt;&lt;br /&gt;Serving suggestion: Defrost.&lt;br /&gt;(But it's 'just' a suggestion!)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On Tesco's Tiramisu dessert: &lt;/b&gt;(printed on bottom of the box)&lt;br /&gt;Do not turn upside down.&lt;br /&gt;(Too late! you lose!)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On Marks &amp; Spencer Bread Pudding:&lt;/b&gt;&lt;br /&gt;Product will be hot after heating.&lt;br /&gt;(Are you sure? Let's experiment.)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On packaging for a Rowenta iron:&lt;/b&gt;&lt;br /&gt;Do not iron clothes on body.&lt;br /&gt;(But wouldn't that save more time?)&lt;br /&gt;(Whose body?)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On Boot's Children's cough medicine:&lt;/b&gt;&lt;br /&gt;Do not drive car or operate machinery.&lt;br /&gt;(We could do a lot to reduce the construction accidents if we just kept those 5 year olds off those fork lifts.)&lt;br /&gt;&lt;b&gt;&lt;br /&gt;On Nytol sleep aid:&lt;/b&gt;&lt;br /&gt;Warning: may cause drowsiness.&lt;br /&gt;(One would hope!)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On a Korean kitchen knife:&lt;/b&gt;&lt;br /&gt;Warning: keep out of children.&lt;br /&gt;(hmm...something must have gotten lost in the translation...)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On a string of Christmas lights:&lt;/b&gt;&lt;br /&gt;For indoor or outdoor use only.&lt;br /&gt;(As opposed to use in outer space.)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On a food processor:&lt;/b&gt;&lt;br /&gt;Not to be used for the other use.&lt;br /&gt;(Now I'm curious.)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On Sainsbury's peanuts:&lt;/b&gt;&lt;br /&gt;Warning: contains nuts.&lt;br /&gt;(but no peas?)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On an American Airlines packet of nuts:&lt;/b&gt;&lt;br /&gt;Instructions: open packet, eat nuts.&lt;br /&gt;(somebody got paid big bucks to write this one...)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On a Swedish chainsaw:&lt;/b&gt;&lt;br /&gt;Do not attempt to stop chain with your hands.&lt;br /&gt;(Raise your hand if you've tried this...)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On a child's Superman costume:&lt;/b&gt;&lt;br /&gt;Wearing of this garment does not enable you to fly.&lt;br /&gt;(Oh go ahead! That's right, destroy a universal childhood belief.)&lt;br /&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-116496945790248811?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/116496945790248811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=116496945790248811' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116496945790248811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116496945790248811'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/12/smileinstructions-on-consumer-goods.html' title='smile:Instructions on consumer goods'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-116481390784645472</id><published>2006-11-29T20:25:00.000+05:00</published><updated>2006-12-01T20:35:40.843+05:00</updated><title type='text'>Programming Quotes</title><content type='html'>&lt;div class=Section1&gt;  &lt;p class=MsoNormal&gt;It's hard enough to find an error in your code when you're looking for it; it's even harder when you've assumed your code is error-free. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Steve McConnell &lt;b&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilisation. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Gerald Weinberg&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Programming can be fun, so can cryptography; however they should not be combined.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Kreitzberg and Shneiderman&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Testing by itself does not improve software quality. Test results are an indicator of quality, but in and of themselves, they don't improve it. Trying to improve software quality by increasing the amount of testing is like trying to lose weight by weighing yourself more often. What you eat before you step onto the scale determines how much you will weigh, and the software development techniques you use determine how many errors testing will find. If you want to lose weight, don't buy a new scale; change your diet. If you want to improve your software, don't test more; develop better. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Steve McConnell &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Once a new technology starts rolling, if you're not part of the steamroller, you're part of the road. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Stewart Brand&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;The truth does not change according to our ability to stomach it. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Flannery O'Connor&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;You're bound to be unhappy if you optimize everything. &lt;span style='color:windowtext'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Donald Knuth&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;An organisation that treats its programmers as morons will soon have programmers that are willing and able to act like morons only. &lt;span style='color:windowtext'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Bjarne Stroustrup&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Measuring programming progress by lines of code is like measuring aircraft building progress by weight. &lt;span style='color:windowtext'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Bill Gates&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Tom Cargill&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;The most important single aspect of software development is to be clear about what you are trying to build. &lt;span style='color:windowtext'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Bjarne Stroustrup&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;If the code and the comments disagree, then both are probably wrong. &lt;span style='color:windowtext'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;attributed to Norm Schryer&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Simplicity is prerequisite for reliability &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Edsger W.Dijkstra&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Copy and paste is a design error &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;span lang=SV&gt;David Parnas&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;span lang=SV style='font-size:12.0pt;font-family:"Times New Roman","serif"'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;span lang=SV&gt;Ref: &lt;a href="http://www.eskimo.com/~hottub/software/programming_quotes.html" title="http://www.eskimo.com/~hottub/software/programming_quotes.html"&gt;http://www.eskimo.com/~hottub/software/programming_quotes.html&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-116481390784645472?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/116481390784645472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=116481390784645472' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116481390784645472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116481390784645472'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/11/programming-quotes.html' title='Programming Quotes'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-116316466372558552</id><published>2006-11-10T18:17:00.000+05:00</published><updated>2006-11-16T12:14:14.100+05:00</updated><title type='text'>Line Rider</title><content type='html'>&lt;div class=Section1&gt;  &lt;p class=MsoNormal&gt;&lt;font size=1 color=blue face=Verdana&gt;&lt;span style='font-size: 8.0pt;font-family:Verdana;color:blue'&gt;http://www.deviantart.com/deviation/40255643/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-116316466372558552?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/116316466372558552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=116316466372558552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116316466372558552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116316466372558552'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/11/line-rider.html' title='Line Rider'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-116279504526516110</id><published>2006-11-06T11:37:00.000+05:00</published><updated>2006-11-06T12:07:24.756+05:00</updated><title type='text'>History</title><content type='html'>&lt;div class=Section1&gt;  &lt;p class=MsoNormal&gt;&lt;font size=1 color=blue face=Verdana&gt;&lt;span style='font-size: 8.0pt;font-family:Verdana;color:blue'&gt;&lt;a href="http://www.mapsofwar.com/ind/imperial-history.html"&gt;http://www.mapsofwar.com/ind/imperial-history.html&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;font size=1 color=blue face=Verdana&gt;&lt;span style='font-size: 8.0pt;font-family:Verdana;color:blue'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-116279504526516110?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/116279504526516110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=116279504526516110' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116279504526516110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/116279504526516110'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/11/history.html' title='History'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-115709283976388920</id><published>2006-09-01T11:28:00.000+05:00</published><updated>2006-09-01T11:40:40.590+05:00</updated><title type='text'>NFT Summer Trip 2006 (Nanga Parbat, Hunza, Rakaposhi)</title><content type='html'>&lt;div style="text-align:center; width:194px; font-family:arial,sans-serif;font-size:83%;"&gt;&lt;div style="height:194px;background:url(http://picasaweb.google.com/f/img/transparent_album_background.gif) no-repeat left;"&gt;&lt;a href="http://picasaweb.google.com/usman.shaheen/NFTSummerTrip"&gt;&lt;img src="http://lh3.google.com/usman.shaheen/ROqMdQmQABE/AAAAAAAAARk/kGqowtsIgiI/NFTSummerTrip.jpg?crop=1&amp;amp;imgmax=160" width="160" height="160" style="border:none;padding:0px;margin-top:16px;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://picasaweb.google.com/usman.shaheen/NFTSummerTrip"&gt;&lt;div style="color:#4D4D4D;font-weight:bold;text-decoration:none;"&gt;NFT Summer Trip 06&lt;/div&gt;&lt;/a&gt;&lt;div style="color:#808080"&gt;Aug 3, 2006 - 135 Photos&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-115709283976388920?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/115709283976388920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=115709283976388920' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/115709283976388920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/115709283976388920'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/09/nft-summer-trip-2006-nanga-parbat.html' title='NFT Summer Trip 2006 (Nanga Parbat, Hunza, Rakaposhi)'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-115322967296935332</id><published>2006-07-18T18:34:00.000+05:00</published><updated>2006-07-18T18:52:35.333+05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk'/><title type='text'>BizTalk Concepts 2</title><content type='html'>&lt;span style="font-family:Verdana;font-size:85%;"&gt;Promoted properties and distinguished fields enable various BizTalk components to access key items of data contained in a message. Property promotion provides a way to access key pieces of information from within a message instance and to make that data more easily accessible to other components of BizTalk Server, such as orchestrations, Health and Activity Monitoring (HAT), and port filters. A promoted property is promoted to make it accessible outside the message (on the envelope) , whereas a distinguished property is simply an alias to easily refer to a schema node from within an orchestration. Messaging processes use promoted properties, while the orchestration engine uses distinguished fields&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A promoted node can be used in Message Correlation, Message Tracking and in creating Message Subscriptions.&lt;/span&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Correlation &lt;/span&gt;&lt;/em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;is the process of matching an incoming message to the appropriate instance of an orchestration. This is commonly used with long-running transactions in which the orchestration instance may be waiting for additional information to be received before it can continue with the business process.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;A Gentle Introduction to Microsoft BizTalk Server 2004 Correlation&lt;/span&gt;&lt;br/&gt;&lt;a href="http://www.microsoft.com/belux/msdn/nl/community/columns/himschoot/correlation.mspx"&gt;http://www.microsoft.com/belux/msdn/nl/community/columns/himschoot/correlation.mspx&lt;/a&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;BRE- &lt;/span&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Policies &lt;/span&gt;&lt;/em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;are logical groupings of rules.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Both BizTalk global properties and promoted properties from a BizTalk schema can be used for content-based routing.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;To enable efficient interaction with a business partner, you use &lt;/span&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;role links &lt;/span&gt;&lt;/em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;to group a set of ports through which you will communicate with the partner&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Scope Shape with Transaction option set to none. If you want to implement error handling but do not want to use transactions, use a scope shape. You can still add exception handling to your orchestration without using a transaction.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Reference: Clinic 2954: First Look: Microsoft® BizTalk® Server 2006 for Developers&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-115322967296935332?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/115322967296935332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=115322967296935332' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/115322967296935332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/115322967296935332'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/07/biztalk-concepts-2.html' title='BizTalk Concepts 2'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-115261073906241112</id><published>2006-07-11T14:34:00.000+05:00</published><updated>2006-07-18T18:51:55.333+05:00</updated><title type='text'>ASP.NET - A DropDownList cannot have multiple items selected</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;if you set in HTML, Selected="True" for DropDownlist and later try to set it programmatically, ‘ll get the error&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="color:maroon; font-size:14"&gt;&lt;em&gt;A DropDownList cannot have multiple items selected.&lt;/em&gt;&lt;br /&gt;    &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black; font-size:8"&gt;&lt;strong&gt;Description: &lt;/strong&gt;An unhandled exception occurred during the execution of the current web reque&lt;span style="font-family:Arial"&gt;st. Please review the stack trace for more information about the error and where it originated in the code. &lt;/span&gt;&lt;strong&gt;Exception Details: &lt;/strong&gt;System.Web.HttpException: A DropDownList cannot have multiple items selected.&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-115261073906241112?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/115261073906241112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=115261073906241112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/115261073906241112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/115261073906241112'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/07/aspnet-dropdownlist-cannot-have.html' title='ASP.NET - A DropDownList cannot have multiple items selected'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-115260797668507820</id><published>2006-07-11T13:51:00.000+05:00</published><updated>2006-07-11T14:02:21.350+05:00</updated><title type='text'>ASP.NET – controlling PostBack through JavaScript</title><content type='html'>&lt;w:sdt contentlocked="t" sdtgroup="t" docpart="PlaceholderAutotext_3" id="89512093"&gt;&lt;b style=""&gt;&lt;span style=""&gt;&lt;w:sdt xpath="/ns0:BlogPostInfo/ns0:PostTitle" docpart="PlaceholderAutotext_4" text="t" storeitemid="X_9C529C6F-F4AD-4EEB-B118-A2BA02F746DE" title="Post Title" id="89512082"&gt;&lt;/w:sdt&gt;&lt;/span&gt;&lt;/b&gt;&lt;/w:sdt&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;o:p&gt;&lt;/o:p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;this.TextBox1.Attributes.Add("onchange", "if (doSomeThing()) ");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Note the &lt;b&gt;if &lt;/b&gt; &amp;amp; extra parenthesis around the client function.&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;When a webcontrol with AutoPostBack=True is rendered, the ASP.NET insert a javascript function as __doPostBack(,) in the page and bind this function to client events corresponds to the server side bound events.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;e.g. the HTML on the client side looks like:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:9;"&gt;&amp;lt;input name="TextBox2" type="text"&amp;gt;onchange="__doPostBack('TextBox2','')" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;By adding the if (doSomeThing()) , it becomes&lt;span style="font-size:8;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:9;"&gt;&amp;lt;input name="TextBox2" type="text"&amp;gt;onchange="if (doSomeThing()) __doPostBack('TextBox2','')" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The doSomeThing() function must evaluate to bool.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-115260797668507820?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/115260797668507820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=115260797668507820' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/115260797668507820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/115260797668507820'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/07/aspnet-controlling-postbac_115260797668507820.html' title='ASP.NET – controlling PostBack through JavaScript'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-115253072987296850</id><published>2006-07-10T16:21:00.000+05:00</published><updated>2006-07-10T16:25:29.886+05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk'/><title type='text'>BizTalk Concepts 1</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;Profiles, agreements, and addendums are all stored in the TPM database. Using the TPM component (and for addendums, the Business Process Configuration component, described next), all of them can be configured directly by an information worker. This allows business people to establish and modify new partner relationships without relying on developers.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;graphically-defined processes called&lt;em&gt; orchestrations&lt;/em&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;&lt;em&gt;Business Rules Engine&lt;/em&gt; that allows evaluating complex sets of rules&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Health and Activity Tracking&lt;/em&gt; tool that lets developers and administrators monitor and manage the engine and the orchestrations it runs.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Enterprise Single Sign-on&lt;/em&gt; facility, providing the ability to map authentication information between Windows and non-Windows systems&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;span style="font-family:Arial; font-size:10"&gt;&lt;li&gt;&lt;div align="justified"&gt;&lt;em&gt;Business Activity Monitoring&lt;/em&gt;, allowing information workers to monitor a running business process. The information is displayed in business rather than technical terms, and what gets displayed can be controlled directly by business people.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justified"&gt;&lt;em&gt;Business Activity Services&lt;/em&gt;, allowing information workers to set up and manage interactions with trading partners.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/span&gt;&lt;/ul&gt;&lt;p&gt;two scenarios are most important for application integration. One is connecting applications within a single organization, commonly referred to as &lt;em&gt;enterprise application integration (EAI)&lt;/em&gt;. The other, called &lt;em&gt;business-to-business (B2B) integration&lt;/em&gt;, connects applications in different organizations.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Integrating existing applications, whether in a single company or across different organizations, into a single automated business process is a fundamental goal of BizTalk Server 2006&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Orchestrations can optionally use the Business Rules Engine, which provides a simpler and more easily modified way to express complex sets of rules in a business process.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A BizTalk application wraps all of the pieces required for a solution into a single logical unit, making it the fundamental abstraction for management and deployment.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;An adapter is an implementation of a communication mechanism, such as a particular protocol.&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justified"&gt;&lt;span style="font-family:Arial; font-size:10"&gt;Decode: BizTalk Server 2006 provides one standard component for this stage, the &lt;em&gt;MIME/SMIME Decoder&lt;/em&gt;. This component can handle messages and any attachments they contain in either MIME or Secure MIME (S/MIME) format. The component converts both kinds of messages into XML, and it can also decrypt S/MIME messages and verify their digital signatures.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;When a message is processed by a receive pipeline, a &lt;em&gt;message context&lt;/em&gt; is created that contains various &lt;em&gt;properties&lt;/em&gt; of the message&lt;br /&gt;&lt;/p&gt;&lt;p&gt;it’s also possible to subscribe to specific error conditions&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. To define the logic of a business process, the BizTalk Server 2006 engine provides orchestrations. To create and evaluate groups of business rules, it provides the Business Rules Engine.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;creating an orchestration relies on three primary tools: the &lt;em&gt;BizTalk Editor&lt;/em&gt; for creating XML schemas, the &lt;em&gt;BizTalk Mapper&lt;/em&gt; for defining translations between those schemas, and the &lt;em&gt;Orchestration Designer&lt;/em&gt; for specifying the logic of business processes.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;BizTalk Mapper can be used to define a transformation, called a &lt;em&gt;map&lt;/em&gt;, from one document to the other&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. A functoid is a chunk of executable code that can define arbitrarily complex mappings between XML schemas&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The Scope shape, which allows grouping operations into transactions and defining exception handlers for error handling. Both traditional atomic transactions and long-running transactions are supported. Unlike atomic transactions, long-running transactions rely on compensating logic rather than rollback to handle unexpected events.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Once a developer has defined an orchestration, the group of shapes and relations between them is converted into the Microsoft Intermediate Language (MSIL) used by the .NET Framework’s Common Language Runtime (CLR). Ultimately, the group of shapes defined by a BizTalk Server 2006 developer becomes just a standard .NET assembly.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;the Business Process Execution Language (BPEL&lt;br /&gt;&lt;/p&gt;&lt;p&gt;for more business-oriented users to create and modify sets of business rules using a tool called the &lt;em&gt;Business Rule Composer&lt;/em&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;The creator of a set of business rules will typically begin by using the Business Rule Composer to define a &lt;em&gt;vocabulary&lt;/em&gt; for use in specifying those rules. Each term in the vocabulary provides a user-friendly name for some information&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. The BRE can also be invoked programmatically via a .NET-based object model, which allows it to be called from applications that don’t use the BizTalk Server 2006 engine&lt;br /&gt;&lt;/p&gt;&lt;p&gt;to scale up as needed for high-volume processes&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Monitor BizTalk applications. Using the BizTalk Administration console’s Group Hub page&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Enterprise Single Sign-On stores an encrypted mapping between a user’s Windows user ID and his credentials for one or more affiliate applications in a &lt;em&gt;credential&lt;/em&gt; database&lt;br /&gt;&lt;/p&gt;&lt;p&gt;This operation, called &lt;em&gt;redemption&lt;/em&gt;, causes SSO server B to verify the SSO ticket, and then look up this user’s credentials for that application&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Via a &lt;em&gt;BAM portal&lt;/em&gt;, a new component in BizTalk Server 2006 that allows examining and configuring BAM information&lt;br /&gt;&lt;/p&gt;&lt;p&gt;, the BAM portal can also be hosted as a Web part inside Windows SharePoint Services&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justified"&gt;&lt;span style="font-family:Arial; font-size:10"&gt;Using the BAM portal’s alert manager, an information worker can define alerts that should be sent when an interesting event occurs. For example, a BAM user might choose to send an email to a particular manager whenever the number of cancelled orders in a day exceeds ten, or perhaps inform a certain sales associate any time an order arrives from her largest customer. &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;each BAM view relies on one or more &lt;em&gt;BAM activities&lt;/em&gt;. A BAM activity represents a specific business process, such as handling purchase orders or shipping a product, and each one has a defined set of &lt;em&gt;milestones&lt;/em&gt; and &lt;em&gt;business data&lt;/em&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. This add-in’s &lt;em&gt;BAM Activity &lt;/em&gt;wizard allows defining activities, while its &lt;em&gt;BAM View &lt;/em&gt;wizard allows defining views based on those activities&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Using a tool called the &lt;em&gt;Tracking Profile Editor (TPE)&lt;/em&gt;, a developer must configure an orchestration so that it provides the information required for a particular BAM activity, and thus for the BAM views that depend on this activity.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The BizTalk Server 2006 engine then sends these events and message field values to the &lt;em&gt;Tracking &lt;/em&gt;database&lt;br /&gt;&lt;/p&gt;&lt;p&gt;where they can be accessed by the BAM component&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Any application built using the .NET Framework or WinFX, a set of new development technologies that will appear with Windows Vista, can potentially be monitored using the BAM component of BizTalk Server 2006.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Trading Partner Management (TPM)&lt;/em&gt; component. This component relies on a &lt;em&gt;TPM&lt;/em&gt; database, as shown above, that stores information about trading relationships. Using the common Business Activity Services interface, information workers can create and modify &lt;em&gt;agreements&lt;/em&gt; with trading partners who use BizTalk Server 2006. Each agreement describes the relationship between two parties, &lt;br /&gt;&lt;/p&gt;&lt;p&gt;A &lt;em&gt;messaging&lt;/em&gt; component that provides the ability to communicate with a range of other software.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Reference: &lt;br /&gt;&lt;/p&gt;&lt;p&gt;Understanding BizTalk Server 2006, Microsoft Corp &lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-115253072987296850?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/115253072987296850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=115253072987296850' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/115253072987296850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/115253072987296850'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/07/biztalk-concepts-1.html' title='BizTalk Concepts 1'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-115167083282041081</id><published>2006-06-30T17:22:00.000+05:00</published><updated>2006-06-30T17:33:52.836+05:00</updated><title type='text'>Auto Save Web Form Data</title><content type='html'>see my article about saving webform data in ASP.NET on code project&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/useritems/AutoSaveFormData.asp"&gt;http://www.codeproject.com/useritems/AutoSaveFormData.asp&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-115167083282041081?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.codeproject.com/useritems/AutoSaveFormData.asp' title='Auto Save Web Form Data'/><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/115167083282041081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=115167083282041081' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/115167083282041081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/115167083282041081'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/06/auto-save-web-form-data.html' title='Auto Save Web Form Data'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-114664151981335057</id><published>2006-05-03T12:31:00.000+05:00</published><updated>2006-05-03T12:31:59.843+05:00</updated><title type='text'>A quote</title><content type='html'>&lt;span style="font-family:Arial;font-size:85%;"&gt;When I was a kid I used to pray every night for a new bike. Then I realized that The Lord doesn't work that way, so I stole one and asked him to forgive me."  &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Erno Philips&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-114664151981335057?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/114664151981335057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=114664151981335057' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/114664151981335057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/114664151981335057'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/05/quote.html' title='A quote'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-114491904315625494</id><published>2006-04-13T14:04:00.000+05:00</published><updated>2006-04-13T14:05:31.840+05:00</updated><title type='text'>ASP.NET Debug true</title><content type='html'>&lt;span style="font-family:Verdana;font-size:85%;"&gt;“When debug is set to true, asp.net requests will not time out. This is to allow you to debug with visual studio at your own pace without having to worry about the requests suddenly disappearing. Of course in a production environment timeouts are crucial to avoid for requests to be stuck indefinitely, so this is reason #1 to make sure debug is set to false when the application is deployed into production.”&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;From &lt;/span&gt;&lt;/em&gt;&lt;a href="http://blogs.msdn.com/tess"&gt;http://blogs.msdn.com/tess&lt;/a&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-114491904315625494?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/114491904315625494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=114491904315625494' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/114491904315625494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/114491904315625494'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/04/aspnet-debug.html' title='ASP.NET Debug true'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-113982762756487739</id><published>2006-02-13T15:47:00.000+05:00</published><updated>2006-02-13T15:47:07.590+05:00</updated><title type='text'>Writing Code...</title><content type='html'>&lt;span style="font-family:Verdana;font-size:85%;"&gt;“Writing specifications is like writing a novel. Writing code is like writing poetry"&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-113982762756487739?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/113982762756487739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=113982762756487739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113982762756487739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113982762756487739'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/02/writing-code.html' title='Writing Code...'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-113810307837551551</id><published>2006-01-24T16:44:00.000+05:00</published><updated>2006-01-24T16:44:38.383+05:00</updated><title type='text'>Delegates and Events in C# (1.1)</title><content type='html'>&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Delegates and Events in C# (1.1)&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;An excellent article &lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;a href="http://www.akadia.com/services/dotnet_delegates_and_events.html"&gt;http://www.akadia.com/services/dotnet_delegates_and_events.html&lt;/a&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-113810307837551551?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/113810307837551551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=113810307837551551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113810307837551551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113810307837551551'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/01/delegates-and-events-in-c-11.html' title='Delegates and Events in C# (1.1)'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-113810136605820130</id><published>2006-01-24T16:16:00.000+05:00</published><updated>2006-01-24T16:16:06.113+05:00</updated><title type='text'>Debugging ASP.NET Applications with VS 2003</title><content type='html'>&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;Debugging ASP.NET Applications with VS 2003&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;after hours of troubleshooting, I found this&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;If you created the Web project with a full machine name (like &lt;/span&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;machinename.domainname.something&lt;/span&gt;&lt;/em&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;), the Web site is recognized as Internet site. So, the default setting of Internet Explorer will impact on the behavior of logging on. In this case, you need to enable logging on with your current user account in "Internet" area with the IE setting.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vsdebug.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vsdebug.asp&lt;/a&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-113810136605820130?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/113810136605820130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=113810136605820130' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113810136605820130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113810136605820130'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/01/debugging-aspnet-applications-with-vs.html' title='Debugging ASP.NET Applications with VS 2003'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-113766802639772396</id><published>2006-01-19T15:53:00.000+05:00</published><updated>2006-01-19T15:53:46.503+05:00</updated><title type='text'>Getting Caller method info</title><content type='html'>&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Getting Caller method name from method&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;StackTrace st = new StackTrace();&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;string str = st.GetFrame(1).GetMethod().Name;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-113766802639772396?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/113766802639772396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=113766802639772396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113766802639772396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113766802639772396'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/01/getting-caller-method-info.html' title='Getting Caller method info'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-113742240957781660</id><published>2006-01-16T19:40:00.000+05:00</published><updated>2006-01-16T19:40:09.613+05:00</updated><title type='text'>Regular Expression</title><content type='html'>&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Regular Expression to select HTML elements from the text&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&amp;lt;select.*?&amp;lt;/select&amp;gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;.*? is for lazy (non-greedy) capture of the pattern.&lt;/span&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-113742240957781660?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/113742240957781660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=113742240957781660' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113742240957781660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113742240957781660'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/01/regular-expression.html' title='Regular Expression'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-113655291994183531</id><published>2006-01-06T18:08:00.000+05:00</published><updated>2006-01-06T18:08:39.973+05:00</updated><title type='text'>SPS 2003 installation Issue</title><content type='html'>&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;SPS 2003 installation: Installation ended prematurely because of an error&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;When re-installing SPS 2003 on a Windows 2003 Server, I got the error "Installation ended prematurely because of an error".&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;To resolve this issue, I’ve to remove the Windows SharePoint Services 2.0 and then run the setup of SharePoint portal server 2003 again.&amp;nbsp;&amp;nbsp;This will make the installation of SharePoint Portal Server 2003&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-113655291994183531?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/113655291994183531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=113655291994183531' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113655291994183531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113655291994183531'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/01/sps-2003-installation-issue.html' title='SPS 2003 installation Issue'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-113646756536387709</id><published>2006-01-05T18:26:00.000+05:00</published><updated>2006-01-05T18:53:50.560+05:00</updated><title type='text'>Notes on C# 2.0 (Nullable Types)</title><content type='html'>&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;C# 2.0 ( Nullable Types)&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Nullable types are constructed using the ? type modifier. This token is placed immediately after the value type being defined as nullable. The type specified before the ? modifier in a nullable type is called the &lt;/span&gt;&lt;em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;underlying type &lt;/span&gt;&lt;/em&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;of the nullable type. Any value type can be an underlying type.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;int? i;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;Point? nullPoint = null;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;i = null;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;nullPoint = new Point?(point);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt; public struct Real&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int internalVal;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public Real(int realNumber)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;internalVal = realNumber ;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt; }&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;Real? real = new Real?(new Real(3));&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The null coalescing operator takes as arguments a nullable type to the left and the given nullable type’s underlying type on the right. If the instance is &lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;null&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;, the value on the right is returned otherwise the nullable instance value is returned.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;int? i;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;i = 10;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;int j = 20;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;string str = Convert.ToString(i ?? j);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;MessageBox.Show(str);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The statement (&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;i ?? j) &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;returns i if i is not null, otherwise it returns j.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;The new ?? binary operator allows you to conditionally test for null and use an alternative value instead. For example, consider the following assignment.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;int &lt;/span&gt;&lt;span style="font-family:Lucida Console;font-size:78%;"&gt;myvalue &lt;/span&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;= &lt;/span&gt;&lt;span style="font-family:Lucida Console;font-size:78%;"&gt;(x !&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;= null &lt;/span&gt;&lt;span style="font-family:Lucida Console;font-size:78%;"&gt;? x : 0);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;With the ?? operator, this can be rewritten as:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;int &lt;/span&gt;&lt;span style="font-family:Lucida Console;font-size:78%;"&gt;myvalue &lt;/span&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;= &lt;/span&gt;&lt;span style="font-family:Lucida Console;font-size:78%;"&gt;x ?? 0;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;This indicates to assign the value of x to the &lt;/span&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;myvalue &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;variable or 0 in the case that x is &lt;/span&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;null&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:78%;"&gt;.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-113646756536387709?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/113646756536387709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=113646756536387709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113646756536387709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113646756536387709'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2006/01/notes-on-c-20-types.html' title='Notes on C# 2.0 (Nullable Types)'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-113570159027506095</id><published>2005-12-27T21:36:00.000+05:00</published><updated>2005-12-27T21:39:50.286+05:00</updated><title type='text'>Freedom</title><content type='html'>Freedom comes in small packages........&lt;br /&gt;usually TCP/IP.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-113570159027506095?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/113570159027506095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=113570159027506095' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113570159027506095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113570159027506095'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2005/12/freedom.html' title='Freedom'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-113505948640214432</id><published>2005-12-20T11:18:00.000+05:00</published><updated>2005-12-20T11:18:06.423+05:00</updated><title type='text'>quotes from Debugging the Development Process</title><content type='html'>&lt;span style="font-family:Verdana;font-size:85%;"&gt;quotes from ‘Debugging the Development Process’ , Steve Maguiret)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Don’t waste the developers’ time on work that does not improve the product. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Always determine what you’re trying to accomplish, and then find the most efficient and pleasurable way to do it. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Establish detailed project goals to prevent wasting time on inappropriate tasks. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Don’t Fix Bugs Later, Fix them now. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Regularly Stop what you’re doing and look ahead, make little adjustments now to avoid big obstacles later on. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Each day, ask, “What can I do today to help keep the project on track for the next few months?” &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Don’t waste time working on the wrong problem. Always determine what the real problem is before you try to make a fix. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;People often ask for something other than what they really need. Always determine what they are trying to accomplish before dealing with any request. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Never commit the dates you know you can’t meet. You’ll hurt everybody involved. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Beware of recurrent meetings. Make sure they’re worth the disruption they cause. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Before calling any meeting, be sure you know exactly what you want to achieve and what you need to achieve it. Then make sure you do achieve it. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Make sure each team member learns one new significant skill at least every two months. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Watch out for and correct the “It’s too much work” reaction. Train programmers to first consider whether task makes sense and whether it matches up with the project goals and priorities. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Don’t ship substandard feature. Postpone them until you can implement them properly. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Give some priority to writing easily shared code. Programmers can’t share each other’s code unless they’re writing it so that it can be shared. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;If your project is slipping, something is wrong. Don’t ignore the cause and demand long hours of the team members. Find and fix the problems. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Beware of the misguided belief that long hours result in greater productivity. If anything, long hours only hurt productivity. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Stress the importance of thinking hard, not working hard. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Train the development team to work efficiently during a normal workday. Don’t allow them to work long hours, which servers only to mask time-wasting activity. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-113505948640214432?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/113505948640214432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=113505948640214432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113505948640214432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113505948640214432'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2005/12/quotes-from-debugging-development.html' title='quotes from Debugging the Development Process'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-113264292015349926</id><published>2005-11-22T12:02:00.000+05:00</published><updated>2005-11-22T12:02:00.176+05:00</updated><title type='text'>event handler: Cannot complete this action</title><content type='html'>&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;I made an event handler for doclibs to log the document updating and deletion activities. After deployment, the event handler for document library was logging the delete event but giving the exception on update event: “Cannot Complete this action, Please try again.”&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;After much effort, I found that the problem was with WSS Service Pack 2, and the exception was raised when try to access &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;SPListItem &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;collection.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The issue was because of increased security with WSS sp2.&lt;/span&gt;&lt;br/&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;909455"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;909455&lt;/a&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The resolution is &lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;using System.Security.Principal ... &lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate(); &lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;//implement OM code here &lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;wic.Undo();&lt;/span&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-113264292015349926?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/113264292015349926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=113264292015349926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113264292015349926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113264292015349926'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2005/11/event-handler-cannot-complete-this.html' title='event handler: Cannot complete this action'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-113223735351481483</id><published>2005-11-17T19:22:00.000+05:00</published><updated>2005-11-17T19:24:17.213+05:00</updated><title type='text'>Attach an Event sink with Multiple Document Libraries</title><content type='html'>&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Attach an Event sink with Multiple Document Libraries&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;There is no easy way in SPS 2003 to attach an event sink with multiple document libraries. You have to iterate each one manually or programmatically, following is the hack for this (SPS 2003)&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;For existing doclibs&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Courier New;"&gt;Db: _Site&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;update lists set &lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;     tp_EventSinkAssembly = 'WSSEventSink, Version=1.0.0.0, Culture=neutral,                                          PublicKeyToken=56761703e95c64a0',&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;     tp_EventSinkClass ='WSSEventSink.EventSink'&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;where tp_ServerTemplate = 101 --doclib&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;For newly created doclibs&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Courier New;"&gt;Schema.XML&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;lt;List  EventSinkAssembly="WSSEventSink, Version=1.0.0.0, Culture=neutral, PublicKeyToken=56761703e95c64a0" EventSinkClass="WSSEventSink.EventSink"&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-113223735351481483?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/113223735351481483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=113223735351481483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113223735351481483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/113223735351481483'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2005/11/attach-event-sink-with-multiple.html' title='Attach an Event sink with Multiple Document Libraries'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-110568588520427149</id><published>2005-01-14T11:58:00.000+05:00</published><updated>2005-08-17T14:01:18.746+05:00</updated><title type='text'>Windows 2000 Kerberos Security Tutorial</title><content type='html'>&lt;a href="http://www.mcmcse.com/win2k/guides/kerberos.shtml"&gt;Windows 2000 Kerberos Security Tutorial&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-110568588520427149?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/110568588520427149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=110568588520427149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/110568588520427149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/110568588520427149'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2005/01/windows-2000-kerberos-security.html' title='Windows 2000 Kerberos Security Tutorial'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-110552707461880652</id><published>2005-01-12T15:51:00.000+05:00</published><updated>2005-01-12T15:51:14.616+05:00</updated><title type='text'>Making Rich Web Application Architecture Usable</title><content type='html'>&lt;a href="http://www.sitepoint.com/print/architecture-usable"&gt;Making Rich Web Application Architecture Usable&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-110552707461880652?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/110552707461880652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=110552707461880652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/110552707461880652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/110552707461880652'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2005/01/making-rich-web-application.html' title='Making Rich Web Application Architecture Usable'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-110552306550600548</id><published>2005-01-12T14:44:00.000+05:00</published><updated>2005-01-12T14:54:14.936+05:00</updated><title type='text'>Download details: Microsoft SQL Server Best Practices Analyzer</title><content type='html'>&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=B352EB1F-D3CA-44EE-893E-9E07339C1F22&amp;amp;displaylang=en"&gt;Microsoft SQL Server Best Practices Analyzer&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-110552306550600548?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/110552306550600548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=110552306550600548' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/110552306550600548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/110552306550600548'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2005/01/download-details-microsoft-sql-server.html' title='Download details: Microsoft SQL Server Best Practices Analyzer'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-110550844539158711</id><published>2005-01-12T10:40:00.000+05:00</published><updated>2005-01-12T10:40:45.390+05:00</updated><title type='text'>A quick look at the Win2k source || kuro5hin.org</title><content type='html'>&lt;a href="http://www.kuro5hin.org/story/2004/2/15/71552/7795"&gt;We Are Morons: a quick look at the Win2k source || kuro5hin.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-110550844539158711?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/110550844539158711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=110550844539158711' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/110550844539158711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/110550844539158711'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2005/01/quick-look-at-win2k-source-kuro5hinorg.html' title='A quick look at the Win2k source || kuro5hin.org'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10083358.post-110543545640675137</id><published>2005-01-11T14:24:00.000+05:00</published><updated>2005-01-11T14:24:16.406+05:00</updated><title type='text'>Runtime analysis of ASP.NET Web services with Rational PurifyPlus</title><content type='html'>&lt;a href="http://www-106.ibm.com/developerworks/rational/library/972.html"&gt;Runtime analysis of ASP.NET Web services with Rational PurifyPlus&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10083358-110543545640675137?l=usmanshaheen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://usmanshaheen.blogspot.com/feeds/110543545640675137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10083358&amp;postID=110543545640675137' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/110543545640675137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10083358/posts/default/110543545640675137'/><link rel='alternate' type='text/html' href='http://usmanshaheen.blogspot.com/2005/01/runtime-analysis-of-aspnet-web.html' title='Runtime analysis of ASP.NET Web services with Rational PurifyPlus'/><author><name>Usman Shaheen</name><uri>http://www.blogger.com/profile/06375141080400693116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
