<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Alik Levin's : Practices</title><link>http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx</link><description>Tags: Practices</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Consulting And Security Reviews - How To Get Everyone Onboard</title><link>http://blogs.msdn.com/alikl/archive/2008/11/24/consulting-and-security-reviews-how-to-get-everyone-onboard.aspx</link><pubDate>Mon, 24 Nov 2008 21:56:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9138401</guid><dc:creator>alikl</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9138401.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9138401</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9138401</wfw:comment><description>&lt;table cellspacing="10" cellpadding="10" width="505" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="182"&gt;         &lt;p&gt;&amp;#160;&lt;a href="http://practicethis.com/" target="_blank"&gt;&lt;img title="Alik Levin" height="50" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" border="0" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; Security reviews are a respected methodology.&amp;#160; People know about them, and probably use them semi-regularly. Ask anyone if security reviews are important, and they would all say yes.&amp;#160; Ask them if they do it regularly, and most would say no.&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background-color: #f8f8f8" valign="top" width="304"&gt;         &lt;p&gt;&lt;strong&gt;Related Materials&lt;/strong&gt;&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/11/12/three-laws-of-consulting-by-gerald-m-weinberg.aspx"&gt;Three Laws Of Consulting By Gerald M. Weinberg&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://blogs.msdn.com/ace_team/archive/2008/07/24/security-code-review-string-search-patterns-for-finding-vulnerabilities-in-asp-net-web-application.aspx"&gt;Security Code Review &amp;#8211; String Search Patterns For Finding Vulnerabilities In ASP.NET Web Application&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/01/24/security-code-review-use-visual-studio-bookmarks-to-capture-security-findings.aspx"&gt;Security Code Review &amp;#8211; Use Visual Studio Bookmarks To Capture Security Findings&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/03/26/security-net-code-inspection-using-outlook-2007.aspx"&gt;Security .Net Code Inspection Using Outlook 2007&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;This post discusses the obstacles to implementing security reviews and the secrets to holding effective and successful regular security reviews.&lt;/p&gt;  &lt;h3&gt;Who&amp;#8217;s Involved and What Motivates Them?&lt;/h3&gt;  &lt;p&gt;Suppose a large enterprise, Contoso Banking, is building its next generation Internet facing web site. Who&amp;#8217;s involved and what motivates them?&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Project sponsor&lt;/b&gt;. The project sponsor wants to ship the project to the end user&amp;#8217;s requirements. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Project manager&lt;/b&gt;. The project manager wants to ship the project on budget and on time. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Development manager&lt;/b&gt;. The development manager wants to ship working version with less bugs as possible. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Architect&lt;/b&gt;. The architect wants to create cutting edge architecture with some new technology TLA&amp;#8217;s (three letter acronyms). &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Development Lead&lt;/b&gt;. The development team lead wants to build designs to proven patterns and practices saving on dev management costs. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Developers&lt;/b&gt;. The developers want to build the feature and hit code complete mark. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Systems engineers&lt;/b&gt;. The IT system engineers want to support bug free systems that do not require maintenance (or as less as possible). &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Who Cares About Security?&lt;/h3&gt;  &lt;p&gt;Now, who cares about security of the project?&lt;/p&gt;  &lt;p&gt;Common sense tells us security is the domain of the security guy&amp;#8217;s, say, the Chief Security Officer. &lt;/p&gt;  &lt;p&gt;Consider the following (not uncommon) scenario. The Chief Security Officer tells the team that the system needs to support two factor authentication due to regulatory compliance. That would usually result into the following reactions:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Project sponsor &lt;/strong&gt;will need to tell the customers that web access won&amp;#8217;t be as smooth as planned, since they will need to carry smart cards. End users usually get upset with such news. So the project sponsor is unhappy.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Project manager &lt;/strong&gt;understands that with such requirement she will never ship it neither on budget nor on time.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Development manager &lt;/strong&gt;freaks out imagining how many more bugs this requirement brings in.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Development team lead &lt;/strong&gt;after quick search on the web finds designs that require special skills, tools, and methodologies. More sleepless nights ahead.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Developer &lt;/strong&gt;never used crypto in any of her projects and now she needs serious ramp up on this cryptic topic. She is seriously considering moving on to a better project.&lt;/p&gt;  &lt;h4&gt;A Proven Pattern for Security Participation&lt;/h4&gt;  &lt;p&gt;Let&amp;#8217;s ask who cares about security once more? All of the project participants suddenly care, but most of them are not pleased with the security focus. Working with my customers I found a proven pattern to get everyone onboard with security. The pattern can be boiled down to the following principles:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Speak the language people understand. &lt;/li&gt;    &lt;li&gt;Understand motivations of the team. &lt;/li&gt;    &lt;li&gt;Optimize security according to the context. &lt;/li&gt;    &lt;li&gt;Be consistent. &lt;/li&gt;    &lt;li&gt;Be effective. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Speak the language people understand&lt;/h3&gt;  &lt;p&gt;This might sound funny but what I witness in the field is that people speak different languages, they might all speak their native English, Hebrew, or Russian, but in the end, even when communicating with the same language, no one understands each other. Consider another example, the unexpected security defect.&lt;/p&gt;  &lt;h3&gt;Tackling the unexpected security defect&lt;/h3&gt;  &lt;p&gt;Suppose the security tester proudly presents a Cross Site Scripting vulnerability to senior project stakeholders. It goes like this:&lt;/p&gt;  &lt;p&gt;- &amp;#8220;I found Cross Site Scripting vulnerability in your web site&amp;#8221;, - Security Tester happily announces.&lt;/p&gt;  &lt;p&gt;- &amp;#8220;So?...&amp;#8221;, &amp;#8211; Project Sponsor asks honestly.&lt;/p&gt;  &lt;p&gt;- &amp;#8220;So?!?!, Let me repeat what I just said &amp;#8211; I found Cross Site Scripting vulnerability in OUR web site&amp;#8221;, - Security Tester repeats honestly confused.&lt;/p&gt;  &lt;p&gt;- &amp;#8220;So?.....&amp;#8221;, -&amp;#160; Project Sponsor asks even more confused.&lt;/p&gt;  &lt;p&gt;And it goes on and on. Until Project Sponsor asks simple question about the subject he really cares &lt;/p&gt;  &lt;p&gt;- &amp;#8220;How are the end users affected?&amp;#8221;.&lt;/p&gt;  &lt;p&gt;- &amp;#8220;Their identities can be stolen and abused&amp;#8221; &amp;#8211; Security Tester explains with huge relief.&lt;/p&gt;  &lt;p&gt;- &amp;#8220;Oh my!!&amp;#8221;, - now Project Sponsor understands the severity of the issue, then he continues &amp;#8211; &amp;#8220;What should be done to mitigate this?&amp;#8221;&lt;/p&gt;  &lt;p&gt;- &amp;#8220;You need rewrite all web pages, with &lt;i&gt;the right encoding&lt;/i&gt;, depending on where the data appears in the HTML output&amp;#8221; &amp;#8211; answers the Security Tester.&lt;/p&gt;  &lt;p&gt;The Project Manager comes to life, he understands that he is not going to hit the deadline. He looks at Development Lead asking him silently with his rolling eyes:&lt;/p&gt;  &lt;p&gt;- &amp;#8220;How long will it take?&amp;#8221;&lt;/p&gt;  &lt;p&gt;- &amp;#8220;Well.. we need to extend the schedule by&amp;#8230; 3 months as our developers are not that proficient with such code&amp;#8221;, - the Development Lead answers.&lt;/p&gt;  &lt;p&gt;Everyone is upset. Security Tester comes to the rescue:&lt;/p&gt;  &lt;p&gt;- &amp;#8220;Let me suggest the following. You run this simple search and find all occurrences of the issue, and use a common library to make the encoding a &lt;i&gt;simple one line fix&lt;/i&gt; in each case&amp;#8221;&lt;/p&gt;  &lt;p&gt;Project Manager sees the light in the end of the tunnel. In the end he might hit the deadline.&lt;/p&gt;  &lt;p&gt;Speak the language that people understand. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;&amp;quot;No matter how it looks at first, it's always a people problem.&amp;quot; &lt;/i&gt;&lt;i&gt;- &lt;/i&gt;&lt;i&gt;Th&lt;/i&gt;e &lt;a href="http://blogs.msdn.com/alikl/archive/2008/11/12/three-laws-of-consulting-by-gerald-m-weinberg.aspx"&gt;&lt;i&gt;Second Law Of Consulting&lt;/i&gt;&lt;/a&gt;&lt;i&gt; by&lt;/i&gt;&lt;i&gt; Gerald M. Weinberg&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;Optimize security according to the context (what&amp;#8217;s-in-it-for-me in action)&lt;/h3&gt;  &lt;p&gt;Security means different things to different roles. Understand motivations and show &lt;i&gt;what&amp;#8217;s in it for me&lt;/i&gt; to each one to make everyone buy in.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Project sponsor &lt;/strong&gt;sees security as the main reason to make end user happy or unhappy. Show how a security bug can reveal the end user&amp;#8217;s information. Show how security feature alienates end users. Show how security feature actually brings in more end users. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Project manager &lt;/strong&gt;sees security feature as the main reason to not hit the deadline or as a reasons for extra expenses. Show how to easily implement security fixes, show how not implementing the fix will bring even more expenses and result in missing the deadline. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Development manager &lt;/strong&gt;does not see security vulnerabilities as bugs. Show him or her sample penetration testing report that looks very familiar to the bug reports. Such reports usually get the project from staging environment back to the development to fix the vulnerabilities. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Development team lead &lt;/strong&gt;cares to build proven designs. Point him or her to &lt;a href="http://msdn.microsoft.com/en-us/library/ms978512.aspx"&gt;patterns &amp;amp; practices&lt;/a&gt; web site where the proven designs live. Save time and use proven practices. Make the development team leader a hero. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;IT System Engineer &lt;/strong&gt;sees security as more incident calls, more sleepless nights as a result of incident management. Show IT System Engineer how fixing the security bug reduces incident management burden. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Developer &lt;/strong&gt;hates security. The code is tricky and the fixes are always urgent. Show Developer that security is actually very simple and can be easily implemented like &lt;i&gt;this&lt;/i&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Be consistent&lt;/h3&gt;  &lt;p&gt;Consistency is the foundation of effectiveness, which will be discussed later on. Frames of core principles help a lot to be consistent. I found &lt;a href="http://shapingsoftware.com/2008/04/07/security-frame/"&gt;Security Frame&lt;/a&gt; very useful. It guides me and the rest of the involved parties, Project Sponsor, Project Manager, Development Manager, Development Team Lead, Developer. It creates a common language that everyone understands. Notice how the Security Frame can be used either for Threats that are relevant to Project Sponsor or for Countermeasures that are relevant to Development Force and more Technical audience. &lt;/p&gt;  &lt;h3&gt;Be effective&lt;/h3&gt;  &lt;p&gt;If you speak common a language, you get everyone to buy in. It is show time, time to deliver.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;How do your effectively create security requirements document? &lt;/li&gt;    &lt;li&gt;How do your effectively build secure architecture and designs or inspect those that others created? &lt;/li&gt;    &lt;li&gt;How do you effectively guide developers for security? &lt;/li&gt;    &lt;li&gt;How do you effectively conduct security code reviews and deployment inspections? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The answer is simple; you follow proven patterns and practices. Fortunately, patterns &amp;amp; practices PAG team, led by J.D. Meier, has built fantastic tool, &lt;a href="http://www.codeplex.com/GuidanceExplorer"&gt;Guidance Explorer&lt;/a&gt; that maintains more than 3,500 easily consumable items on security, performance, and Visual Studio topics. J.D. also maintains his &lt;a href="http://securityguidanceshare.com/"&gt;SecurityGuidanceShare.com&lt;/a&gt; wiki where he chunks the guidance in more consumable way. Guidance Explorer allows quick searches, direct access to the information according to Security Frame. But two features that bring me effectiveness is its ability to create &lt;a href="http://www.codeplex.com/guidanceExplorer/Wiki/View.aspx?title=Generate%20MS%20Word%20Document&amp;amp;referringTitle=Screen%20Shots"&gt;Word documents&lt;/a&gt; and ability to be &lt;a href="http://blogs.msdn.com/alikl/archive/2008/01/03/consume-patterns-practices-guidance-explorer-via-rss-using-outlook-2007.aspx"&gt;consumed via any RSS reader&lt;/a&gt;.&lt;/p&gt;  &lt;h3&gt;Practices&lt;/h3&gt;  &lt;p&gt;Apply proven practices. Avoid &lt;a href="http://blogs.msdn.com/jmeier/archive/2005/10/11/security-approaches-that-don-t-work.aspx"&gt;approaches that do not work&lt;/a&gt;. Do more in less time.&lt;/p&gt;  &lt;p&gt;The highest return on investment is achieved when security activities match specific phase of the development lifecycle. These activities must produce results that are relevant to key personas of the phase.&lt;/p&gt;  &lt;p&gt;The following table summarizes personas and focused deliverables according to development lifecycle:&lt;/p&gt;  &lt;table cellspacing="10" cellpadding="10" width="566" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="131"&gt;&lt;b&gt;Phase&lt;/b&gt;&lt;/td&gt;        &lt;td valign="top" width="106"&gt;&lt;b&gt;Key Persona&lt;/b&gt;&lt;/td&gt;        &lt;td valign="top" width="162"&gt;&lt;b&gt;Activity&lt;/b&gt;&lt;/td&gt;        &lt;td valign="top" width="115"&gt;&lt;b&gt;Deliverable&lt;/b&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="132"&gt;Envision and requirements          &lt;br /&gt;gathering&lt;/td&gt;        &lt;td valign="top" width="117"&gt;Project Sponsor&lt;/td&gt;        &lt;td valign="top" width="159"&gt;Security requirements discussed&amp;#160; &lt;br /&gt;          &lt;br /&gt;Helpful resources:           &lt;br /&gt;- &lt;a href="http://shapingsoftware.com/2008/03/30/stride-explained/"&gt;STRIDE Explained&lt;/a&gt;           &lt;br /&gt;- Visualizing &amp;#8211; use &lt;a href="http://www.microsoft.com/click/hellosecureworld/default.mspx"&gt;Hello Secure World&lt;/a&gt;           &lt;br /&gt;- Use &lt;a href="http://www.codeplex.com/guidanceExplorer"&gt;Guidance Explorer&lt;/a&gt; to effectively build more technical requirements.&lt;/td&gt;        &lt;td valign="top" width="115"&gt;Key stake holders buy in for Security. Best result achieved when key project member send out an email to the whole team&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="131"&gt;Architecture and Design&lt;/td&gt;        &lt;td valign="top" width="122"&gt;Architect, Development Leads&lt;/td&gt;        &lt;td valign="top" width="158"&gt;Compile Security Design Guidance. Conduct Threat Modeling using &lt;a href="http://msdn2.microsoft.com/en-us/library/ms978531.aspx"&gt;Threat Modeling Template&lt;/a&gt;           &lt;p&gt;Use &lt;a href="http://www.codeplex.com/GuidanceExplorer"&gt;Guidance Explorer&lt;/a&gt; to quickly build guidance and inspection &lt;a href="http://blogs.msdn.com/ace_team/archive/2008/01/15/generate-your-own-security-code-review-checklist-document-using-outlook-2007.aspx"&gt;documents&lt;/a&gt;.&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="114"&gt;Threats identified and prioritized.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="131"&gt;Coding/Building&lt;/td&gt;        &lt;td valign="top" width="124"&gt;Developers&lt;/td&gt;        &lt;td valign="top" width="158"&gt;Cannibalize &lt;a href="http://blogs.msdn.com/alikl/archive/2007/11/21/asp-net-2-0-internet-security-reference-implementation-have-it-handy.aspx"&gt;ASP.NET 2.0 Internet Security Reference Implementation&lt;/a&gt; to effectively write more secure code &amp;#8211; it is endless source of proven Security Code nuggets           &lt;p&gt;Bookmark &lt;a href="http://msdn2.microsoft.com/en-us/library/bb981440.aspx"&gt;ASP.NET 2.0 FAQs&lt;/a&gt; to address security question during the development&lt;/p&gt;          &lt;p&gt;Conduct effective Security &lt;a href="http://msdn2.microsoft.com/en-us/library/ms998364.aspx"&gt;Code Review&lt;/a&gt; asking questions from &lt;a href="http://msdn2.microsoft.com/en-us/library/ms998375.aspx"&gt;Security Question List: ASP.NET 2.0&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="114"&gt;Security bug list including priorities and how-to&amp;#8217;s for fixtures.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="131"&gt;Deployment, Stabilizing&lt;/td&gt;        &lt;td valign="top" width="124"&gt;IT System Administrators&lt;/td&gt;        &lt;td valign="top" width="158"&gt;Stream line security deployment inspection using &lt;a href="http://msdn.microsoft.com/en-us/library/ms998367.aspx"&gt;this step-by-step guide&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="117"&gt;Security deployment bug list including priorities and how-to&amp;#8217;s for fixtures.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h3&gt;Driving for effective security reviews&lt;/h3&gt;  &lt;p&gt;Ideally all these activities should be conducted throughout the whole development lifecycle. In the real world projects this happens rarely. Nevertheless, effective security inspection techniques prove that security bar can be constantly raised. One thing to keep in mind that security bugs can be revealed at any development phase but the cost of fixture climbs exponentially as the projects approaches production environment. It is all about risk management. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;This post is made with &lt;a href="http://practicethis.com/" target="_blank"&gt;PracticeThis.com&lt;/a&gt; plugin for Windows Live Writer&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9138401" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Consulting/default.aspx">Consulting</category></item><item><title>ASP.NET Performance By Design: Takeaways From PDC</title><link>http://blogs.msdn.com/alikl/archive/2008/11/03/asp-net-performance-by-design-takeaways-from-pdc.aspx</link><pubDate>Mon, 03 Nov 2008 12:06:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9032152</guid><dc:creator>alikl</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9032152.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9032152</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9032152</wfw:comment><description>&lt;table cellspacing="5" cellpadding="2" width="557" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="226"&gt;&amp;#160;&lt;a href="http://practicethis.com/" target="_blank"&gt;&lt;img title="Alik Levin" height="50" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" border="0" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; During PDC, there were 5 dedicated sessions for improving performance in .Net titled &amp;quot;Performance By Design&amp;quot;. The presenters are &lt;a href="http://blogs.msdn.com/ricom"&gt;Rico Mariani&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/vancem/"&gt;Vance Morrison&lt;/a&gt;, and Mark Friedman. These guys live and breathe performance. Although I did not make to get to PDC, I was following after what's going on there. Fortunately, Vance published all slides on his blog. These are my takeaways from the slides he published.&lt;/td&gt;        &lt;td valign="top" width="314"&gt;&lt;script type="text/javascript"&gt;


 
&lt;!-- 
lqm_channel=1;
lqm_publisher=253;
lqm_zone=1;
lqm_format=6;
//--&gt;&lt;/script&gt;&lt;script src="http://a.lakequincy.com/s.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/vancem/archive/2008/10/30/slides-for-pdc-2008-talk-performance-by-design-rico-mariani-s-introduction.aspx"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/vancem/archive/2008/10/30/slides-for-pdc-2008-talk-performance-by-design-rico-mariani-s-introduction.aspx"&gt;Performance by Design Intro&lt;/a&gt; &lt;/h3&gt;  &lt;p&gt;&lt;em&gt;By Rico Mariani&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;My favorite is the first slide that sets the expectations - Performance is about Culture:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Part 1 - Teaching Performance Culture &lt;/li&gt;    &lt;li&gt;Part 2 - General Topics about Managed Code &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I am so happy to see it!&amp;#160; There is a perception about performance in the field - it is about tools. There is another perception - &amp;quot;we can fix performance after we build the app&amp;quot;. I've been through few situations where such approach resulted in extra budget to &amp;quot;fix the performance issues&amp;quot;, missed deadlines, and frustrated customers (and stakeholders). Rico says there are very few rules to follow:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Rule #1 - Measure&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Rule #2 - Do your homework&lt;/strong&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Rico explains P&lt;strong&gt;&lt;em&gt;erformance Culture&lt;/em&gt;&lt;/strong&gt; very simply but in powerful way:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Budget. &lt;/strong&gt;An exercise to assess the value of a new feature and the cost you&amp;#8217;d be willing to pay:       &lt;ul&gt;       &lt;li&gt;Begin by thinking about how the customer thinks about performance          &lt;ul&gt;           &lt;li&gt;Responsiveness &lt;/li&gt;            &lt;li&gt;Capacity &lt;/li&gt;            &lt;li&gt;Throughput &lt;/li&gt;            &lt;li&gt;Cost of Entry &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Identify the resource the customer views as critical to this system &lt;/li&gt;        &lt;li&gt;Choose the level of performance we want to deliver (do we need an &amp;#8220;A+&amp;#8221; or is a &amp;#8220;D&amp;#8221; good enough) &lt;/li&gt;        &lt;li&gt;Convert this into what resource usage needs to be to succeed &lt;/li&gt;        &lt;li&gt;Don&amp;#8217;t think about the code, think about the customer &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Plan. &lt;/strong&gt;Validate your design against the budget, this is a risk assessment       &lt;ul&gt;       &lt;li&gt;You can&amp;#8217;t plan without a budget, so get one &lt;/li&gt;        &lt;li&gt;Use best practices to select candidate algorithms &lt;/li&gt;        &lt;li&gt;Understand their costs in terms of the critical resource &lt;/li&gt;        &lt;li&gt;Identify your dependencies and understand their costs &lt;/li&gt;        &lt;li&gt;Compare these projected costs against the budgets &lt;/li&gt;        &lt;li&gt;If you are close to budget you will need much greater detail in your plans &lt;/li&gt;        &lt;li&gt;Identify verification steps and places to abort if it goes badly &lt;/li&gt;        &lt;li&gt;Proceed when you are comfortable with the risk &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Verify.&lt;/strong&gt; Measure the final results, discard failures without remorse or penalty, don&amp;#8217;t make us live with them       &lt;ul&gt;       &lt;li&gt;The budget and the plan drive verification steps &lt;/li&gt;        &lt;li&gt;Performance that cannot be verified does not exist &lt;/li&gt;        &lt;li&gt;Don&amp;#8217;t be afraid to cancel features that are not meeting their budgets &amp;#8211; we expect to lose some bets &lt;/li&gt;        &lt;li&gt;Don&amp;#8217;t inflict bad performance on the world &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Bottom line - performance is about culture - tools only support it. Performance cost you either way - either you invest in it or not. Manage it as you'd manage any other risk.&lt;/p&gt;  &lt;h4&gt;My Related Posts&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/ace_team/archive/2008/03/11/improve-net-applications-performance-effectively-and-efficiently.aspx"&gt;Improve .Net Applications Performance Effectively And Efficiently&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/06/20/performance-testing-objectives-document-template.aspx"&gt;Performance Testing Objectives Document Template&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/05/05/asp-net-performance-engineering-stress-test-your-architecture-design-and-code.aspx"&gt;ASP.NET Performance Engineering - Stress Test Your Architecture, Design, And Code&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/vancem/archive/2008/10/30/slides-for-pdc-2008-talk-performance-by-design-measuring-cpu-time.aspx"&gt;CPU Optimization for .NET Applications&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;&lt;em&gt;By Vance Morrison&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Vance supports Rico's Rule #1 - Measure. He provides several practical options:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Low Tech: System.Diagnostics.Stopwatch &lt;/li&gt;    &lt;li&gt;Medium Tech: &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc507639.aspx"&gt;MeasureIt&lt;/a&gt; (Automates Stopwatch) &lt;/li&gt;    &lt;li&gt;Medium Tech: Use ETW (Event Tracing for Windows) &lt;/li&gt;    &lt;li&gt;Higher Tech: Sample Based Profiling. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Vance admits that ETW (Event Tracing for Windows)&amp;#160; &amp;quot;...is not easy to use End-to-End: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;We are working it &lt;/li&gt;    &lt;li&gt;We will have more offerings in next release &lt;/li&gt;    &lt;li&gt;It is a complete talk just by itself &lt;/li&gt;    &lt;li&gt;If you need logging NOW you CAN use EventProvider, xperf &lt;/li&gt;    &lt;li&gt;If you can wait a year, it will be significantly nicer.&amp;#160; &lt;/li&gt;    &lt;li&gt;If there is interest, we can have an &amp;#8216;Open Space&amp;#8217; discussion&amp;quot; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;My biggest takeaway from this session is that I know unforgivably too little about &lt;a href="http://www.microsoft.com/whdc/system/sysperf/perftools.mspx"&gt;ETW&lt;/a&gt; - need to ramp up myself on it.&lt;/p&gt;  &lt;h4&gt;My Related Posts&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/ace_team/archive/2008/08/11/asp-net-performance-high-cpu-utilization-case-studies-and-solutions.aspx"&gt;ASP.NET Performance: High CPU Utilization Case Studies And Solutions&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/vancem/archive/2008/10/30/slides-for-pdc-2008-talk-performance-by-design-measuring-memory.aspx"&gt;Memory Optimization for .NET Applications&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;&lt;em&gt;By Vance Morrison&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;My favorite slide is #14:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&amp;quot;Fixing Memory Issues: Prevention!&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Fixing Memory Issues is HARD      &lt;ul&gt;       &lt;li&gt;Usually a DESIGN problem: Not Pay for Play &lt;/li&gt;        &lt;li&gt;Using every new feature in your app          &lt;br /&gt;XML, LINQ, WPF, WCF, Serialization, Winforms, &amp;#8230; &lt;/li&gt;        &lt;li&gt;Initialize all subsystems at startup &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;GC Memory Are your Data Structures      &lt;ul&gt;       &lt;li&gt;Tend to be designed early &lt;/li&gt;        &lt;li&gt;Hard to change later &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Thus it Pays to Think about Memory Early!&amp;quot; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;What does it mean to think about memory early? The slide deck is packed with explanation about the measurement tools and the theory behind GC. I'd also expect to see few code samples - both patterns and anti-patterns. &lt;a href="http://blogs.msdn.com/ricom/archive/2003/12/04/41281.aspx"&gt;Mid-life crisis&lt;/a&gt; drill down would work for me.&lt;/p&gt;  &lt;h4&gt;My Related Posts&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/10/08/asp-net-performance-dynamically-loaded-assemblies-cause-application-recycles-problem-and-solution.aspx"&gt;ASP.NET Performance: Dynamically Loaded Assemblies Cause Application Recycles (Problem and Solution)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/07/31/best-asp-net-performance-winner-for-data-binding-hands-up-to-response-write.aspx"&gt;Best ASP.NET Performance Winner For Data Binding - Hands Up To Response.Write()&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/vancem/archive/2008/10/30/slides-for-pdc-2008-talk-performance-by-design-parrallel-programming.aspx"&gt;Parallelism for .NET Applications&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;&lt;em&gt;By Vance Morrison&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;The only takeaway (beside good tips) is that Parallel Computing is getting into mainstream. From the field I see more and more demand for multithreaded work, I observe customers buying strong servers but do not utilize it to its capacity while asking to improve performance. I liked the structure of the session, especially &amp;quot;How .Net Can Help...&amp;quot; slides that offer practical tips and implementation suggestions to improve performance by parallelism. &lt;/p&gt;  &lt;h4&gt;My Related Post&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/10/02/improve-asp-net-2-0-performance-with-pageasynctask-multithreading-for-the-masses.aspx"&gt;Improve ASP.NET 2.0 Performance With PageAsyncTask - Multithreading For The Masses&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/06/20/pitfalls-with-net-multithreading-and-com-objects-threads-must-have-compatible-apartment-models-mta-vs-sta.aspx"&gt;Pitfalls With .Net Multithreading And COM Objects &amp;#8211; Threads Must Have Compatible Apartment Models (MTA vs. STA)&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/vancem/archive/2008/10/30/slides-for-pdc-2008-talk-performance-by-design-asp-net-performance.aspx"&gt;ASP.NET Web Application Performance&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;&lt;em&gt;By Mark Friedman&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;This is really huge slide deck - 110 slides... that covers tons of stuff. &lt;/p&gt;  &lt;p&gt;I was looking for unusual stuff. I found it. Turns out &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=119F3477-DCED-41E3-A0E7-D8B5CAE893A3&amp;amp;displaylang=en"&gt;Visual Round Trip Analyzer&lt;/a&gt; (VRTA) was released to the web. The tool was internal for some time and now it is&amp;#160; available for the masses. Good news!&lt;/p&gt;  &lt;p&gt;I also liked the slides about ETW for IIS. Especially the ETW Trace reporting tool , which is Excel ;). One statement made me feel alert - &amp;quot;Caching the same data in multiple places tends to be wasteful&amp;quot;. Not the statement itself rather the relation to &lt;a href="http://msdn.microsoft.com/en-us/data/cc655792.aspx"&gt;Velocity&lt;/a&gt;, which is MS distributed cache mechanism. Need to dig deeper. Overall, the slide deck is packed with very useful and practical recommendations spanning multiple technologies like ASP.NET, AJAX, and WCF.&lt;/p&gt;  &lt;h4&gt;My Related Posts&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/10/29/asp-net-performance-fast-ajax-faster-ajax.aspx"&gt;ASP.NET Performance: Fast AJAX, Faster AJAX&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/02/18/how-to-consume-wcf-using-ajax-without-asp-net.aspx"&gt;How To Consume WCF Using AJAX Without ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/12/31/asp-net-ajax-control-toolkit-basic-sample-for-dynamicpopulate-control.aspx"&gt;ASP.NET AJAX Control Toolkit - Basic Sample For DynamicPopulate Control&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;a onclick="window.location = &amp;#39;http://www.reddit.com/submit?url=&amp;#39; + encodeURIComponent(window.location); return false" href="http://www.reddit.com/submit"&gt;&lt;img alt="submit to reddit" src="http://www.reddit.com/static/spreddit11.gif" border="0" /&gt; &lt;/a&gt;  &lt;p&gt;&lt;strong&gt;This template is made with &lt;a href="http://practicethis.com/" target="_blank"&gt;PracticeThis.com&lt;/a&gt; plugin for Windows Live Writer&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9032152" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Planning+Phase/default.aspx">Planning Phase</category></item><item><title>SharePoint Performance : Design, Implement, Deploy For Fast Experience.</title><link>http://blogs.msdn.com/alikl/archive/2008/09/23/sharepoint-performance-design-implement-deploy-for-fast-experience.aspx</link><pubDate>Tue, 23 Sep 2008 10:32:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8962001</guid><dc:creator>alikl</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/alikl/comments/8962001.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=8962001</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=8962001</wfw:comment><description>&lt;table border="0" cellspacing="5" cellpadding="2" width="540"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="279"&gt;&amp;#160;&lt;a target="_blank" href="http://practicethis.com/"&gt;&lt;img title="Alik Levin" border="0" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" height="50" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://blogs.msdn.com/ricom/archive/2008/09/12/performance-by-design-at-pdc2008.aspx"&gt;Rico Says&lt;/a&gt; :&amp;#160; &lt;a href="http://www.microsoftpdc.com/Agenda/Preconference.aspx#performance-by-design-using-the-net-framework"&gt;Performance by Design&lt;/a&gt;. I say : Yeesh!! I am a big fan of the idea that Performance should be integrated into the whole dev lifecycle. As I am getting more involved with Sharepoint I become more confident applying same approach to Sharepoint implementation with Performance in mind. This post summarizes my collection of performance resources for Sharepoint.&lt;/td&gt;        &lt;td valign="top" width="244"&gt;&lt;script type="text/javascript"&gt; 
&lt;!-- 
lqm_channel=1;
lqm_publisher=253;
lqm_zone=1;
lqm_format=6;
//--&gt;
&lt;/script&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/SharePointPerformanceDesignImplementDep_88C8/image_2.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/SharePointPerformanceDesignImplementDep_88C8/image_thumb.png" width="251" height="200" /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=108967&amp;amp;clcid=0x409"&gt;Configuring performance options&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/office/sharepointserver/bb736741.aspx"&gt;Performance and Capacity Planning Resource Center for SharePoint Server 2007&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://download.microsoft.com/download/0/E/B/0EBA7263-A555-4279-B9DD-1720F0139A2E/SharePointOptimizationTWP.doc"&gt;SharePoint Performance Optimization: How Microsoft IT Increases Availability and Decreases Rendering Time of SharePoint Sites&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/sharepoint/archive/2008/02/18/advanced-sharepoint-videos-and-whitepapers.aspx"&gt;Advanced SharePoint Videos and Whitepapers&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/ecm/archive/2006/11/08/how-to-make-your-moss-2007-web-site-faster-with-caching.aspx"&gt;How can I make my web site faster with caching ?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://h71019.www7.hp.com/ERC/downloads/4AA2-1456ENW.pdf"&gt;Best practices for deploying Microsoft Office SharePoint Server on HP storage technologies&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/spg/Release/ProjectReleases.aspx?ReleaseId=16319"&gt;Sharepoint pattern and practices guidance&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/ketaanhs/archive/2008/08/12/performance-testing-and-performance-counters-for-sharepoint-2007-moss.aspx"&gt;Performance testing and Performance counters for Sharepoint 2007 (MOSS&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa973248.aspx"&gt;Best Practices: Using Disposable Windows SharePoint Services Objects&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb687949.aspx"&gt;Best Practices: Common Coding Issues When Using the SharePoint Object Model&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb985502.aspx"&gt;Checklist for Creating SharePoint Web Parts&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.thekid.me.uk/archive/2007/07/25/debugging-tips-for-sharepoint-and-wss-exceptions.aspx"&gt;Debugging tips for SharePoint&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I must thank Rahul from &lt;a href="http://blogs.msdn.com/ace_team"&gt;ACE Team&lt;/a&gt; for sharing some of the above nuggets with me.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p dir="ltr" align="left"&gt;&lt;font size="1"&gt;&lt;strong&gt;This post was made with &lt;/strong&gt;&lt;/font&gt;&lt;a target="_blank" href="http://practicethis.com/"&gt;&lt;font size="1"&gt;&lt;strong&gt;PracticeThis.com&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt;&lt;strong&gt; blog post template plugin for Windows Live Writer&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8962001" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category><category domain="http://blogs.msdn.com/alikl/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>.Net Performance And Security Knowledge Management (Including Sharepoint Template For Download)</title><link>http://blogs.msdn.com/alikl/archive/2008/09/16/net-performance-and-security-knowledge-management-including-sharepoint-template-for-download.aspx</link><pubDate>Tue, 16 Sep 2008 00:24:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8953101</guid><dc:creator>alikl</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alikl/comments/8953101.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=8953101</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=8953101</wfw:comment><description>&lt;table border="0" cellspacing="5" cellpadding="2" width="557"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="226"&gt;&amp;#160;&lt;a target="_blank" href="http://practicethis.com/"&gt;&lt;img title="Alik Levin" border="0" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" height="50" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; Use MS Sharepoint to manage your .Net Security and Performance Engineering (or any other) knowledge.&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;Applying simple steps you can create a very powerful KB (Knowledge Base) to serve your needs. It will allow you find very quickly relevant knowledge either using categories or keyword search. You can package your KB &lt;/td&gt;        &lt;td valign="top" width="314"&gt;&lt;script type="text/javascript"&gt; 
&lt;!-- 
lqm_channel=1;
lqm_publisher=253;
lqm_zone=1;
lqm_format=6;
//--&gt;
&lt;/script&gt;&lt;a title="Security Engineering Q&amp;amp;A on hosted Sharepoint" href="http://6901.freesharepoint2007.com/Web%20Pages/Security%20Engineering%20QA.aspx?View={4BA1A282-54AC-4183-86F5-4736172E126C}&amp;amp;SelectedID=1"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/dc7834fb9359_E1B6/image_3.png" width="293" height="223" /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt; and redeploy on other environments too. Interested? Read on.   &lt;h3&gt;Customer Case Study&lt;/h3&gt;  &lt;p&gt;All of my customers, without exception, at some point realize they need a central knowledge management solution where they would maintain relevant information – usually .Net Performance and Security in my case. The need is dictated by demand to quickly create and share knowledge across the teams. &lt;/p&gt;  &lt;p&gt;MS Sharepoint 2003/2007 is an excellent choice to very quickly set up a team site where all relevant info nuggets can&amp;#160; be maintained in a way that is easy to consume.&lt;/p&gt;  &lt;h3&gt;Analysis And Implementation&lt;/h3&gt;  &lt;p&gt;All of my customers, without exception, use either Sharepoint 2003 or Sharepoint 2007.&amp;#160; Creating simple Sharepoint team site was a natural choice. &lt;/p&gt;  &lt;p&gt;The content was extracted from &lt;a href="http://www.codeplex.com/GuidanceExplorer"&gt;Guidance Explorer&lt;/a&gt;. These are the steps I have taken to implement my .Net Performance and Security Knowledge Management solutions with Sharepoint 2007:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Create Team Site. &lt;/strong&gt;During this step you create simple Sharepoint Team Site similar as described here - &lt;strong&gt;&lt;a href="http://www.fpweb.net/sharepoint-tutorials/CreateTeamSite.asp"&gt;SharePoint Tutorial: How to create a team site&lt;/a&gt;&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Create Category Custom List. &lt;/strong&gt;During this step you create custom list that will serve as a category filter for the content. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/dc7834fb9359_E1B6/image_8.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/dc7834fb9359_E1B6/image_thumb_2.png" width="244" height="237" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Create Document Library and Upload the Content.&lt;/strong&gt;&amp;#160; Create document library, where the content will reside. Make sure to create another column for the library called Category. This will serve you to filter the content by Category. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Categorize the Content.&lt;/strong&gt;&amp;#160; Upload the content and categorize it using Category column. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/dc7834fb9359_E1B6/image_10.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/dc7834fb9359_E1B6/image_thumb_3.png" width="526" height="152" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Create Web Part Page for Easy Consumption. &lt;/strong&gt;Create a Web Part Page and add two web parts – the Category list, and the Content library. Connect the two so that Category list will provide the data to the library. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/dc7834fb9359_E1B6/image_12.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/dc7834fb9359_E1B6/image_thumb_4.png" width="531" height="191" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Your end result should look similar to the following. Use radio buttons to filter the relevant items and find relevant information gold nugget quickly. You can also use a keyword search that is built into Sharepoint.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/dc7834fb9359_E1B6/image_14.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/dc7834fb9359_E1B6/image_thumb_5.png" width="535" height="267" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;Conclusion&lt;/h3&gt;  &lt;p&gt;From my field observation there are two strong trends with enterprise customers:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Looking for a ways to leverage existing investments and maximize ROI. &lt;/li&gt;    &lt;li&gt;Looking for a ways to make a developers more effective and efficient. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Using Sharepoint 2003/2007 and Guidance Explorer content provides a great starting point of building your own Knowledge Management solution in no time.&lt;/p&gt;  &lt;p&gt;See online demo here - &lt;a href="http://6901.freesharepoint2007.com/Web%20Pages/Security%20Engineering%20QA.aspx"&gt;Security Engineering QA&lt;/a&gt;. Try clicking on radio buttons on the left.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://6901.freesharepoint2007.com/_catalogs/wt/SecurityGuidance.stp"&gt;Download Sharepoint 2007 site template including the content&lt;/a&gt;.&lt;/p&gt;  &lt;h3&gt;Related Materials&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/ace_team/archive/2008/01/15/generate-your-own-security-code-review-checklist-document-using-outlook-2007.aspx"&gt;Generate Your Own Security Code Review Checklist Document Using Outlook 2007&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/01/03/consume-patterns-practices-guidance-explorer-via-rss-using-outlook-2007.aspx"&gt;Consume patterns&amp;amp;practices Guidance Explorer Via RSS Using Outlook 2007&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p dir="ltr" align="left"&gt;&lt;font size="1"&gt;&lt;strong&gt;This post was made with &lt;/strong&gt;&lt;/font&gt;&lt;a target="_blank" href="http://practicethis.com/"&gt;&lt;font size="1"&gt;&lt;strong&gt;PracticeThis.com&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt;&lt;strong&gt; blog post template plugin for Windows Live Writer&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:left; margin:0px; padding:4px 4px 4px 4px;"&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://blogs.msdn.com/alikl/archive/2008/09/16/net-performance-and-security-knowledge-management-including-sharepoint-template-for-download.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://blogs.msdn.com/alikl/archive/2008/09/16/net-performance-and-security-knowledge-management-including-sharepoint-template-for-download.aspx&amp;amp;bgcolor=0080C0&amp;amp;fgcolor=FFFFFF&amp;amp;border=000000&amp;amp;cbgcolor=D4E1ED&amp;amp;cfgcolor=000000" alt="DotNetKicks Image" border="0/"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8953101" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category></item><item><title>patterns &amp; practices Improving Web Services Security: Scenarios and Implementation Guidance for WCF - BETA Is Out</title><link>http://blogs.msdn.com/alikl/archive/2008/06/05/patterns-practices-improving-web-services-security-scenarios-and-implementation-guidance-for-wcf-beta-is-out.aspx</link><pubDate>Thu, 05 Jun 2008 06:57:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8574534</guid><dc:creator>alikl</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alikl/comments/8574534.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=8574534</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=8574534</wfw:comment><description>&lt;p&gt;patterns &amp;amp; practices team has just released a beta version of WCF Security Guide on Codeplex. Download the guide at &lt;a href="http://www.codeplex.com/WCFSecurityGuide" target="_blank"&gt;http://www.codeplex.com/WCFSecurityGuide&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="179" alt="clip_image001" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesImprovingWebServicesSec_613A/clip_image001_3.jpg" width="143" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;Original announcement by J.D. Meier, the man behind the effort, is here - &lt;a href="http://blogs.msdn.com/jmeier/archive/2008/06/04/new-release-patterns-practices-wcf-security-guide-beta.aspx" target="_blank"&gt;New Release: patterns &amp;amp; practices WCF Security Guide (BETA)&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8574534" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category></item><item><title>ASP.NET Performance Engineering - Stress Test Your Architecture, Design, And Code</title><link>http://blogs.msdn.com/alikl/archive/2008/05/05/asp-net-performance-engineering-stress-test-your-architecture-design-and-code.aspx</link><pubDate>Mon, 05 May 2008 13:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8460177</guid><dc:creator>alikl</dc:creator><slash:comments>11</slash:comments><comments>http://blogs.msdn.com/alikl/comments/8460177.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=8460177</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=8460177</wfw:comment><description>&lt;p&gt;Field experience proves - the earlier performance is tackled in development lifecycle the better results achieved. Below are most frequent practices that were most helpful in my engagement with the customers.&lt;/p&gt;  &lt;h3&gt;Architecture/Design phase&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;Set performance scope using &lt;a href="http://shapingsoftware.com/2008/03/30/performance-frame" target="_blank"&gt;Performance Frame&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Set performance objectives - &lt;a href="http://blogs.msdn.com/alikl/archive/2007/06/20/performance-testing-objectives-document-template.aspx"&gt;Performance Testing Objectives Document Template&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Generate and distribute performance &lt;a href="http://cid-dd25b83e4ca261f7.skydrive.live.com/self.aspx/Blog%20Bucket/Performance/Performance%20Engineering%20Principles.doc" target="_blank"&gt;engineering principles document&lt;/a&gt; to the dev team (this sample was generated using &lt;a href="http://www.codeplex.com/guidanceExplorer" target="_blank"&gt;Guidance Explorer&lt;/a&gt;) &lt;/li&gt;    &lt;li&gt;Conduct performance design inspection (this &lt;a href="http://cid-dd25b83e4ca261f7.skydrive.live.com/self.aspx/Blog%20Bucket/Performance/Performance%20Design%20Inspection.doc" target="_blank"&gt;sample document&lt;/a&gt; was generated using &lt;a href="http://www.codeplex.com/guidanceExplorer" target="_blank"&gt;Guidance Explorer&lt;/a&gt;) &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Coding phase&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;Conduct static code analysis for performance issues - &lt;a href="http://blogs.msdn.com/alikl/archive/2008/01/21/performance-code-review-tool-practices-checker.aspx" target="_blank"&gt;Performance Code Review Tool &amp;#8211; Practices Checker&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Conduct manual performance code inspection using &lt;a href="http://cid-dd25b83e4ca261f7.skydrive.live.com/self.aspx/Blog%20Bucket/Performance/Performance%20Code%20Inspection.doc" target="_blank"&gt;checklist document&lt;/a&gt; (this sample was generated using &lt;a href="http://www.codeplex.com/guidanceExplorer" target="_blank"&gt;Guidance Explorer&lt;/a&gt;) &lt;/li&gt;    &lt;li&gt;Analyze program's flow early in development - &lt;a href="http://blogs.msdn.com/alikl/archive/2007/07/16/use-sysinternals-debugview-to-diagnose-the-application.aspx" target="_blank"&gt;Use Sysinternals DebugView To Diagnose The Application&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Unit testing phase&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;Conduct performance smoke test for your application - &lt;a href="http://blogs.msdn.com/alikl/archive/2008/03/09/stress-test-asp-net-web-application-with-free-wcat-tool.aspx" target="_blank"&gt;Stress Test ASP.NET Web Application With Free WCAT Tool&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Analyze IIS behavior - &lt;a href="http://blogs.msdn.com/alikl/archive/2007/11/02/identify-asp-net-web-services-and-wcf-performance-issues-by-examining-iis-logs.aspx" target="_blank"&gt;Identify ASP.NET, Web Services, And WCF Performance Issues By Examining IIS Logs&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Analyze Database behavior using SQL Server profiler - &lt;a href="http://msdn.microsoft.com/en-us/library/ms979207.aspx" target="_blank"&gt;How To: Use SQL Profiler&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/ms187929.aspx" target="_blank"&gt;Using SQL Server Profiler&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Analyze Client Side JavaScript behavior -&amp;#160; &lt;a href="http://blogs.msdn.com/alikl/archive/2008/01/17/profiling-javascript-with-ajax-view-tool-spot-poor-performance-client-script-in-no-time.aspx" target="_blank"&gt;Profiling JavaScript With Ajax View Tool: Spot Poor Performance Client Script In No Time&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Analyze ASP.NET behavior - &lt;a href="http://blogs.msdn.com/alikl/archive/2007/08/15/use-performance-counters-templates-to-streamline-performance-analysis.aspx" target="_blank"&gt;Use Performance Counters Templates To Streamline Performance Analysis&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Analyze HTTP traffic from end user's angle - &lt;a href="http://blogs.msdn.com/alikl/archive/2007/10/17/improve-web-application-performance-by-reducing-number-of-http-requests-fiddler-to-the-rescue.aspx" target="_blank"&gt;Improve Web Application Performance By Reducing Number Of Http Requests - Fiddler To The Rescue&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Performance Sins (performance anti-patterns)&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/04/28/performance-sin-chatty-database-access-and-loops-plus-another-free-performance-tool.aspx" target="_blank"&gt;Performance Sin - Chatty Database Access And Loops (Plus Another Free Performance Tool)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/02/02/performance-sin-using-exceptions-to-control-flow.aspx" target="_blank"&gt;Performance Sin - Using Exceptions To Control Flow&lt;/a&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/05/02/asp-net-performance-sin-serving-images-dynamically-or-another-reason-to-love-fiddler.aspx" target="_blank"&gt;ASP.NET Performance Sin - Serving Images Dynamically (Or Another Reason To Love Fiddler)&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;My related posts&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/ace_team/archive/2008/02/14/do-you-really-need-a-distributed-architecture.aspx"&gt;Do You Really Need A Distributed Architecture?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/ace_team/archive/2008/03/11/improve-net-applications-performance-effectively-and-efficiently.aspx"&gt;Improve .Net Applications Performance Effectively And Efficiently&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/ace_team/archive/2008/01/15/generate-your-own-security-code-review-checklist-document-using-outlook-2007.aspx"&gt;Generate Your Own Security Code Review Checklist Document Using Outlook 2007&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/01/03/consume-patterns-practices-guidance-explorer-via-rss-using-outlook-2007.aspx"&gt;Consume patterns&amp;amp;practices Guidance Explorer online store via RSS&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/01/08/how-to-keep-asp-net-viewstate-on-the-server-revised.aspx"&gt;How To Keep ASP.NET ViewState On The Server &amp;#8211; Revised&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8460177" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Planning+Phase/default.aspx">Planning Phase</category></item><item><title>patterns &amp; practices WCF Security Guidance Project - live on Codeplex</title><link>http://blogs.msdn.com/alikl/archive/2008/04/02/patterns-practices-wcf-security-guidance-project-live-on-codeplex.aspx</link><pubDate>Wed, 02 Apr 2008 10:53:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8350230</guid><dc:creator>alikl</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alikl/comments/8350230.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=8350230</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=8350230</wfw:comment><description>&lt;p&gt;patterns &amp;amp; practices has recently released &lt;a href="http://www.codeplex.com/WCFSecurity/" target="_blank"&gt;WCF Security Guidance Project&lt;/a&gt;. &lt;a href="http://blogs.msdn.com/jmeier/" target="_blank"&gt;JD&lt;/a&gt;, the program manager behind the effort, &lt;a href="http://blogs.msdn.com/jmeier/archive/2008/03/27/patterns-and-practices-wcf-security-guidance-now-available.aspx" target="_blank"&gt;has been blogging about it&lt;/a&gt; too.It is evolving project but the initial content is fantastic already. It has &lt;a href="http://www.codeplex.com/WCFSecurity/Wiki/View.aspx?title=Application%20Scenarios&amp;amp;referringTitle=Home" target="_blank"&gt;Application Scenarios&lt;/a&gt;, &lt;a href="http://www.codeplex.com/WCFSecurity/Wiki/View.aspx?title=Video%20Index&amp;amp;referringTitle=Home" target="_blank"&gt;Video Index&lt;/a&gt;, but my favorites are How-To's:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.codeplex.com/WCFSecurity/Wiki/View.aspx?title=How%20To%20-%20Create%20and%20Install%20Temporary%20Certificates%20in%20WCF%20for%20Message%20Security%20During%20Development&amp;amp;referringTitle=How%20Tos" target="_blank"&gt;How To - Create and Install Temporary Certificates in WCF for Message Security During Development&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/WCFSecurity/Wiki/View.aspx?title=How%20To%20-%20Create%20and%20Install%20Temporary%20Certificates%20in%20WCF%20for%20Transport%20Security%20during%20Development&amp;amp;referringTitle=How%20Tos" target="_blank"&gt;How To - Create and Install Temporary Certificates in WCF for Transport Security during Development&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/WCFSecurity/Wiki/View.aspx?title=How%20To%20-%20Impersonate%20the%20Original%20Caller%20in%20WCF%20calling%20from%20Web%20Application&amp;amp;referringTitle=How%20Tos" target="_blank"&gt;How To - Impersonate the Original Caller in WCF calling from Web Application&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/WCFSecurity/Wiki/View.aspx?title=How%20To%20-%20Impersonate%20the%20Original%20Caller%20in%20WCF%20calling%20from%20Windows%20Forms&amp;amp;referringTitle=How%20Tos" target="_blank"&gt;How To - Impersonate the Original Caller in WCF calling from Windows Forms&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/WCFSecurity/Wiki/View.aspx?title=How%20To%20-%20Use%20netTcpBinding%20with%20Windows%20Authentication%20and%20Transport%20Security%20in%20WCF%20from%20Windows%20Forms&amp;amp;referringTitle=How%20Tos" target="_blank"&gt;How To - Use netTcpBinding with Windows Authentication and Transport Security in WCF from Windows Forms&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/WCFSecurity/Wiki/View.aspx?title=How%20To%20-%20Use%20SQL%20Role%20Provider%20with%20Username%20Authentication%20in%20WCF%20calling%20from%20Windows%20Forms&amp;amp;referringTitle=How%20Tos" target="_blank"&gt;How To - Use SQL Role Provider with Username Authentication in WCF calling from Windows Forms&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/WCFSecurity/Wiki/View.aspx?title=How%20To%20-%20Use%20SQL%20Role%20Provider%20with%20Windows%20Authentication%20in%20WCF%20calling%20from%20Windows%20Forms&amp;amp;referringTitle=How%20Tos" target="_blank"&gt;How To - Use SQL Role Provider with Windows Authentication in WCF calling from Windows Forms&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/WCFSecurity/Wiki/View.aspx?title=How%20To%20-%20Use%20Username%20Authentication%20with%20the%20SQL%20Membership%20Provider%20and%20Message%20Security%20in%20WCF%20from%20Windows%20Forms&amp;amp;referringTitle=How%20Tos" target="_blank"&gt;How To - Use Username Authentication with the SQL Membership Provider and Message Security in WCF from Windows Forms&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/WCFSecurity/Wiki/View.aspx?title=How%20To%20-%20Use%20wsHttpBinding%20with%20Windows%20Authentication%20and%20Message%20Security%20in%20WCF%20from%20Windows%20Forms&amp;amp;referringTitle=How%20Tos" target="_blank"&gt;How To - Use wsHttpBinding with Windows Authentication and Message Security in WCF from Windows Forms&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/WCFSecurity/Wiki/View.aspx?title=How%20To%20-%20Use%20wsHttpBinding%20with%20Windows%20Authentication%20and%20Transport%20Security%20in%20WCF%20calling%20from%20Windows%20Forms&amp;amp;referringTitle=How%20Tos" target="_blank"&gt;How To - Use wsHttpBinding with Windows Authentication and Transport Security in WCF calling from Windows Forms&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Pure love.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8350230" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Development+Phase/default.aspx">Development Phase</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Implementation/default.aspx">Implementation</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category></item><item><title>Performance Development Lifecycle (PDL) Session Materials</title><link>http://blogs.msdn.com/alikl/archive/2008/03/11/performance-development-lifecycle-pdl-session-materials.aspx</link><pubDate>Wed, 12 Mar 2008 00:16:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8160457</guid><dc:creator>alikl</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/alikl/comments/8160457.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=8160457</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=8160457</wfw:comment><description>&lt;p&gt;Yesterday I gave a talk about the subject during &lt;a href="http://dada.no-ip.biz/microsoft/mailer/Performance/" target="_blank"&gt;Performance Open House&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/PerformanceDevelopmentLifecyclePDLMateri_14596/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="178" alt="image" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/PerformanceDevelopmentLifecyclePDLMateri_14596/image_thumb.png" width="490" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;First off, thanks for attending my talk. The materials are published &lt;a href="http://blogs.msdn.com/ace_team/archive/2008/03/11/improve-net-applications-performance-effectively-and-efficiently.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Enjoy.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8160457" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Tools/default.aspx">Tools</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category></item><item><title>Performance Sin - Using Exceptions To Control Flow</title><link>http://blogs.msdn.com/alikl/archive/2008/02/02/performance-sin-using-exceptions-to-control-flow.aspx</link><pubDate>Sat, 02 Feb 2008 16:19:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7390784</guid><dc:creator>alikl</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/alikl/comments/7390784.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=7390784</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=7390784</wfw:comment><description>&lt;p&gt;Want to spot coding anti-patterns from performance perspective without actually looking in the code?&lt;/p&gt;  &lt;p&gt;One of the common performance coding anti-patterns I&amp;#8217;ve noticed lately is using Exception Handling to control program flow. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;The anti-patterns&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Most common anti-pattern is just using exception handling to control flow, in some cases it was even nested exception handling &amp;#8211; that means the exception is thrown anyway.&lt;/p&gt;  &lt;p&gt;In other cases there were empty &amp;#8220;catch&amp;#8221; exception statements. That means that precious cycles .Net consumes to handle the exception spent for nothing.&lt;/p&gt;  &lt;p&gt;The last case was where exception handling was done to catch simple types parsing. That was done on each request. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;How to identify Exception Handling anti-pattern&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;To identify exception handling anti-pattern set &amp;#8220;.NET CLR Exceptions/# of Excepts Thrown&amp;#8221; perf counter. If you see the graph constantly climbs on each request chance are Exception Handling is used to control the flow which is performance anti-pattern:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/PerformanceSinUsingExceptionsToControlFl_D5AC/clip_image002_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="126" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/PerformanceSinUsingExceptionsToControlFl_D5AC/clip_image002_thumb.jpg" width="221" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Look at the relevant source code to spot try/catch blocks. If the source code is not available use &lt;a href="http://www.aisto.com/roeder/dotnet/" target="_blank"&gt;Reflector&lt;/a&gt; to reverse engineer the compiled assemblies into C# sources &amp;#8211; I used it very successfully during my latest performance review.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Best practices&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Do not use exception handling to control the flow. Try to reduce catching exceptions to only most upper component/class. Catching exceptions is expensive from both CPU and memory perspective. &lt;/p&gt;  &lt;p&gt;Use TryParse method instead Parse method to avoid throwing exceptions .&lt;/p&gt;  &lt;p&gt;Use simple &amp;quot;if&amp;quot; statement to check for nulls.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Tools&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Use perfmon to spot the anti-pattern with Exception handling. Run perfmon in command line and add &amp;#8220;.NET CLR Exceptions/# of Excepts Thrown&amp;#8221; counter. Then run few scenarios to see the graph. &lt;/p&gt;  &lt;p&gt;Use Practice Checker for static code analysis. The tool scans the code and reveals excessive usage of exception handling.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;My related posts&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/01/21/performance-code-review-tool-practices-checker.aspx"&gt;Performance Code Review Tool &amp;#8211; Practices Checker&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7390784" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Test+Phase/default.aspx">Test Phase</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Tools/default.aspx">Tools</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Development+Phase/default.aspx">Development Phase</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Exception+Handling/default.aspx">Exception Handling</category></item><item><title>Security Code Review – Use Visual Studio Bookmarks To Capture Security Findings</title><link>http://blogs.msdn.com/alikl/archive/2008/01/24/security-code-review-use-visual-studio-bookmarks-to-capture-security-findings.aspx</link><pubDate>Thu, 24 Jan 2008 16:38:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7222033</guid><dc:creator>alikl</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/alikl/comments/7222033.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=7222033</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=7222033</wfw:comment><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;How to streamline the process of capturing security flaws during security code review? How to save time and avoid switching between the tools? How to stay focused?&lt;/p&gt;  &lt;p&gt;In this post I will show my simple technique to capture security flaws using Bookmarks in Visual Studio.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Create bookmark folders. &lt;/b&gt;Hit Ctrl + K and then Ctrl + W to bring Bookmarks window up. Create 10 folders according to &lt;a href="http://blogs.msdn.com/jmeier/pages/security-frame.aspx" target="_blank"&gt;security frame&lt;/a&gt; categories:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/SecurityCodeReviewUseVisualStudioBookmar_10D47/clip_image002_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="263" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/SecurityCodeReviewUseVisualStudioBookmar_10D47/clip_image002_thumb.jpg" width="230" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Focus on one category. &lt;/b&gt;Grab security &lt;a href="http://blogs.msdn.com/ace_team/archive/2008/01/15/generate-your-own-security-code-review-checklist-document-using-outlook-2007.aspx" target="_blank"&gt;checklist document&lt;/a&gt; you created using Guidance Explorer. Choose one category from the security frame, Authentication for example, and inspect the code manually. Do not pay attention to anything else on your way but Authentication issues. One category a time.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Bookmark security bugs. &lt;/b&gt;Once you find security bug hit Ctrl + K and then Ctrl +K again. You just created the bookmark. Drag it into the appropriate folder in Bookmarks window. Move on. When you finish the inspection using your checklist you should have something like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/SecurityCodeReviewUseVisualStudioBookmar_10D47/clip_image001_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="308" alt="clip_image001" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/SecurityCodeReviewUseVisualStudioBookmar_10D47/clip_image001_thumb.png" width="392" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Copy to the report in one run.&lt;/b&gt; Just run through the bookmarks and paste the findings to your final report. One run. Mechanical work. Done. Peace of mind.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;My related posts&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/06/05/visual-studio-2005-as-general-code-search-tool.aspx"&gt;Visual Studio 2005 As General Code Search Tool&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/03/31/security-code-inspection-eternal-search-for-sql-injection.aspx"&gt;Security Code Inspection - Eternal Search For SQL Injection&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/03/26/security-net-code-inspection-using-outlook-2007.aspx"&gt;Security .Net Code Inspection Using Outlook 2007&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/03/20/code-inspection-first-look-for-what-to-look-for.aspx"&gt;Code Inspection - First Look For What To Look For&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/11/21/asp-net-2-0-internet-security-reference-implementation-have-it-handy.aspx"&gt;ASP.NET 2.0 Internet Security Reference Implementation - Have It Handy&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7222033" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Test+Phase/default.aspx">Test Phase</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Tools/default.aspx">Tools</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Code+Inspection/default.aspx">Code Inspection</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category></item><item><title>Design For Operations [DFO] – Problems And Solution Frame</title><link>http://blogs.msdn.com/alikl/archive/2008/01/20/design-for-operations-dfo-problems-and-solution-frame.aspx</link><pubDate>Sun, 20 Jan 2008 20:02:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7173960</guid><dc:creator>alikl</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/alikl/comments/7173960.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=7173960</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=7173960</wfw:comment><description>&lt;p&gt;patterns &amp;amp; practices team maintains &lt;a href="http://www.codeplex.com/dfo"&gt;Design for Operations [DFO] project on codeplex&lt;/a&gt;. The goal of the project focuses on:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;#8220;Developing tools and guidance to help enable the development of highly manageable applications on the Windows platform.&amp;#8221; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This post summarize my understanding of the project&amp;#8217;s problems and solutions frame. Most of the content is direct copy paste from more than 300 pages Manageability Guidance document found &lt;a href="http://www.codeplex.com/dfo/Release/ProjectReleases.aspx?ReleaseId=2770" target="_blank"&gt;here&lt;/a&gt; and few interpretations of mine.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font size="4"&gt;Problems Frame&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Active players and their concerns&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;End User&lt;/b&gt;.       &lt;ul&gt;       &lt;li&gt;Why it is not working? &lt;/li&gt;        &lt;li&gt;Why it works so slow? &lt;/li&gt;        &lt;li&gt;Why I am not allowed to do this operation? &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Operator&lt;/b&gt;.       &lt;ul&gt;       &lt;li&gt;How do I configure this? &lt;/li&gt;        &lt;li&gt;Why it failed without alerts? &lt;/li&gt;        &lt;li&gt;Where all alerts are sent? &lt;/li&gt;        &lt;li&gt;How do I roll back the version? &lt;/li&gt;        &lt;li&gt;What should I do when I se this alert? &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Developer&lt;/b&gt;.&lt;b&gt;&lt;/b&gt;       &lt;ul&gt;       &lt;li&gt;How come end users do not understand exception message? &amp;#8211; it is simple call stuck dump! &lt;/li&gt;        &lt;li&gt;What do I do with this &amp;#8220;Unspecified error&amp;#8221; thing? &lt;/li&gt;        &lt;li&gt;What component throws this exception? &lt;/li&gt;        &lt;li&gt;Here is the patch &amp;#8211; just drop it to fix the problem. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Operations Challenges&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;How do I know what is the source of the incident? For example, &amp;#8220;It is IIS authentication&amp;#8221;. &lt;/li&gt;    &lt;li&gt;How do I get detailed information regarding the incident? For example, &amp;#8220;SPN is not configured for IIS Application account&amp;#8221;. &lt;/li&gt;    &lt;li&gt;How do I recognizes the trends that usually lead to incident? &amp;#8220;Yesterday we had 10% CPU utilization and today it is 20% - it must mean something&amp;#8221;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;&lt;font size="4"&gt;Solution Frame&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Representing Applications as Managed Entities&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;A &lt;i&gt;managed entity &lt;/i&gt;is any logical part of an application that a system administrator needs to configure, monitor, and create reports about while managing that application or service. Examples of managed entities are a Web service, a database, an Exchange routing group, an Active Directory site, a computer, a server role, a network device, a hardware component, or a subnet.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/5d7032e04ef4_65E0/clip_image002_2.gif"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="243" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/5d7032e04ef4_65E0/clip_image002_thumb.gif" width="379" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Model Comprehensive Management Models&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Creating a comprehensive management model consists of modeling in a variety of different areas to provide a total system view, including the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Configuration modeling&lt;/b&gt;. This involves encapsulating all the settings that control the behavior or functionality of an application or system component. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Task modeling&lt;/b&gt;. This involves cataloging the complete list of tasks that administrators have to perform to administer and manage a software system or application. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Instrumentation modeling&lt;/b&gt;. This involves capturing the instrumentation used to record the operations of a system or application. Instrumentation provides information to the operations team to increase understanding about how the application functions, and to diagnose problems with an application. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Health modeling&lt;/b&gt;. This involves defining what it means for a system or application to be healthy (operating normally) or unhealthy (operating in a degraded condition or not working at all). A health model represents logically the parts of an application or service the operations team is responsible for keeping operational. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Performance modeling&lt;/b&gt;. This involves capturing the expected baseline performance of an application. Performance counters can then be used to report and expose performance on an ongoing basis, and a monitoring tool can compare this performance to the expected performance. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Building Effective Health Models&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;An application is considered healthy if it is operating within a series of defined parameters. A number of factors may result in a change in application health, including the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Change in application configuration &lt;/li&gt;    &lt;li&gt;An application update &lt;/li&gt;    &lt;li&gt;A change in an external dependency &lt;/li&gt;    &lt;li&gt;A hardware change &lt;/li&gt;    &lt;li&gt;A network change &lt;/li&gt;    &lt;li&gt;Bad input to the application &lt;/li&gt;    &lt;li&gt;Scalability problems &lt;/li&gt;    &lt;li&gt;Operator error &lt;/li&gt;    &lt;li&gt;Change in deployment &lt;/li&gt;    &lt;li&gt;Malicious attack &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Steps to handle the problem&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Detect a problem. &lt;/li&gt;    &lt;li&gt;Verify that the problem still exists. &lt;/li&gt;    &lt;li&gt;Diagnose the cause(s) of the problem. &lt;/li&gt;    &lt;li&gt;Resolve the problem. &lt;/li&gt;    &lt;li&gt;Verify that the problem was resolved. &lt;/li&gt;    &lt;li&gt;[My addition] Log the incident and convert it into Knowledge Base gem. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/5d7032e04ef4_65E0/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="167" alt="image" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/5d7032e04ef4_65E0/image_thumb.png" width="467" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There are few key terms mentioned above - &amp;quot;Modeling&amp;quot;, &amp;quot;Design&amp;quot;, &amp;quot;Building&amp;quot;, &amp;quot;Maintain&amp;quot;, &amp;quot;Testing&amp;quot;. To me it is absolutely clear that Design For Operations is no different from Security Development Lifecycle or Performance Development Lifecycle. &amp;quot;Operations&amp;quot; is just another important non-functional requirement that needs to be taken throughout the whole development lifecycle to be successfully implemented and deployed in production. It had to be called Operations Development Lifecycle.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;My related posts&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/07/16/use-sysinternals-debugview-to-diagnose-the-application.aspx"&gt;Use Sysinternals DebugView To Diagnose The Application&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/05/02/asp-net-health-monitoring-means-logging-and-auditing.aspx"&gt;ASP.NET Health Monitoring Means Logging And Auditing&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/05/07/security-engineering-big-rocks.aspx"&gt;Security Engineering Big Rocks&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/04/27/threat-modeling-big-chunks.aspx"&gt;Threat Modeling Big Chunks&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/07/04/t-shooting-kerberos.aspx"&gt;T-Shooting Kerberos&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/04/03/who-access-my-file.aspx"&gt;Who Access My File?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/01/14/chain-of-responsibility-design-pattern-focus-on-security-performance-and-operations.aspx"&gt;Chain Of Responsibility Design Pattern &amp;#8211; Focus On Security, Performance, And Operations&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/11/02/identify-asp-net-web-services-and-wcf-performance-issues-by-examining-iis-logs.aspx"&gt;Identify ASP.NET, Web Services, And WCF Performance Issues By Examining IIS Logs&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/08/15/use-performance-counters-templates-to-streamline-performance-analysis.aspx"&gt;Use Performance Counters Templates To Streamline Performance Analysis&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7173960" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Planning+Phase/default.aspx">Planning Phase</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Operations/default.aspx">Operations</category></item><item><title>Create Your Own Guidance Explorer Items Inside Outlook 2007</title><link>http://blogs.msdn.com/alikl/archive/2008/01/10/create-your-own-guidance-explorer-items-inside-outlook-2007.aspx</link><pubDate>Thu, 10 Jan 2008 07:52:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7049633</guid><dc:creator>alikl</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alikl/comments/7049633.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=7049633</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=7049633</wfw:comment><description>&lt;p&gt;Want to create your own nuggets of wisdom? Want it to look and feel like patterns&amp;amp;practices nuggets of wisdom look and feel? Want to reuse it, mix and match with existing ones? It is easy and fast with Outlook 2007.&lt;/p&gt;  &lt;p&gt;I will show how I extend my knowledge base with a snap using Outlook 2007&amp;#8217;s Quick Parts feature and predefined item templates that come with &lt;a href="http://www.codeplex.com/guidanceExplorer" target="_blank"&gt;patterns&amp;amp;practices Guidance Explorer [GE]&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I must thank &lt;a href="http://blogs.microsoft.co.il/blogs/dorr/archive/2007/12/30/quick-tip-templates-for-e-mail-messages.aspx" target="_blank"&gt;Dor Rotman&lt;/a&gt; who pointed me to Quick Parts feature.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Summary of steps&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Step #1 &amp;#8211; Create Quick Parts templates&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Step #2 &amp;#8211; Compose new items based on the templates&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Step #3 &amp;#8211; Test your work&lt;/b&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Following section describes each step in details&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Step #1 &amp;#8211; Create Quick Parts templates.&lt;/b&gt; Start GE &amp;#8211; refer to &lt;a href="http://blogs.msdn.com/alikl/archive/2008/01/03/consume-patterns-practices-guidance-explorer-via-rss-using-outlook-2007.aspx"&gt;Consume patterns&amp;amp;practices Guidance Explorer Via RSS Using Outlook 2007&lt;/a&gt; for details. Right click on &amp;#8220;My Library&amp;#8221; node in the treevew on the left and choose &amp;#8220;Question and Answer&amp;#8221; template: &lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/CreateYourOwnGuidanceExplorerItemsInside_C12/clip_image002%5B4%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="298" alt="clip_image002[4]" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/CreateYourOwnGuidanceExplorerItemsInside_C12/clip_image002%5B4%5D_thumb.jpg" width="354" border="0" /&gt;&lt;/a&gt;       &lt;p&gt;Highlight entire text in the editor and copy it into clipboard [ctrl + C]. Switch to Outlook 2007. Click on any folder in the treeview. Press Ctrl + Shift + S to bring up new &amp;#8220;Post in This Folder&amp;#8221; and paste the text in the clipboard. Add attributes part to the end &amp;#8211; you can copy and paste it from existing GE items&lt;/p&gt;      &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/CreateYourOwnGuidanceExplorerItemsInside_C12/clip_image002%5B8%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="449" alt="clip_image002[8]" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/CreateYourOwnGuidanceExplorerItemsInside_C12/clip_image002%5B8%5D_thumb.jpg" width="323" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;      &lt;p&gt;While in the post, highlight the entire text [Ctrl + A] and click on Insert tab, then click on &amp;#8220;Quick Parts&amp;#8221; ribbon to expand it. Click &amp;#8220;Save Selection to Quick Part Gallery&amp;#8221; found in the bottom. Give it a name &amp;#8220;Question &amp;amp; Answer&amp;#8221;, create new category &amp;#8220;GE&amp;#8221; and hit OK to save it as a Quick Part template:&lt;/p&gt;      &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/CreateYourOwnGuidanceExplorerItemsInside_C12/clip_image006_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="194" alt="clip_image006" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/CreateYourOwnGuidanceExplorerItemsInside_C12/clip_image006_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;      &lt;p&gt;Close the post &amp;#8211; do not save it.&lt;/p&gt;      &lt;p&gt;Create few other templates following the procedure.&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Step #2 &amp;#8211; Compose new items based on the templates. &lt;/b&gt;Switch to Outlook 2007. Click on &amp;#8220;Guidance Explorer Library&amp;#8221; folder found in Favorites Folder [I assume you followed instructions in &lt;a href="http://blogs.msdn.com/alikl/archive/2008/01/03/consume-patterns-practices-guidance-explorer-via-rss-using-outlook-2007.aspx"&gt;Consume patterns&amp;amp;practices Guidance Explorer Via RSS Using Outlook 2007&lt;/a&gt;]. Press Ctrl + Shift + S to bring new &amp;#8220;Post in This Folder&amp;#8221;. In the Subject line type &amp;#8220;How To Call Police&amp;#8221;. Click on Insert tab and then click on &amp;#8220;Quick Parts&amp;#8221; ribbon to expand it. Locate &amp;#8220;Question &amp;amp; Answer&amp;#8221; quick part you just created in Step #1 and click it. The content of the part fills in into the body of the post. Modify it to your needs, make sure to update the category found under Attributes:       &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/CreateYourOwnGuidanceExplorerItemsInside_C12/clip_image002%5B10%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="483" alt="clip_image002[10]" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/CreateYourOwnGuidanceExplorerItemsInside_C12/clip_image002%5B10%5D_thumb.jpg" width="252" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;      &lt;p&gt;Press Ctrl + Enter to post it to the folder.&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Step #3 &amp;#8211; Test your work.&lt;/b&gt; Click on &amp;#8220;Security&amp;#8221; folder found in Favorite Folders, you should see the newly created item there:       &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/CreateYourOwnGuidanceExplorerItemsInside_C12/clip_image002%5B12%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="169" alt="clip_image002[12]" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/CreateYourOwnGuidanceExplorerItemsInside_C12/clip_image002%5B12%5D_thumb.jpg" width="425" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You&amp;#8217;ve just created new how-to item that is part of your own GE library managed inside Outlook 2007&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7049633" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Tools/default.aspx">Tools</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category></item><item><title>Consume patterns&amp;practices Guidance Explorer Via RSS Using Outlook 2007</title><link>http://blogs.msdn.com/alikl/archive/2008/01/03/consume-patterns-practices-guidance-explorer-via-rss-using-outlook-2007.aspx</link><pubDate>Fri, 04 Jan 2008 00:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6972310</guid><dc:creator>alikl</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/alikl/comments/6972310.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=6972310</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=6972310</wfw:comment><description>&lt;P&gt;patterns&amp;amp;practices recently released new version of &lt;A href="http://www.codeplex.com/guidanceExplorer/Release/ProjectReleases.aspx?ReleaseId=7150" target=_blank mce_href="http://www.codeplex.com/guidanceExplorer/Release/ProjectReleases.aspx?ReleaseId=7150"&gt;Guidance Explorer&lt;/A&gt; [GE]. One of the most important addition was enabling RSS on the online GE store. What does that mean? It means you can consume distilled security, performance, and Visual Studio wisdom in any RSS reader of your choice. It means you can leverage familiar environment to consume close to 4000 technical gold nuggets.&lt;/P&gt;
&lt;P&gt;This post describes how to set up RSS feed inside Outlook 2007 to read GE’s content.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Summary of steps&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;Step 1 – Download latest GE bits&lt;/B&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Step 2 – Create designated offline PST file&lt;/B&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Step 3 – Subscribe to GE’s RSS feed in Outlook 2007&lt;/B&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Step 4 – Test drive GE’s content using Outlook 2007&lt;/B&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Next section describes each step in detail&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;Step 1 – Download latest GE bits. &lt;/B&gt;Navigate to &lt;A href="http://www.codeplex.com/guidanceExplorer/Release/ProjectReleases.aspx?ReleaseId=7150" target=_blank mce_href="http://www.codeplex.com/guidanceExplorer/Release/ProjectReleases.aspx?ReleaseId=7150"&gt;GE’s releases page&lt;/A&gt; and review latest release notes. Also review &lt;A href="http://www.codeplex.com/guidanceExplorer/Wiki/View.aspx?title=FAQ%20-%20Release%2020071220" target=_blank mce_href="http://www.codeplex.com/guidanceExplorer/Wiki/View.aspx?title=FAQ%20-%20Release%2020071220"&gt;GE’s FAQ’s&lt;/A&gt;. Download latest release – it appears in upper right corner of the page. Extract downloaded zip file and navigate to bin folder. Double click GuidanceExplorer.exe file. GE appears on your screen. &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Step 2 – Create designated offline PST file. &lt;/B&gt;Switch to Outlook 2007. Open “Data File Management…” found in “File” menu. Click “Add…” in “Data Files” tab to create new PST file. Name it GE [or whatever you like]. Saving GE’s items in dedicated offline PST file will keep your Outlook’s online store from overflowing and it is easier to back up too. &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Step 3 – Subscribe to GE’s RSS feed in Outlook 2007.&lt;/B&gt; Switch to GE. Right click on “patterns &amp;amp; practices Library” node in GE and choose subscribe to RSS feed: &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesGuidanceExplorerExposes_7A24/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesGuidanceExplorerExposes_7A24/image_2.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=138 alt=image src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesGuidanceExplorerExposes_7A24/image_thumb.png" width=280 border=0 mce_src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesGuidanceExplorerExposes_7A24/image_thumb.png"&gt;&lt;/A&gt; &lt;BR&gt;Internet Explorer will open and will try to display the feed. Do not get scared by the message telling you that IE cannot show the feed as follows: &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesGuidanceExplorerExposes_7A24/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesGuidanceExplorerExposes_7A24/image_4.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=106 alt=image src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesGuidanceExplorerExposes_7A24/image_thumb_1.png" width=319 border=0 mce_src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesGuidanceExplorerExposes_7A24/image_thumb_1.png"&gt;&lt;/A&gt; &lt;BR&gt;Just grab the URL from the address bar – highlight it and copy it to clipboard [ctrl+C]. Switch to&lt;B&gt; &lt;/B&gt;Outlook 2007. Right click “RSS Subscriptions” node and choose “Add a New RSS Feed” as depicted below: &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesGuidanceExplorerExposes_7A24/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesGuidanceExplorerExposes_7A24/image_6.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=313 alt=image src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesGuidanceExplorerExposes_7A24/image_thumb_2.png" width=289 border=0 mce_src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesGuidanceExplorerExposes_7A24/image_thumb_2.png"&gt;&lt;/A&gt; &lt;BR&gt;Paste [ctrl+V] the URL from the clip board into the dialog and hit OK. Hit “Advanced…” button in the next dialog box and configure the feed to sore the items inside the newly created PST file: &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesGuidanceExplorerExposes_7A24/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesGuidanceExplorerExposes_7A24/image_10.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=243 alt=image src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesGuidanceExplorerExposes_7A24/image_thumb_4.png" width=284 border=0 mce_src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/patternspracticesGuidanceExplorerExposes_7A24/image_thumb_4.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Step 4 – Test drive GE’s content using Outlook 2007. &lt;/B&gt;After Outlook 2007 finishes downloading the items you can test drive familiar functionality such as instant searching or forwarding the items as an emails. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Heaven.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;My related posts&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/alikl/archive/2007/05/13/how-to-use-outlook-2007-rss-to-effectively-aggregate-and-distill-information.aspx" mce_href="http://blogs.msdn.com/alikl/archive/2007/05/13/how-to-use-outlook-2007-rss-to-effectively-aggregate-and-distill-information.aspx"&gt;How to Use Outlook 2007 RSS To Effectively Aggregate And Distill Information&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/alikl/archive/2007/05/21/generate-documents-out-of-mail-items-directly-from-outlook-2007.aspx" mce_href="http://blogs.msdn.com/alikl/archive/2007/05/21/generate-documents-out-of-mail-items-directly-from-outlook-2007.aspx"&gt;Generate Documents Out Of Mail Items Directly From Outlook 2007&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/alikl/archive/2007/03/26/security-net-code-inspection-using-outlook-2007.aspx" mce_href="http://blogs.msdn.com/alikl/archive/2007/03/26/security-net-code-inspection-using-outlook-2007.aspx"&gt;Security .Net Code Inspection Using Outlook 2007&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/alikl/archive/2007/05/15/back-up-back-up-back-up.aspx" mce_href="http://blogs.msdn.com/alikl/archive/2007/05/15/back-up-back-up-back-up.aspx"&gt;Back Up, Back Up, Back Up&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/alikl/archive/2007/04/12/my-pipeline-is-my-inbox.aspx" mce_href="http://blogs.msdn.com/alikl/archive/2007/04/12/my-pipeline-is-my-inbox.aspx"&gt;My Pipeline Is My Inbox&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Related materials&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/jmeier/archive/tags/Guidance+Explorer/default.aspx" target=_blank mce_href="http://blogs.msdn.com/jmeier/archive/tags/Guidance+Explorer/default.aspx"&gt;JD Meier on Guidance Explorer&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6972310" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Tools/default.aspx">Tools</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category></item><item><title>VS 2005 Web Application Project - Resources</title><link>http://blogs.msdn.com/alikl/archive/2007/12/05/vs-2005-web-application-project-resources.aspx</link><pubDate>Wed, 05 Dec 2007 10:29:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6663323</guid><dc:creator>alikl</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alikl/comments/6663323.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=6663323</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=6663323</wfw:comment><description>&lt;p&gt;It is a bundle of resources for &lt;strong&gt;VS 2005 Web Application Project feature&lt;/strong&gt;. It should explain its advantages and differences over Web Site Project that was introduced in VS 2005 and not available in VS 2003&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2006/05/08/445742.aspx" target="_blank"&gt;VS 2005 Web Application Project V1.0 Released&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa730880.aspx" target="_blank"&gt;Introduction to Web Application Projects&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://webproject.scottgu.com/CSharp/Migration/Migration.aspx" target="_blank"&gt;Upgrading VS 2003 Web Projects to be VS 2005 Web Application Projects&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6663323" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category></item><item><title>Use DIR Command To Generate List Of Files And Store It In File</title><link>http://blogs.msdn.com/alikl/archive/2007/12/01/use-dir-command-to-generate-list-of-files-and-store-it-in-file.aspx</link><pubDate>Sat, 01 Dec 2007 17:16:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6631017</guid><dc:creator>alikl</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/alikl/comments/6631017.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=6631017</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=6631017</wfw:comment><description>&lt;div class="pullquote_right"&gt;DIR /S /B /A:-D&lt;/div&gt;I use simple DIR command to generate file lists. It serves me in many scenarios. For example, I use it to generate .Net assemblies list when I conduct preliminary scan as part of &lt;a href="http://blogs.msdn.com/alikl/archive/tags/Code+Inspection/default.aspx"&gt;code inspection&lt;/a&gt; process. Here are the explanations to the switches:  &lt;ul&gt; &lt;li&gt;/S - search sub folders  &lt;li&gt;/B - bare format, no summaries and headings  &lt;li&gt;/A:-D - no directories, files only&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;To save generated list of files into text file simply add &amp;gt;C:\myfileslist.txt. The resulting command would look as follows:&lt;/p&gt; &lt;p&gt;DIR /S /B /A:-D *.DLL &amp;gt;C:\myfileslist.txt&lt;/p&gt; &lt;p&gt;&lt;strong&gt;My related posts:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/03/26/security-net-code-inspection-using-outlook-2007.aspx"&gt;Security .Net Code Inspection Using Outlook 2007&lt;/a&gt;  &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/03/31/security-code-inspection-eternal-search-for-sql-injection.aspx"&gt;Security Code Inspection - Eternal Search For SQL Injection&lt;/a&gt;  &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/03/20/code-inspection-first-look-for-what-to-look-for.aspx"&gt;Code Inspection - First Look For What To Look For&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6631017" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Test+Phase/default.aspx">Test Phase</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Code+Inspection/default.aspx">Code Inspection</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category></item></channel></rss>