<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-330508899710115471</atom:id><lastBuildDate>Mon, 30 Jan 2012 21:10:10 +0000</lastBuildDate><category>SharePoint</category><category>Agile/Methodology</category><category>Common Sense</category><category>Architecture</category><category>News</category><category>Events/Conferences</category><category>Tips/Tools</category><title>From fragile to agile....</title><description>Talk about software architecture, patterns and development methodologies and the challenges being faced in their adoption.</description><link>http://hassansyed.blogspot.com/</link><managingEditor>noreply@blogger.com (Hassan)</managingEditor><generator>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/blogspot/fmQD" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="blogspot/fmqd" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-5032867495438049000</guid><pubDate>Tue, 15 Mar 2011 02:23:00 +0000</pubDate><atom:updated>2011-03-15T13:30:09.169+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tips/Tools</category><category domain="http://www.blogger.com/atom/ns#">SharePoint</category><title>SharePoint 2010 Health Checking and Monitoring</title><description>You might be fully aware that health checking and monitoring are among the areas where SharePoint 2010 has improved a lot from it predecessor MOSS 2007.&lt;br /&gt;&lt;br /&gt;I am just summarising here my google search on SP 2010 monitoring, with the links that I have found useful&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Thinking about get report output generated through powershell?&lt;/strong&gt;&lt;br /&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;span style="font-family:Calibri;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;o:p&gt;&lt;span style="font-family:Calibri;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="FONT-FAMILY: 'Verdana', 'sans-serif'; COLOR: black; FONT-SIZE: 8.5pt"&gt;"You cannot use Windows PowerShell to view health report data.&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/ee663478.aspx"&gt;&lt;span style="font-family:Calibri;color:#0000ff;"&gt;http://technet.microsoft.com/en-us/library/ee663478.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family:Calibri;"&gt; "&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/o:p&gt; &lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;nice article that summaries monitoring using OOTB SP 2010 tools &lt;/span&gt;&lt;a href="http://www.packtpub.com/article/microsoft-sharepoint-2010-administration-monitoring-and-reporting"&gt;&lt;span style="font-family:Calibri;color:#0000ff;"&gt;http://www.packtpub.com/article/microsoft-sharepoint-2010-administration-monitoring-and-reporting&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family:Calibri;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;strong&gt;So in the end what you can do through powershell&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1" class="MsoListParagraph"&gt;&lt;span style="mso-fareast-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="font-family:Calibri;"&gt;-&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;Configure the health analyser jobs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1" class="MsoListParagraph"&gt;&lt;span style="mso-fareast-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="font-family:Calibri;"&gt;-&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;Run the jobs&lt;span style="COLOR: #1f497d"&gt; - &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.sharepointusecases.com/index.php/2010/10/run-all-sharepoint-2010-health-rules-now/"&gt;&lt;span style="font-family:Calibri;color:#0000ff;"&gt;http://www.sharepointusecases.com/index.php/2010/10/run-all-sharepoint-2010-health-rules-now/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;And then ask the user to grab the reports from the central admin&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family:Calibri;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;This is what SharePoint provides out of the box&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family:Calibri;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;strong&gt;What SCOM provides&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="LINE-HEIGHT: 14.25pt; MARGIN: 0cm 0cm 9.6pt" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: 'Segoe UI', 'sans-serif'; COLOR: #4e4e4e; FONT-SIZE: 10pt; mso-fareast-language: EN-AU"&gt;The SharePoint 2010 Products Management Pack (MP) is built to detect, diagnose, and alert on software and hardware incidents discovered by agents installed on SharePoint machines.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="LINE-HEIGHT: 14.25pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 30pt; mso-list: l1 level1 lfo2; tab-stops: list 36.0pt" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: Symbol; COLOR: #4e4e4e; FONT-SIZE: 10pt; mso-fareast-font-family: Symbol; mso-fareast-language: EN-AU; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Segoe UI', 'sans-serif'; COLOR: #4e4e4e; FONT-SIZE: 10pt; mso-fareast-language: EN-AU"&gt;Health monitoring of SharePoint Server 2010, Project Server 2010, Search Server 2010, and Office Web Apps&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="LINE-HEIGHT: 14.25pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 30pt; mso-list: l1 level1 lfo2; tab-stops: list 36.0pt" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: Symbol; COLOR: #4e4e4e; FONT-SIZE: 10pt; mso-fareast-font-family: Symbol; mso-fareast-language: EN-AU; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Segoe UI', 'sans-serif'; COLOR: #4e4e4e; FONT-SIZE: 10pt; mso-fareast-language: EN-AU"&gt;Monitors Events and Services and alerts when service outages are detected&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="LINE-HEIGHT: 14.25pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 30pt; mso-list: l1 level1 lfo2; tab-stops: list 36.0pt" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: Symbol; COLOR: #4e4e4e; FONT-SIZE: 10pt; mso-fareast-font-family: Symbol; mso-fareast-language: EN-AU; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Segoe UI', 'sans-serif'; COLOR: #4e4e4e; FONT-SIZE: 10pt; mso-fareast-language: EN-AU"&gt;Monitors Performance and warns users when SharePoint performance is at risk&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="LINE-HEIGHT: 14.25pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 30pt; mso-list: l1 level1 lfo2; tab-stops: list 36.0pt" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: Symbol; COLOR: #4e4e4e; FONT-SIZE: 10pt; mso-fareast-font-family: Symbol; mso-fareast-language: EN-AU; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Segoe UI', 'sans-serif'; COLOR: #4e4e4e; FONT-SIZE: 10pt; mso-fareast-language: EN-AU"&gt;Forwards users to up-to-date TechNet knowledge articles&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family:Calibri;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;A nice video from Brian farnhill, very nice  &lt;/span&gt;&lt;a href="http://www.screencast.com/users/BrianFarnhill/folders/Default/media/3f9f1d6e-4678-4666-88e6-25765f2a7b64"&gt;&lt;span style="font-family:Calibri;color:#0000ff;"&gt;http://www.screencast.com/users/BrianFarnhill/folders/Default/media/3f9f1d6e-4678-4666-88e6-25765f2a7b64&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;strong&gt;You need more?&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family:Calibri;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;o:p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;span style="COLOR: #1f497d"&gt;&lt;span style="font-family:Calibri;"&gt;One more thing that can be done (looks beyond the scope of engagement but for future reference) is creating custom health check rules. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;a href="http://www.wictorwilen.se/Post/Custom-Health-Rule-for-SharePoint-2010-that-checks-for-Debug-build-assemblies.aspx"&gt;&lt;span style="font-family:Calibri;color:#0000ff;"&gt;http://www.wictorwilen.se/Post/Custom-Health-Rule-for-SharePoint-2010-that-checks-for-Debug-build-assemblies.aspx&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family:Calibri;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;Probably you won’t create the rules, but prefer to wait till they appear on codeplex or as a separate product&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt; &lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;strong&gt;Manual Review of SP 2010 Deployment&lt;/strong&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;And lastly youmight need to do a manual review against the sp2010 planning  best practices, to analyse if they have planned the servers/services right (logically to meet the business needs)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family:Calibri;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;Hope it would help&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-5032867495438049000?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2011/03/sharepoint-2010-health-checking-and.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-8797792243029214819</guid><pubDate>Wed, 17 Mar 2010 01:14:00 +0000</pubDate><atom:updated>2010-03-19T09:11:11.281+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Events/Conferences</category><title>Microsoft MIX10: Silverlight 4 and Windows Phone 7 full video demos</title><description>A nice 2 hours long video with demos and Scott Gu!&lt;br /&gt;Though I am scrathcing my head, Silverlight 4 RC is out and Blend 4 is on its way where we have just got our hands on Silverlight 3 and blend 3,  either Microsoft didn't plan it well or they are too agressive, too agile.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.product-reviews.net/2010/03/16/microsoft-mix10-windows-phone-7-and-silverlight-4-video-demos-in-full/"&gt;http://www.product-reviews.net/2010/03/16/microsoft-mix10-windows-phone-7-and-silverlight-4-video-demos-in-full/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;"&lt;br /&gt;&lt;em&gt;"For all of you who missed Microsoft’s keynote speeches at their MIX10 event in Las Vegas this week, it is good news – as we have the entire video to show you, detailing key features for Windows Phone 7, as well as Silverlight 4.""&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-8797792243029214819?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2010/03/microsoft-mix10-silverlight-4-and.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-3582173104283100595</guid><pubDate>Sun, 14 Mar 2010 23:07:00 +0000</pubDate><atom:updated>2010-03-15T10:07:38.909+11:00</atom:updated><title>SharePoint 2010 | Office 2010- Live Launch event on May 12</title><description>&lt;strong&gt;From &lt;/strong&gt;&lt;a href="http://sharepoint.microsoft.com/businessproductivity/proof/pages/2010-launch-events.aspx#fbid=LnzihnT2_9i"&gt;&lt;strong&gt;Microsoft Official Sharepoint Site&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="DISPLAY: inline" id="ctl00_PlaceHolderMain_Content__ControlWrapper_RichHtmlField"&gt;&lt;p&gt;&lt;em&gt;Watch Stephen Elop, President of the Microsoft Business Division, announce the launch of Office 2010 and SharePoint 2010 on May 12, 2010 at 11 a.m. EST. The live keynote focuses on the next wave of productivity that delivers:&lt;/em&gt;&lt;/p&gt;&lt;ul class="bodyLists"&gt;&lt;li&gt;&lt;em&gt;End user productivity across the PC, phone and browser &lt;/em&gt;&lt;li&gt;&lt;em&gt;IT choice and flexibility &lt;/em&gt;&lt;li&gt;&lt;em&gt;A platform for developers to build innovative solutions &lt;/em&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;em&gt;Join the virtual launch event with Microsoft executives, product developers, partners and customers to:&lt;/em&gt;&lt;/p&gt;&lt;ul class="bodyLists"&gt;&lt;li&gt;&lt;em&gt;Find out how peers and partners are already seeing benefits to their business by leveraging the next wave of productivity. &lt;/em&gt;&lt;li&gt;&lt;em&gt;Submit your questions through live Q&amp;amp;A. &lt;/em&gt;&lt;li&gt;&lt;em&gt;Participate via blogs, tweets, social media networks, commenting, and more.&lt;/em&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;em&gt;View on-demand breakout sessions showing how Office 2010 and SharePoint 2010 meet the unique challenges people and businesses are faced with today, and provide the solutions they need for tomorrow.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Save the Date: Microsoft Office + SahrePoint Launch Event&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://download.microsoft.com/download/0/5/F/05FF69ED-6F8F-4357-863B-12E27D6F1115/Stephen_Elop_Live_Launch_2010_Keynote.ics"&gt;&lt;em&gt;Add to your outlook&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-3582173104283100595?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2010/03/sharepoint-2010-office-2010-live-launch.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-8265220034233211214</guid><pubDate>Sat, 23 Jan 2010 05:38:00 +0000</pubDate><atom:updated>2010-01-23T16:38:06.466+11:00</atom:updated><title>Writing Software Requirements Specifications | A Technical Communication Community</title><description>I like to share this very nice article on writing requirement specifications, reading that was like a taking a step back and think again&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.techwr-l.com/techwhirl/magazine/writing/softwarerequirementspecs.html"&gt;Writing Software Requirements Specifications  A Technical Communication Community&lt;/a&gt;: "Writing Software Requirements Specifications&lt;br /&gt;by Donn Le Vie, Jr.&lt;br /&gt;&lt;em&gt;Here's the scenario: You're finishing up your latest HTML Help project...no more late nights or weekends...back to a 'normal' 50-hour work week. That's when the development team lead strolls into your office and says she just got your manager's okay for you to help the development team 'put together the functional requirements specification template for the next major project.'............."&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-8265220034233211214?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2010/01/writing-software-requirements.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-8725387779865530108</guid><pubDate>Sun, 17 Jan 2010 22:54:00 +0000</pubDate><atom:updated>2010-01-18T09:54:03.971+11:00</atom:updated><title>Creating virtual image of your PC using disk2vhd and SunVirtualBox</title><description>&lt;p&gt;&lt;strong&gt;Why do we need to create an image?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;When we take the backups we normally do it by copying the data to some external storage. However, we know very well that it is not only data that is critical to us. Our complete PC, with OS and applications installed is the working environment that we need to carry on our work in addition to data. There is an easy way to create the virtual backup of your machine so that you can use that image on any machine and get your complete working environment back in no time. Also if you need to get another developer on the project you can create a standard dev machine image.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What do we need&amp;#160; ?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;1. Microsoft Disk2vhd &lt;a href="http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx"&gt;http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2. Sun VirtualBox &lt;a href="http://www.virtualbox.org/"&gt;http://www.virtualbox.org/&lt;/a&gt; (Recommended, required for 64 bit machines)&lt;/p&gt;  &lt;p&gt;OR Microsoft Virtual PC &lt;a href="http://www.microsoft.com/windows/virtual-pc/"&gt;http://www.microsoft.com/windows/virtual-pc/&lt;/a&gt; (doesn’t support 64 bit windows)&lt;/p&gt;  &lt;p&gt;3. External hard disk (with free space equivalent to you machines used disk space)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Steps:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;1. Create Virtual image using Disk2Vhd. Either do it from command prompt or through UI. Remember to ensure that your external drive is formatted on NTFS otherwise it will not create more than 4GB file. For my 67 GB image it took around 2 hours to create the file on external drive. Also if you gave got other virtual images on your PC’s drive then better backup them manually from your machine hard disk to external hard disk in order to keep the back up image size small. I wonder if we can get an option in Disk2Vhd to select the files/folders that we want to be excluded from the image.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Command Line Usage&lt;/u&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt; Disk2vhd includes command-line options that enable you to script the creation of VHDs. &lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Specif the volumes you want included in a snapshot by drive letter (e.g. c:) or use &amp;quot;*&amp;quot; to include all volumes.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Usage: &lt;b&gt;diskvhd &amp;lt;[drive: [drive:]...]|[*]&amp;gt; &amp;lt;vhdfile&amp;gt;&lt;/b&gt;      &lt;br /&gt;Example: &lt;b&gt;disk2vhd * c:\vhd\snapshot.vhd&lt;/b&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;u&gt;User Interface&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_RrIGgmCdaSo/S1OVALc9gDI/AAAAAAAAAfs/MbcmcyeVpmw/s1600-h/ee656415_Disk2vhd_1_4r%28en-us%2CMSDN_10%29%5B2%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="ee656415_Disk2vhd_1_4r(en-us,MSDN_10)" border="0" alt="ee656415_Disk2vhd_1_4r(en-us,MSDN_10)" src="http://lh5.ggpht.com/_RrIGgmCdaSo/S1OVBNhlhCI/AAAAAAAAAfw/KkjhWxleMbE/ee656415_Disk2vhd_1_4r%28en-us%2CMSDN_10%29_thumb.png?imgmax=800" width="244" height="196" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;2. Once the image is taken then you can run Sun VirtualBox and create a new virtual machine. Select the right parameters (like the operating system of your original machine) and allocate enough RAM (at least 50% of the original machine). Now you just need to start the machine. With Sun VirtualBox you do not need to worry about creating loopback connections as we do in MS VirtualPC. As soon as your virtual machine comesup it will be able to start using the network connection of the host to access internet.&lt;/p&gt;  &lt;p&gt;Here is the image of my own machine running on the original machine.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_RrIGgmCdaSo/S1OVB66630I/AAAAAAAAAf0/r0VR1b0RWS4/s1600-h/machine%20into%20machine%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="machine into machine" border="0" alt="machine into machine" src="http://lh4.ggpht.com/_RrIGgmCdaSo/S1OVCS33PqI/AAAAAAAAAf4/gw2zUumk2cM/machine%20into%20machine_thumb%5B1%5D.jpg?imgmax=800" width="428" height="274" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-8725387779865530108?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2010/01/creating-virtual-image-of-your-pc-using.html</link><author>noreply@blogger.com (Hassan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_RrIGgmCdaSo/S1OVBNhlhCI/AAAAAAAAAfw/KkjhWxleMbE/s72-c/ee656415_Disk2vhd_1_4r%28en-us%2CMSDN_10%29_thumb.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-2878346492035188813</guid><pubDate>Thu, 18 Jun 2009 05:35:00 +0000</pubDate><atom:updated>2009-06-18T15:36:15.181+10:00</atom:updated><title>Bing it or Bung it? Google it.</title><description>&lt;p&gt;&lt;strong&gt;Yes it is beta but…..&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This is in continuation of &lt;a href="http://hassansyed.blogspot.com/2009/05/kumo-bing-can-it-take-on-google.html"&gt;my previous post&lt;/a&gt;. Although Bing it is still in Beta but it really surprises me how could Microsoft release such a half cooked product. As I understand beta version means a software that has been tested internally, found stable,&amp;#160; worked as required and released as beta so that if some something missed from the testing team could be captured by early users. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;the test,&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;1. Search mvc.net 1.0 in Bing and Google, search results look ok (better than Live Search), &lt;a href="http://hassansyed.blogspot.com/2009/05/kumo-bing-can-it-take-on-google.html"&gt;see my previous post&lt;/a&gt; on Google and live search comparison&lt;/p&gt;  &lt;p&gt;2. Frequently when I search technical stuff I go straight to images to find an architectural document as ‘ a picture is worth thousand words’. So I did the same in Bing and Google and my jaw dropped – () .&lt;/p&gt;  &lt;p&gt;3. I searched for ‘Mvc.net 1.0’. Bing came with only three images, not relevant to search, while Google came with 1470 very relevant images. Clicked on Video &amp;amp; news, not result found in Bing, Google came with loads of videos as well as relevant news items. &lt;/p&gt;  &lt;p&gt;4. To make it easy , modified the search to just ‘mvc.net’ , images came in greater number but more than 90% irrelevant while Google came with about 90% relevant!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Sorry Bing,&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;For search engine war, Microsoft can’t win with their old strategy of ‘Early to market &lt;em&gt;&lt;u&gt;with bugs’&lt;/u&gt; . &lt;/em&gt;They could win with products like Office, windows and SharePoint etc where there is not that stiff competition but taking on Google Search is something different. So I still go for ‘Google it’&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-2878346492035188813?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2009/06/bing-it-or-bung-it-google-it.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-5764139472036833967</guid><pubDate>Wed, 20 May 2009 23:48:00 +0000</pubDate><atom:updated>2009-05-21T17:29:16.359+10:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">News</category><title>KUMO (BING), Can it take on Google?</title><description>&lt;strong&gt;the latest,&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Microsoft is expected to show the first preview of its new search engine BING code named &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Kumo&lt;/span&gt; next week.&lt;br /&gt;&lt;br /&gt;From very brief details available online it looks that it is going to fix a basic shortcoming (when compared with google) i.e. search results categorization. Also at the moment google shows up the results with images and videos for your search while Live Search doesn't .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Following is a brief summary from &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;eweek&lt;/span&gt;.com &lt;a href="http://www.eweek.com/c/a/Search-Engines/Microsoft-to-Unveil-Kumo-a-New-Search-Engine-432673/"&gt;Microsoft to Unveil &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Kumo&lt;/span&gt;, a New Search Engine&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;"&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Kumo&lt;/span&gt; will organize search results in an efficient way, grouping them into sub-categories, and represents an upgrade from Microsoft’s Live Search. For example, if you do a search of "Audi S8," it will feed back results categorized under "Audi S8 Parts," "Used Audi S8," "Top images for Audi S8," and "Top video for Audi S8." In theory, this will result in faster searches, sparing the community from having to sort on their own through pages of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;ungrouped&lt;/span&gt; hyperlinks. Microsoft has been testing the search engine internally for months, according to several different published reports. &lt;/span&gt;"&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After reading the news I asked myself 'Why do I like Google?' The first immediate answer was its interface was so simple and came out with that simplicity when the other search engines home pages were loaded with tons of crap (news, weather, sports, entertainment etc).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;how google search differs from live search?&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;I spotted few differences when I ran a search for 'asp.net &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;mvc&lt;/span&gt;'. There is one &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;serious&lt;/span&gt; issue with live search that could be spotted very quickly. Both Google and Live search came with similar results but the description of the search results were totally different. Where google was showing the text that was related to the search context, Live search was showing the site description instead. Of course I do not need to see the description of the site as whole, I am more interested to see if there is something promising enough for me in the site making me click and open the web page. This alone is enough for me in &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;preferring&lt;/span&gt; google over Microsoft Live search, lets wait and see if they have fixed this in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;KUMO or not&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;see yourself,&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5338063620863645330" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 315px; CURSOR: hand; HEIGHT: 266px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_RrIGgmCdaSo/ShSclLYDVpI/AAAAAAAAAfg/3kbXmy7y7CM/s320/asp+net+mvc+google.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5338063076324895698" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 352px; CURSOR: hand; HEIGHT: 278px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_RrIGgmCdaSo/ShScFez5a9I/AAAAAAAAAfY/aqM5ejuwRyY/s320/asp+net+mvc+live.jpg" border="0" /&gt;&lt;br /&gt;Further more, from &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;aesthetic&lt;/span&gt; point of view, leaving space on left side as blank in Live search results page doesn't look good to eyes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-5764139472036833967?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2009/05/kumo-bing-can-it-take-on-google.html</link><author>noreply@blogger.com (Hassan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_RrIGgmCdaSo/ShSclLYDVpI/AAAAAAAAAfg/3kbXmy7y7CM/s72-c/asp+net+mvc+google.jpg" height="72" width="72" /><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-7667602692585755245</guid><pubDate>Mon, 18 May 2009 02:14:00 +0000</pubDate><atom:updated>2009-05-18T12:20:51.047+10:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Common Sense</category><title>Software development - A to Z</title><description>&lt;span style="font-size:130%;"&gt;&lt;span style="font-style: italic;"&gt;A picture is worth a thousand words&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/OfgfnZZdMlI&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/OfgfnZZdMlI&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-7667602692585755245?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2009/05/software-development-to-z.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-1842666960549318782</guid><pubDate>Tue, 05 May 2009 05:40:00 +0000</pubDate><atom:updated>2009-05-07T13:59:25.810+10:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tips/Tools</category><category domain="http://www.blogger.com/atom/ns#">Architecture</category><title>MIX09 - Its all about Silverlight</title><description>&lt;div&gt; &lt;/div&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;MIX09 - Keynote&lt;/span&gt;,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I recently watched Scott Gu's keynote speach at MIX09 conference (called MIX because its audience are a mix of designers and developers). I found it informative and interesting. Here you can watch it &lt;a href="http://videos.visitmix.com/MIX09/KEY01"&gt;MIX09 Keynote&lt;/a&gt;, or &lt;a href="http://arstechnica.com/microsoft/news/2009/03/mix09-roundup-of-first-keynote-announcements.ars"&gt;click here &lt;/a&gt;for a quick roundup&lt;br /&gt;&lt;div&gt; &lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;what is all about?&lt;/span&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Intros and demos, mostly around Silverlight and related technologies&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt; &lt;/div&gt;brief list of topcs:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Advancing User Experiences ASP.Net MVC 1.0&lt;/li&gt;&lt;br /&gt;&lt;li&gt;ASP.Net 2.0 &amp;amp; VS 2010&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Expression Web 3 (with &lt;a href="http://blogs.msdn.com/xweb/archive/2009/03/18/Microsoft-Expression-Web-SuperPreview-for-Windows-Internet-Explorer.aspx"&gt;Superpreview &lt;/a&gt;demo and it was really superb)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/616/introducing-the-microsoft-web-platform-installer/"&gt;Microsoft Web Platform Installer&lt;/a&gt; (nice handy tool to get downloads from &lt;a href="http://www.microsoft.com/web/gallery/"&gt;Web application gallery&lt;/a&gt; from a single window)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://silverlight.net/getstarted/silverlight3/default.aspx"&gt;Silverlight 3&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ul&gt;&lt;li&gt; &lt;span style="font-style: italic;"&gt;Netflix demo&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="font-style: italic;"&gt;   Smooth video streaming, bitrate throttling&lt;br /&gt;&lt;/li&gt;&lt;li style="font-style: italic;"&gt;   Beijing 2008 Olympics and Silverlight&lt;br /&gt;&lt;/li&gt;&lt;li style="font-style: italic;"&gt;   WorldWide telescope (just got mentioned but I love it &lt;a href="http://www.worldwidetelescope.org/"&gt;ttp://www.worldwidetelescope.org&lt;/a&gt;)&lt;br /&gt;&lt;/li&gt;&lt;li style="font-style: italic;"&gt;    40k smaller than silverlight 2&lt;br /&gt;&lt;/li&gt;&lt;li style="font-style: italic;"&gt;StackOverflow website (not that impressed though)&lt;br /&gt;&lt;/li&gt;&lt;li style="font-style: italic;"&gt;&lt;a href="http://electricbeach.org/?p=145"&gt;Sketchflow&lt;/a&gt; :&lt;a href="http://www.microsoft.com/expression/try-it/blendpreview.aspx"&gt; Expression Blend 3&lt;/a&gt; (Impressive for creating quick demo for analysis and design purposes, love it), export sketches to word document !!, integration with Adobe tools, Advanced graphics and lot more&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;MIX09 Videos&lt;/span&gt;,&lt;br /&gt;&lt;a href="http://videos.visitmix.com/MIX09/All"&gt;Complete list of MIX09 sessions and videos&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;a tip,&lt;/span&gt;&lt;br /&gt;If you are installing Silverlight 3 then better removew all previous versions of Silverlight and first install VS2008 SP1 otherwise you may have a lot of trouble in installing Silverlight 3.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-1842666960549318782?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2009/05/mix09-its-all-about-silverlight.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-4804204187226936562</guid><pubDate>Mon, 03 Nov 2008 01:49:00 +0000</pubDate><atom:updated>2011-06-23T09:59:38.325+10:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tips/Tools</category><category domain="http://www.blogger.com/atom/ns#">Architecture</category><title>WCF Performance: Don't take it for granted</title><description>&lt;p&gt;&lt;strong&gt;Conclusion first,&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Our Challenge: 300 user base, when users execute complex search queries that will go through wcf services and for that our db would take more time than usual in executing the searches then other users will experience significant delays while interacting with the system. They will get web service calls timing out but you find CPU, RAM and other hardware resources were underutilized on IIS and DB box.&lt;/p&gt;&lt;p&gt;Solution: &lt;/p&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;By default WCF can't serve more than a limited number of concurrent users or requests. OUT of box WCF comes with conservative performance settings and in most of the cases you will have to tune WCF services yourself. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;the key parameters that are to be set in services config file&lt;/p&gt;&lt;pre&gt;&amp;lt;serviceThrottling maxConcurrentCalls="Integer"&lt;br /&gt;   maxConcurrentInstances="Integer"&lt;br /&gt;   maxConcurrentSessions="Integer" /&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Following values should give you a good performance boost, you can even go beyond 10000 but you sould perform som load testing to see if you have got enough CPU and RAM to support.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;serviceThrottling maxConcurrentCalls="3000"&lt;br /&gt;   maxConcurrentInstances="3000"&lt;br /&gt;   maxConcurrentSessions="3000" /&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;basic http bindings for WCF web services provide almost double the performance as compared to secure http bindings &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;strong&gt;MS products, ready to use:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;We developed the application based on WCF web services but didn't realize that we should be thinking of tuning WCF before going into production, we took it for granted that things would go normal as they used to do with other ms products (like .net runtimes, IIS etc) simply because we did not have a very large user base but what we did not know was that WCF came out of box tuned for a very limited set of users.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;the key config parameters ,&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;if your application is running in an environment where WCF services perform some blocking operation (because of some dependency on external processes like db or file read/write operations ) then you should consider setting the following parameters appropriately in the services config file.&lt;/p&gt;&lt;h6&gt;&amp;lt;serviceThrottling maxConcurrentCalls="Integer" maxConcurrentInstances="Integer" maxConcurrentSessions="Integer" /&amp;gt;&lt;/h6&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:78%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Me and my mate Merill worked together on this task and he was the first who detailed what we did in his blog, so instead of duplicating I refer to his post, check this nice article &lt;a title="http://merill.net/post/2008/10/WCF-Performance-Optimization-Tips.aspx" href="http://merill.net/post/2008/10/WCF-Performance-Optimization-Tips.aspx"&gt;http://merill.net/2008/10/wcf-performance-optimization-tips&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Stay tuned,&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;However beside tuning WCF, I have learned another lesson. The degrade in performance might not due to a single factor but may be a combination of factors when combined give rise to the problem. Trying fixes one by one might not give you a success, leaving you scratching your head. My next blog will on how to attack a slow performing application and what to look for &amp;amp; where, so stay tuned.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-4804204187226936562?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2008/11/wcf-performance-don-take-it-for-granted.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-3224204032004600906</guid><pubDate>Mon, 30 Jun 2008 05:47:00 +0000</pubDate><atom:updated>2008-07-01T10:21:08.790+10:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile/Methodology</category><title>Bridging the gap: Business and IT</title><description>We know the people who give requirements called 'Business' and the people who develop the requirements the 'Developers'. Also we &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;know&lt;/span&gt; that there is another group of people who work as coordinators among these two groups and called 'Analysts'.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;The challenge,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;analysts&lt;/span&gt; the major challenge is to make both 'business' and 'developers' happy. They deal with the people who want to stick with their guns and hard to change their &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;opinions&lt;/span&gt;. Business just believe in getting whatever they want 'somehow' and Developer whatever they 'understand' to deliver is to deliver with the technology they know the best. The analysts have to master the art of communicating to both the groups in their own language.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;What happens in the real world,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Analysts might come from one of two backgrounds; IT developers with strong communication and problem solving skills or Business people with strong management and understanding skills.&lt;br /&gt;&lt;br /&gt;A successful analyst would be the person who attempts to see the picture from the other side.&lt;br /&gt;Limiting the focus to the areas they know best do not deliver the results.&lt;br /&gt;&lt;br /&gt;For instance, an analyst with background in business may attempt to force the development team to cut the crap ("methodology and processes") and deliver fast. On the other hand an analyst with expertise in IT may try to focus more on technical solution (tools and technology and methodology) than functional solution (the process and achieving the value), stressing the quality of the software.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;recipe&lt;/span&gt; for success,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;DOs&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Realistic&lt;/li&gt;&lt;li&gt;Quality of software and processes does matter&lt;/li&gt;&lt;li&gt;Business people needs solution to their business problems&lt;/li&gt;&lt;li&gt;Developers want clarity so remove ambiguity from requirements as much as possible&lt;/li&gt;&lt;li&gt;Business is more interested in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;functional&lt;/span&gt; solution then technical design so give them the only part they are interested in. &lt;/li&gt;&lt;li&gt;Speedy communication is the key to success&lt;/li&gt;&lt;li&gt;For everything, coming from developer or business, ask again and again 'Does it make sense?'&lt;/li&gt;&lt;li&gt;Be flexible but Quality Does Matter!&lt;/li&gt;&lt;li&gt;Learn how to understand people, deal with each person (technical or business) with the way they should be&lt;/li&gt;&lt;li&gt;Understand the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;environment&lt;/span&gt;, the people, the context and the people. Every place is different so modify your approach but always make it goal driven.&lt;/li&gt;&lt;li&gt;Be agile, embrace changes and &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;updates&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;DON'Ts&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Avoid attempting to be 100% clear on requirements , business will never (and they can't) give you. Make assumptions, take decisions and move forward with an acceptable margin of error&lt;/li&gt;&lt;li&gt;- Avoid stressing too much on &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;technical&lt;/span&gt; quality when it will deliver no value, making process too difficult to follow and creating a pile of documentation which no one would be &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_10"&gt;interested&lt;/span&gt; in reading.&lt;/li&gt;&lt;li&gt;Don't rush to get something done with half cooked requirement. you might have to scrap the whole work and do it again. In IT delivering a software with 95% functionality working means having bugs around 5% mark, too high!.&lt;/li&gt;&lt;li&gt;Get out of your shell, your background (IT or business) is your strength, don't make it a constraint&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Just a link,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;http://www.requirementssolutions.com/Business_Analysis_Skills_Test.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-3224204032004600906?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2008/06/bridging-gap-business-and-it.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-5761705763037524261</guid><pubDate>Fri, 06 Jun 2008 04:05:00 +0000</pubDate><atom:updated>2008-06-06T14:40:56.444+10:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Common Sense</category><title>Back to life</title><description>Back to business after almost two months, at work life goes as usual, another project after another,but personal life has been changed completely, got married to a beautiful girl, came with her to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Aus&lt;/span&gt;(yes we made it together!), just got the keys of our new home (moving very soon!) and last (but not the least!) will going to have someone soon who will call me Daddy! (what a feeling!)&lt;br /&gt;&lt;br /&gt;So what should I write now? still IT thoughts are trying to make their way into my mind but with not much success&lt;br /&gt;&lt;br /&gt;What if we map our lives to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;Software&lt;/span&gt; life cycle? how it would look like? I always love such analogies, they give some interesting knowledge bits, let you look at life from a different angle&lt;br /&gt;&lt;br /&gt;We born to our parents,&lt;br /&gt;*    software born to business users and development team,&lt;br /&gt;&lt;br /&gt;We grow, learn, improve,  medical problems, see doctor, cry, laugh,parents feel &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;proud&lt;/span&gt;&lt;br /&gt;*    software gets rich in feature, get defects (but they don't cry!), eases the pain of the users (but         they don't laugh!), see technical support guys, get more stable and stable, business user             and developers feel proud(not always though :D )&lt;br /&gt;&lt;br /&gt;We socialise, make friends, help others, get benefited from others, create problems for others,&lt;br /&gt;*    software starts interacting with other software (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;ok&lt;/span&gt; I mean web services in today's term),             relationships established, provide information to other systems, share data, share knowledge,     sometimes crash the other systems too, but they don't feel!&lt;br /&gt;&lt;br /&gt;&lt;span class="transl_class" title="Click to correct" id="5"&gt;We get threats, concerned for our security, financial struggle, move to other places, buy new homes, change lifestyles&lt;br /&gt;*    software attacked by viruses, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;spyware&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;malware&lt;/span&gt; ..., move from one server to another, behind another firewall, get new operating system, new features, work more efficiently (but they never pay themselves, their parents (business or consultants) always pay for them )&lt;br /&gt;&lt;br /&gt;We plan our life, start family, Kids, travel and tours, family holidays,&lt;br /&gt;*    software , &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;hmmm&lt;/span&gt;, sorry they always work, no such luxury , poor dumb systems, they need         some AI to think, how crap their lives are!&lt;br /&gt;&lt;br /&gt;well, ultimately we die, remembered or forgotten&lt;br /&gt;*    software, they die too, replaced by new systems and forgotten,&lt;br /&gt;&lt;br /&gt;Conclusion:&lt;br /&gt;I don't want to be a software, I want to be remain human, establish my life but want to work only part of a day not 24x7, enjoy my life, laugh and yes wanna cry too, I want to be &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;remembered, I don't want to be a software&lt;br /&gt;&lt;br /&gt;see u soon with some real IT stuff!&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-5761705763037524261?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2008/06/back-to-life.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-9056892356976928051</guid><pubDate>Fri, 28 Mar 2008 01:53:00 +0000</pubDate><atom:updated>2008-03-28T12:54:08.217+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Architecture</category><title>Architecture Journal Reader</title><description>&lt;p&gt;Check this out, &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=dd466bbb-1b7d-438e-9f9a-954ce2058f15&amp;amp;displaylang=en" target="_blank"&gt;"The Architecture Journal Reader"&lt;/a&gt; a cool reader for viewing magazine articles. &lt;/p&gt;&lt;p&gt;Recently I have stopped receiving architecture journal issues at home and was desperate to restore the supply-line and then found this reader as a pleasant surprise. Personally I don't like reading stuff online, particularly when you have to read an article as tall as Eiffel tower but this reader eases the pain. Page scrolling is great and you can take notes too. &lt;/p&gt;&lt;p&gt;I wish Microsoft would publish it as a tool that could load contents from different sources. Thinking wildly, it could have some functionality that make a web article/URL appear in paper magazine article format.&lt;/p&gt;&lt;p&gt;though I will still miss my hard copy ( can't read them on train!, can't spill my coffee on ) :(&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh5.google.com/hassan.ST/R-xPfvBC_1I/AAAAAAAAAWI/rZlRu7IoB_4/image[2].png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="194" alt="image" src="http://lh4.google.com/hassan.ST/R-xPhfBC_2I/AAAAAAAAAWQ/nh-WrwPVqG8/image_thumb.png" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-9056892356976928051?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2008/03/architecture-journal-reader.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-7409560842440912303</guid><pubDate>Thu, 13 Mar 2008 01:20:00 +0000</pubDate><atom:updated>2008-03-28T10:21:34.963+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tips/Tools</category><category domain="http://www.blogger.com/atom/ns#">Common Sense</category><title>Blogging Tips - Get the most out of your blog</title><description>&lt;p&gt;There is a cool blog post by Dave "&lt;a href="http://davesquared.blogspot.com/2008/03/tweaking-your-blogger-blog.html"&gt;Tweaking your Blogger blog&lt;/a&gt;" that motivated me to share my own thoughts on blogging. &lt;/p&gt;&lt;p&gt;I will add some of my own tips, that I have learned over the past one year or so since I started blogging.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1.Think who will be reading your blog.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;For me, I see my blog readers falling in one of two groups. The first group is of the people I know and they get my blog feeds and the other group of the people finds my blog while searching Google (&lt;em&gt;oh yeah I mean Internet, Google is now a synonym to Internet search, something that I do not like, self-prophecy effect, more on this sometime later&lt;/em&gt;). So for the second group of people (net searchers) see if you can provide some background information and summary/conclusions. Such additional information might be obvious for first group but it will certainly help others in getting the message right.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2.Write in small paragraphs,&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Personally I would close the window if I visit a blog/article with the page long paragraphs. With very less time available to us, it is really hard to read each and every line on such pages. Most of the times we will already have some partial information on the topic and will only be interested in picking up the right pieces from the blog. Breaking down your blog in small para and putting meaning full para headings will make your blog readers quickly pick the relevant information.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3.Write on latest technologies/trends&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Attempt to stay ahead of the curve and while browsing net in your free time look what's new and related to your blog. Learn yourself and then share it with others. It is a great way of learning, by writing it down what you have learned. You will also get more hits on such posts. Also if you have some hard found solution for one of the problems you recently faced then that makes it a strong candidate for a blog.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;4. Avoid posting your personal activities (for professionals)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Unless the topic of your blog your own/family life avoid posting posts like ' I went to the dinner", "I had great holidays"... and then describing your experience in lengths. Keep your blog focused. It is hard to get someone read your blog so don't bore them with something they are not interested. I mean who cares what I did on the weekend? Few sentences for fun are fine but If you need to put the details then better setup a separate blog for such posts. Don't make your blog a junkyard, full of stuff that is hardly useful for someone.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;5. See if you can break lengthy articles into parts&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;That will help in two ways. First when you plan to write on something in details, you plan , plan and plan and wait for enough time to write it and then you never get chance. Second it will also help the readers in consuming it and they will come back for the next parts if they find it interesting. Another way of writing such lengthy articles is to use a blog writer, I prefer &lt;a href="http://get.live.com/" target="_blank"&gt;'Windows Live Writer'&lt;/a&gt;, it allows me to write long articles in parts, whenever I find sometime I will open up my draft post and add more.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;6. Socialising on net, read other people's blog and develop your circle&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Almost everyone is aware of the new ways socialising on net. So read the other people's blogs, leave comments, discuss with them topics of interest and increase your network. I love my personalised page &lt;a href="http://www.google.com/ig"&gt;http://www.google.com/ig&lt;/a&gt; , it allows me to have feeds from a number of blog posts on my home page and also is full of goodies (like feeds from CNET, technology news and funny Reuters:Oddly Enough) that will keep you update on latest trend and technologies.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;7. Do some pre-reading&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;To make sure whatever you are writing is authentic and makes sense, don't write on simply hearing some rumours. Verify the information you are putting on your blog is correct and will provide value to the reader. I prefer to Google and verify the contents of my blog before posting it.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;8. Be informal&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;You are not writing a report for your client, so relax and have a friendly tone in your blogs. Attempt to simulate as if you were talking to your close friend. It really makes blog interesting and fun reading.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;9. Use your spare time to think about blog &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Do you drive too far to reach work? do you take long train/bus rides? If you spend your time in looking outside window or taking a nap then see if you can think of something interesting for your blog. If you carry laptop/pda then you can blog then and there.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;10. Blog regularly&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Avoid disappearing from your blog for long periods, blog regularly, even one para each week/fortnightly would make you appear a serious a blogger (and you want to be a serious blogger!) . &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-7409560842440912303?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2008/03/blogging-tips-get-most-out-of-your-blog.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-6722909670424177064</guid><pubDate>Tue, 04 Mar 2008 02:07:00 +0000</pubDate><atom:updated>2008-03-28T10:24:57.837+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Architecture</category><category domain="http://www.blogger.com/atom/ns#">Agile/Methodology</category><title>SOA Maturity Model: Deep inside SOA</title><description>&lt;p&gt;Again I have a book to recommend for reading if you need to understand/revise the philosophy of SOA and get some practical guidelines on implementing Service Oriented Architecture in your organisation.&lt;/p&gt;&lt;p&gt;SOA concept is quite old now but mostly we face challenges in implementing it successfully.&lt;/p&gt;&lt;p&gt;The basic issue that we face is when to start and where to stop or where to start and when to stop. &lt;/p&gt;&lt;p&gt;Some people get it confused with web services and they will build a whole stack of web services, every function within an application will be exposed as a web service, some will redesign the applications from scratch using some SOA framework and some will buy expensive tools to expose business functions within some legacy existing applications . &lt;/p&gt;&lt;p&gt;No doubt there is a lot of confusion out there. Even some people who have a good understanding of SOA find it really difficult to map it to a real business problem/environment because every place is different and SOA initiative required to be largely context driven.&lt;/p&gt;&lt;p&gt;For me, the major challenge is to decide if some project qualifies for SOA or not. The major issue is the time that we invest in developing SOA ready applications. I have seen the places where development teams follow strict standards, processes and develop highly reusable applications (or components) at the cost of slow response time to new business requests and changes. Sometimes the management gets so frustrated (as I witness a number of times) they themselves ask to compromise the quality and just deliver the solution because that's what the business demands. Sometimes it works (where we really need a throw away application) but many times it backfires (where we need a stable system, an LOB application).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;So how can we achieve success with SOA? &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The first basic thing is that the developers alone can not bring SOA revolution in an organisation. The SOA implementation must occur both in functional areas (business units/departments) as well as in technical areas. Business processes indicates what "functional services" can become the candidates of reusability and then IT attempts to model and deliver the systems that would map the interactions in real business world. Also studying business models will help understanding what services we might need and what not.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;the book,&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;It is difficult to explain all here, therefore, I recommend reading this book &lt;a title="SOA in the Real World" href="http://www.microsoft.com/downloads/details.aspx?familyid=cb2a8e49-bb3b-49b6-b296-a2dfbbe042d8&amp;amp;displaylang=en"&gt;SOA in the Real World&lt;/a&gt; which is a nice book and starts from the basics, takes you through the practical steps for a successful SOA implementation and talks about Enterprise Service Oriented Maturity Model (ESOMM) in good details. This book is free to download from Microsoft.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Happy Reading.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;A Cool Utility:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.download.com/UltraExplorer/3000-2248_4-10702384.html?tag=dl-blog" target="_blank"&gt;UltraExplorer&lt;/a&gt; is designed to be the ultimate File Manager for Microsoft Windows.&lt;/p&gt;&lt;p&gt;&lt;a title="http://www.download.com/UltraExplorer/3000-2248_4-10702384.html?tag=" href="http://www.download.com/UltraExplorer/3000-2248_4-10702384.html?tag=dl-blog"&gt;http://www.download.com/UltraExplorer/3000-2248_4-10702384.html?tag=dl-blog&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-6722909670424177064?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2008/03/soa-maturity-model-deep-inside-soa.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-8552260831596087646</guid><pubDate>Fri, 22 Feb 2008 03:58:00 +0000</pubDate><atom:updated>2008-03-28T10:22:09.563+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tips/Tools</category><title>MS Performance Point connection issue</title><description>I recently encountered a problem that was resolved after some hit and trial efforts. Since I couldn't find the solution on google so I thought putting up it here would help some one using Performance Point and .Net 3.5&lt;br /&gt;&lt;br /&gt;1. Installed and configured Performance Point server, no issues&lt;br /&gt;&lt;br /&gt;2. Setup and published dashbaords&lt;br /&gt;&lt;br /&gt;3. Didn't use for some time and in the meantime Installed Visual Studio 2008 and .Net 3.5&lt;br /&gt;&lt;br /&gt;4. Recently tried to run the performance point, it failed to conenct to the database server, gave following error message&lt;br /&gt;&lt;br /&gt;" unable to connect to the specified server"&lt;br /&gt;&lt;br /&gt;5. Tested SQL db isntances and connectivity but everything was perfect and fully accessible from elsewhere&lt;br /&gt;&lt;br /&gt;6. Tried connecting to to Performance Point Montioring Server (File-&gt;Options-&gt;Server-&gt;Connect), didn't' work either, same error message&lt;br /&gt;&lt;br /&gt;7. Through IIS, brought up the web services page (&lt;a href="http://localhost/WebService/PmService.asmx"&gt;http://localhost/WebService/PmService.asmx&lt;/a&gt;). There was the error message I was looking for, the web service could not run as it failed to load system.web.extension. The config file had version=1.0.61025.0 and although I had ver 1.1, 2, 3 and 3.5 of .net framework installed still it could not load the right dll.&lt;br /&gt;&lt;br /&gt;8. I manually edited the web config and replaced all instances of version=1.0.61025.0 with Version=3.5.0.0. That's it, it started working again.&lt;br /&gt;&lt;br /&gt;9. I had to do the same for &lt;a href="http://localhost/Preview/web.config"&gt;http://localhost/Preview/web.config&lt;/a&gt; to bring up the preview site.&lt;br /&gt;&lt;br /&gt;Thanks for your help &lt;a href="http://nickbarclay.blogspot.com/"&gt;Nick&lt;/a&gt;, the performance point guru.&lt;br /&gt;&lt;br /&gt;Check Nick's post on similar database connectivity issue, if this is not the issue you are facing&lt;br /&gt;&lt;a href="http://nickbarclay.blogspot.com/2007/11/pps-data-source-connection-problems.html"&gt;http://nickbarclay.blogspot.com/2007/11/pps-data-source-connection-problems.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-8552260831596087646?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2008/02/ms-performance-point-connection-issue.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>8</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-6670636832055689681</guid><pubDate>Sun, 17 Feb 2008 22:16:00 +0000</pubDate><atom:updated>2008-03-28T10:16:26.121+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile/Methodology</category><title>Deep inside Agile Development</title><description>&lt;strong&gt;A nice article,&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I have just read a fantastic &lt;a href="http://msdn2.microsoft.com/en-au/architecture/bb892770.aspx"&gt;article &lt;/a&gt;written by Ted Neward on pragmatic agile development, from an architectural prespective. I must say he beautifully put together the philosphy of agile development, core issues that we face and what exactly it means by agile development when it comes to delivery of the solution. read it here&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-au/architecture/bb892770.aspx"&gt;http://msdn2.microsoft.com/en-au/architecture/bb892770.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;and I love his conclusion,&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:verdana;font-size:85%;color:#000099;"&gt;"Call it what you will, the basic keys to successful software remain the same: good people, whether they’re developers or managers; good process, whether it’s lightweight or rigorous; a good product, whether it’s detailed in a document or sketched on 3x5 cards; and good technology, whether it’s COBOL or something a bit more modern. Many shops do one thing right, some do two or three, but the truly spectacular successes get all four right, and the results…well, they speak for themselves, and need no buzzword to define them."&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;and the book,&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;the article reminded me of the book, &lt;a href="http://www.amazon.com/Rapid-Development-Steve-McConnell/dp/1556159005"&gt;Rapid Development &lt;/a&gt;(well how could I forget that book!) that laid the fondation stone of my software engineering concepts when I studied it at Uni in 1997. Its third chapter "&lt;a href="http://stevemcconnell.com/rdenum.htm"&gt;Classical Mistakes&lt;/a&gt;" is fantastic and the list should be put on the walls of a software house as we tend to forget and commit such classical mistakes again and again. &lt;a href="http://stevemcconnell.com/rdenum.htm"&gt;http://stevemcconnell.com/rdenum.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;happy reading&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-6670636832055689681?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2008/02/deep-inside-agile-development.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-2032161525699199527</guid><pubDate>Tue, 12 Feb 2008 22:59:00 +0000</pubDate><atom:updated>2008-03-28T10:15:18.805+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tips/Tools</category><title>Something for fun -</title><description>Instead of writing another 'dry' technical/philosphical blog I have got some cool stuff today, quite interesting and fun tools to use as a pc user. Having all those dual, quad... cores&lt;em&gt; (and God knows how many in future)&lt;/em&gt; lets give your pc some more work to do beside sitting idle.&lt;br /&gt;&lt;br /&gt;1. Launchy: &lt;a href="http://www.launchy.net/"&gt;http://www.launchy.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It enables to luanch your programs very fast plus it senses what would you like to launch. just press alt+space and see the magic&lt;br /&gt;&lt;br /&gt;2. Make3d: &lt;a href="http://make3d.stanford.edu/"&gt;http://make3d.stanford.edu/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Lets you convert your images into 3d model and then you can explore them like going inside a 3d game. you can crerate you account and upload your photos and the site will convert them in 3d but normally it takes 2 days to get it done. Alternatively they have got their source code up there in c++ and if you are c++ geek then you can download and compile on your machine.&lt;br /&gt;&lt;br /&gt;3. &lt;strong&gt;And here comes the king&lt;/strong&gt;! PicLens &lt;a href="http://www.piclens.com/"&gt;http://www.piclens.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A plugin to your browser that makes the experience of searching/viewing the images online stunning!&lt;br /&gt;&lt;br /&gt;Download -&gt; install -&gt; restart browser -&gt; visit images.google.com -&gt; search any images -&gt; and click "Play" icon at left bottom of any image and here you go! seeing is believing&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-2032161525699199527?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2008/02/something-for-fun.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-1871029899212271340</guid><pubDate>Mon, 21 Jan 2008 04:29:00 +0000</pubDate><atom:updated>2008-03-28T10:17:10.821+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tips/Tools</category><title>How long Vista's defence could last? - 5 min</title><description>Yes, If you need to break into Windows Vista, all you need are 5 minutes. That's how long it took me to manipulate vista user accounts and set their passwords to blank, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;from outside&lt;/span&gt; windows vista. No, I am not a hacker, neither do I have an IQ level equal to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;Einstein&lt;/span&gt; and indeed that's a most surprising part, a kid with some expertise on searching &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;Google&lt;/span&gt; can &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;easily&lt;/span&gt; do this.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;what if you forget your vista password?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Last weekend my friend contacted me for some help. His son changed his windows vista password and forgot that. He asked me if there is some way to restore that. My flat answer was 'No' and that if there were really some way to hack then it was going to be a climbing mount &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;everest&lt;/span&gt; for a non-hacker.&lt;br /&gt;I was confident that 'there must be no &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;easy&lt;/span&gt; way' &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;because&lt;/span&gt; I know how much noise now Microsoft makes when it comes to security. I told him now Microsoft is real serious about security and they must have implemented some rock solid security (at lease for some to-be-hacker). But my friend insisted if I could try something and I agreed and took his laptop for some weekend exploration (something that I had &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;abandoned&lt;/span&gt; for some time, fixing friends/relatives machines).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Microsoft is Serious about security,&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;hmmm&lt;/span&gt;, really?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To be honest whatever &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;happened&lt;/span&gt; on the weekend left me scratching my head ' Is Microsoft really serious about security?'. I am not going to explain what exactly I did to break into vista (so that this blog should not be a first step guide for to-be-hackers) but will describe briefly.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;so what did I do exactly ?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In order to break into vista, an external program (found from google with step by step guide and not at some hackers heaven) that knows how to access &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;NTFS&lt;/span&gt; system can easily give you access to all windows accounts and let you set all the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;properties&lt;/span&gt; that you could set through windows GUI. So not only I managed to reset the user accounts' passwords but also I enabled the Administrator account with blank password (which is &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;by default&lt;/span&gt; disabled in windows). The whole process completed within 5 minutes and then when I restarted the laptop I had access to all windows accounts, right in front of me with blank passwords.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;implications,&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Without going into debate of how it was possible, I am more interested in thinking what could that mean. I am really concerned about the security of personal data in PCs, particularly laptops. As others do, my own laptop is full of personal data, from credit card details to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;ebay&lt;/span&gt; accounts.&lt;br /&gt;Now I can't rely on windows &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;userid&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;pwd security&lt;/span&gt; anymore. A hacker with such a program on a disk, that I used, can easily break any windows security (even windows 2003) within minutes. Now either I use some specialised &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;software&lt;/span&gt; to protect my data or explore what other advanced options are &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_17"&gt;available&lt;/span&gt; with in windows (hard to trust now).&lt;br /&gt;&lt;br /&gt;So if I am right in my conclusions, you better watch your back when it comes to PC security.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-1871029899212271340?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2008/01/how-long-vistas-defence-could-last-5.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-4923092895357677769</guid><pubDate>Tue, 11 Dec 2007 00:41:00 +0000</pubDate><atom:updated>2008-03-28T10:18:54.054+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Architecture</category><category domain="http://www.blogger.com/atom/ns#">Common Sense</category><category domain="http://www.blogger.com/atom/ns#">Agile/Methodology</category><title>SOA everywhere - Delivery nowhere</title><description>Well, the title of this post is bit &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;exaggerated&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;SOA&lt;/span&gt;&lt;/span&gt; is definitely good but implementation is hard and a number of times we end up in creating a mess, took ages to develop but failed to deliver success.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What is good about &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;SOA&lt;/span&gt;&lt;/span&gt;?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;As we know when we say &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;SOA&lt;/span&gt;&lt;/span&gt; we mean that we need &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;something&lt;/span&gt; that would be driven from business model and functions, would reuse existing functionalities with minimal impact on existing applications and making them interoperable with other systems so that we could save time in redevelopment in future.&lt;br /&gt;&lt;br /&gt;Also when we develop new systems for future we attempt to make them '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;SOA&lt;/span&gt;&lt;/span&gt; Ready' i.e. designed in a way that any business function can be made available to other systems/consumers without or minimal coding. Of course the idea is fascinating and it does work.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;so what doesn't work?&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Here the problem I want to address is that having a vision of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;SOA&lt;/span&gt;&lt;/span&gt; when technical people sit together and design a framework + &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;lifecycle&lt;/span&gt;&lt;/span&gt; for the entire business apps and then if they force all development work to follow the same framework for all new developments in order to have consistent development practices, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;SOA&lt;/span&gt;&lt;/span&gt; ready applications, potential long term time saving in new developments, etc, there are some serious issues arise from application delivery perspective, particularly slow delivery of solution due to huge investment of efforts upfront for making applications '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;SOA&lt;/span&gt; Ready'.&lt;br /&gt;&lt;br /&gt;But do we really get all those benefits in future? The answer is context driven i.e. it may be or not depending upon the nature of business and development projects. But what I have seen a number of times you can not apply one solution to all your problems.&lt;br /&gt;&lt;br /&gt;Take this example, you have got a very nice framework, a framework labelled as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;SOA&lt;/span&gt; based framework, with all nice components, this block, that service, this interface, that data contract and this and that etc. Now you have got a small application to develop for a small group of users in your environment. Would you go for an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;SOA&lt;/span&gt;&lt;/span&gt; ready application?&lt;br /&gt;&lt;br /&gt;The mistake, in my opinion, people make is that they will go straight after a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;SOA&lt;/span&gt;&lt;/span&gt; based architecture while in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;principle&lt;/span&gt; the application is not a right fit for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;SOA&lt;/span&gt;&lt;/span&gt;. They do it &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;becuase&lt;/span&gt; it is the standard architecture and practice of the organisation now. As a result, developers spend a lot of time in fulfilling framework requirements by developing interfaces, layers, services etc with very less probability of any &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;reusability&lt;/span&gt;&lt;/span&gt; in future.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;so what to do?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In my opinion whenever we design a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;SOA&lt;/span&gt;&lt;/span&gt; ready framework we have to consider following points&lt;br /&gt;&lt;br /&gt;1. First &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;SOA&lt;/span&gt;&lt;/span&gt; based architecture should not be a mandatory for all new applications to follow&lt;br /&gt;&lt;br /&gt;2. Every application will have to be evaluated to see if there is any real benefit in developing it as an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;SOA&lt;/span&gt;&lt;/span&gt; ready application. This depends a lot on how business processes work and not the technology. If the new application is for a small group of users, who are working in isolation with less probability of exposing their functions as services, then we can use very simple architecture and forget complex &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;SOA&lt;/span&gt;&lt;/span&gt; based architecture.&lt;br /&gt;&lt;br /&gt;3. Also, the framework should have &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;pre&lt;/span&gt;&lt;/span&gt;-defined cut down versions for medium and small applications with lesser number of layers/services/interfaces in order to reduce development overheads. The application will be judged and right model should be picked and applied&lt;br /&gt;&lt;br /&gt;4. If using agile methodology, then future &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;reusability&lt;/span&gt;&lt;/span&gt; can be left over to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;refactoring&lt;/span&gt;&lt;/span&gt;. What I mean is that instead of investing time today, leave it to the time when it is required to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_21"&gt;expose&lt;/span&gt; its services and at that time &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;refactor&lt;/span&gt;&lt;/span&gt; the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_23"&gt;application&lt;/span&gt; and deploy it as an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;SOA&lt;/span&gt;&lt;/span&gt; service.&lt;br /&gt;&lt;br /&gt;5. As a general rule core systems should be strong candidates of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;SOA&lt;/span&gt;&lt;/span&gt; style development. For example, customers database, core sales operations, main financial systems etc. While the systems like some feedback capturing application, some monthly computing application with short expected life span (2-4 years) etc are bad candidates and should be developed in a quick and easy way.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;in summary,&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;We should focus more on delivery without investing too much time in provisions for 'future &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;reusability&lt;/span&gt;&lt;/span&gt; scenarios'. For instance, once it happened to me that my team put a lot of effort in developing an application with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;SOA&lt;/span&gt;&lt;/span&gt; based architecture and ending up with the situation where business users discarded the application, never went live as the business owner of the application had left the organisation and the new owner did not see any real benefit in the application. All our efforts for a 'highly flexible and &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_28"&gt;reusable&lt;/span&gt; service based &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;SOA&lt;/span&gt;&lt;/span&gt; style' application go in vein.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;question to ask yourself,&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;So next time you get an application to develop, ask yourself, does it really need to be developed as an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;SOA&lt;/span&gt;&lt;/span&gt; application?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-4923092895357677769?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2007/12/soa-everywhere-delivery-nowhere.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-1089489009328869200</guid><pubDate>Tue, 06 Nov 2007 06:26:00 +0000</pubDate><atom:updated>2008-03-28T10:18:54.056+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Common Sense</category><category domain="http://www.blogger.com/atom/ns#">Agile/Methodology</category><title>The fear factor</title><description>Just a couple of quotes to start with&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;em&gt;&lt;u&gt;"Fear makes the wolf bigger than he is."---- German Proverb "&lt;br /&gt;&lt;br /&gt;&lt;/u&gt;&lt;/em&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;u&gt;“Each time we face our fear, we gain strength, courage, and confidence in the doing.”&lt;/u&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The above quotes just talk about fear factor in general, but I will go and talk about fear factor in software development.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;You fear =&gt; You Fail,&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This is an observation that I have made consistently in my career, if you fear then you will fail, and recently I have observed the same again, making me write this blog. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Doesn&lt;/span&gt;' t matter whatever technical skills we have got but too much fear of &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;uncertainty&lt;/span&gt; can spoil our hard work and progress.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;By nature we tend to avoid taking risks, we attempt to follow a path with higher level of &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;certainty&lt;/span&gt; and when it comes to software development then we &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;translate&lt;/span&gt; this in having well defined requirements, using tested and proven technology, following well &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;practised&lt;/span&gt; and adopted development life cycles etc. &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;Particularly&lt;/span&gt; if we have spent working years and years in an environment following typical water fall life cycle models. So when we move from such an environment to a dynamic environment where all variables 'requirements', 'technology', '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;timelines&lt;/span&gt;' and 'resources' &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;continuously&lt;/span&gt; changing, we start fearing&lt;br /&gt;&lt;br /&gt;- I can't suggest this &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;technology&lt;/span&gt;, what if we fail?&lt;br /&gt;- I can't develop this feature, what if doesn't provide value to business&lt;br /&gt;- I have to commit to the deadline provided by my manager, otherwise....&lt;br /&gt;- I have to provide all what my users/business ask, otherwise....&lt;br /&gt;- I have to follow the current practices and &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;procedures&lt;/span&gt; religiously and rigorously, otherwise...&lt;br /&gt;- I have to do all documentation&lt;br /&gt;- I am uncertain about requirements, I have to wait and get all clarifications&lt;br /&gt;- I have to save my back&lt;br /&gt;- I could be kicked out if I fail&lt;br /&gt;&lt;br /&gt;the list goes on&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Agilists&lt;/span&gt; don't fear,&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One of the core &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;characteristic&lt;/span&gt; of some agile development life cycle is that we try to get rid of the fear factor i.e. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Agilisits&lt;/span&gt; don't fear (but they are not stupid too!). They take the decision early on, they believe that the total cost of pending your decisions too long will be higher than making a wrong decision (among other correct decisions) and rectifying it later. To illustrate this just read this &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_13"&gt;fictitious&lt;/span&gt; challenge&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_14"&gt;fictitious &lt;/span&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;challenge&lt;/span&gt;,&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Task: You have to reach your destination 'City A' as soon as possible. You have got two options.&lt;br /&gt;&lt;br /&gt;1. Take the safe road that will take 24 hours to get you there.&lt;br /&gt;2. Take a short off road trip, that will take you there in 4 hours.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What would you do?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A risk avoiding person will take the first option. Spending more time and money in reaching the destination, fearing the second option will have &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;unforeseen&lt;/span&gt; risks and he will face a lot of trouble&lt;br /&gt;&lt;br /&gt;An &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;agilist&lt;/span&gt; will take the option 2. BUT as I said &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;Agilists&lt;/span&gt; (&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_19"&gt;supposedly&lt;/span&gt; and should be) not stupid. He will get a 4&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;WD&lt;/span&gt;, with spare tyres, GPS device and a satellite phone, other tools and equipment necessary to rescue himself if something goes wrong and then begin the journey.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;well, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;hmmm&lt;/span&gt;...,&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;You don't agree?? What if this and what if that...? Well it just a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_22"&gt;fictitious&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_23"&gt;scenario&lt;/span&gt; and yes if reaching the destination is a 'do or die' sort of thing I myself will take option 1. But in general I should go for option 2.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;agilist&lt;/span&gt; might fail reaching the destination but if he takes such decision 10 times (and are used to taking such challenges and well trained on using his tools) he will probably reach the destination 8-9 times and when he fails to reach the destination he might have to come back and take the safe route, 1-2 times. The point is that the overall cost of failures would be less than the cost of late decisions and lengthy processing times.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;So how we map it to software development?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In typical agile development we train ourselves&lt;br /&gt;&lt;br /&gt;on techniques like&lt;br /&gt;&lt;br /&gt;- User stories&lt;br /&gt;- Automated unit testing&lt;br /&gt;- &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_25"&gt;Continuous&lt;/span&gt; integration&lt;br /&gt;- &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;Refactoring&lt;/span&gt;&lt;br /&gt;- Iterative development&lt;br /&gt;- Just enough documentation&lt;br /&gt;- Strong communication&lt;br /&gt;-etc etc&lt;br /&gt;&lt;br /&gt;using tools&lt;br /&gt;&lt;br /&gt;- &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;Nunit&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;Junit&lt;/span&gt;&lt;br /&gt;- Cruise control&lt;br /&gt;- &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;Codegenerators&lt;/span&gt; like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;Codesmith&lt;/span&gt;&lt;br /&gt;- &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;Resharper&lt;/span&gt;&lt;br /&gt;- Task &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_32"&gt;management&lt;/span&gt; tools that support iterative development (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;JIRA&lt;/span&gt;, Gemini, MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;TFS&lt;/span&gt;)&lt;br /&gt;- communication tools&lt;br /&gt;- etc etc&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The message,&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The message I want to convey is that when you develop software in today's world, accept challenges and prepare yourself, take &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_35"&gt;initiatives&lt;/span&gt; and get ready to mitigate the risks. Take stand on technical and quality grounds. Ask why this way and not that way. don't accept something in the environment just &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_36"&gt;because&lt;/span&gt; it was defined in the past.&lt;br /&gt;&lt;br /&gt;Challenge yours and others decisions. If you BELIEVE in something then stick to it and make other people change their course of action.&lt;br /&gt;&lt;br /&gt;It is better to be kicked out of you organisation on taking stand on quality rather than being kicked out &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_37"&gt;because&lt;/span&gt; of not taking initiative and appearing as a dumb person.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_RrIGgmCdaSo/RzBZ8WTRmfI/AAAAAAAAAUM/pcXd_EmXyj0/s1600-h/Agilist+taking+path+with+his+tools+and+backups.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5129698868888443378" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: pointer; TEXT-ALIGN: center" alt="" src="http://bp0.blogger.com/_RrIGgmCdaSo/RzBZ8WTRmfI/AAAAAAAAAUM/pcXd_EmXyj0/s320/Agilist+taking+path+with+his+tools+and+backups.JPG" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-1089489009328869200?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2007/11/fear-factor.html</link><author>noreply@blogger.com (Hassan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp0.blogger.com/_RrIGgmCdaSo/RzBZ8WTRmfI/AAAAAAAAAUM/pcXd_EmXyj0/s72-c/Agilist+taking+path+with+his+tools+and+backups.JPG" height="72" width="72" /><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-3590240568382846025</guid><pubDate>Fri, 19 Oct 2007 01:27:00 +0000</pubDate><atom:updated>2008-03-28T10:17:31.312+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Common Sense</category><title>It is patent nonsense</title><description>I like to patent&lt;br /&gt;&lt;br /&gt;- the way I walk, smile, eat and talk&lt;br /&gt;&lt;br /&gt;- the way I carry my bag, mow my lawn, arrange my house, clean my house,&lt;br /&gt;&lt;br /&gt;- the way I arrange my work desk, run my meetings, conduct interviews,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;strange? keep reading&lt;br /&gt;&lt;br /&gt;- the way I create a web page, name it, upload it,&lt;br /&gt;&lt;br /&gt;- the way I sell products on my web page&lt;br /&gt;&lt;br /&gt;- the way I wrap up gifts, Sorry &lt;a href="http://www.news.com/Amazon-patent-thinks-pink/2100-1038_3-5606053.html"&gt;already patented&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- the way my customers Click and Buy, Sorry you can't do this too, it has been &lt;a href="http://cse.stanford.edu/class/cs201/projects-99-00/software-patents/amazon.html"&gt;patented by Amazon&lt;/a&gt;&lt;br /&gt;but thanks to a kiwi, &lt;a href="http://seattlepi.nwsource.com/business/335845_amazon18.html"&gt;not any more&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I am writing all this to vent my frustration over these &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;ridiculous&lt;/span&gt; patent laws. Probably you might have heard about the recent news story when &lt;a href="http://seattlepi.nwsource.com/business/335845_amazon18.html"&gt;Amazon has been &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;successfully&lt;/span&gt; challenged&lt;/a&gt; for its 1-Click patent by a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;NewZealender&lt;/span&gt;. It is some &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;great&lt;/span&gt; news. I read about this some time ago and couldn't believe how clicking buttons in some sequence on a web page could be patented? but that was done for Amazon. Not only that, Amazon was also making money from the web sites who were using the similar process, well it is law, they are the patent holders.&lt;br /&gt;&lt;br /&gt;Another ridiculous example is 'Buy it now' button on &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;eBay&lt;/span&gt;, &lt;a href="http://arstechnica.com/news.ars/post/20060312-6364.html"&gt;yes it is patent&lt;/a&gt; by someone and that means on my own web site I can't name a button/functionality similar to "Buy it Now". How silly, then what should we do for 'Submit it Now', Check-out it Now', 'Close it Now', 'Cancel it Now', 'Sing-up now' ?? Can I get them patented for me, if some one hasn't already got them?&lt;br /&gt;&lt;br /&gt;I am not an expert on laws, but I have done some research on net to understand this drama.&lt;br /&gt;Patent laws &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;originated&lt;/span&gt; to protect inventions so that someone investing money in some new technology should be able to get return on his investment/achievement before others start copying the technology, fair enough, no issues. The core problem is that these laws were primarily designed for &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;mechanical&lt;/span&gt; (and later electrical/electronics) inventions. With the advent of software the same laws were used to protect software process and methods and here we ran into trouble. The software world is whole different world and patent laws have been misused by those were the first in getting the patent for some simple things/processes (which a layman can think of when faces the similar problem)&lt;br /&gt;&lt;br /&gt;If you search net , you will find that there is a &lt;a href="http://en.wikipedia.org/wiki/Software_patent_debate"&gt;lot of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;noice&lt;/span&gt; from people protesting such misuse &lt;/a&gt;but what is not good is I &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;couldn't&lt;/span&gt; find if there were some serious steps taken by Governments (well basically US Govt, &lt;a href="http://www.news.com/Patent-law-overhaul-Bad-for-start-ups/2100-1028_3-6209223.html?tag=st.ref.goo"&gt;there is one hope&lt;/a&gt;) to alter the laws. (In EU first it was recommended and then &lt;a href="http://www.zdnet.co.uk/talkback/0,1000001161,39257685-39001089c-20058660o,00.htm"&gt;blocked by &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;Parliament&lt;/span&gt; &lt;/a&gt;). Also the bad thing about Amazon case is that the lawsuit against Amazon was won not on logical basis but on the fact that similar process exist before Amazon got it patented. What it means is that if someone could prove that I was the one who first used some process similar to 1-Click then he/she will have the patent, which I object. This is some common sense, the 1-Click sort of thing is not an invention , it shouldn't be get patented.&lt;br /&gt;&lt;br /&gt;Few interesting comments against patent laws for software, from &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;wikipedia&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;h3&gt;&lt;span class="editsection"&gt;&lt;/span&gt;&lt;span class="mw-headline"&gt;Bill Gates (Microsoft) 1991&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;i&gt;Internal memo&lt;/i&gt;&lt;/p&gt;&lt;p&gt;"If people had understood how patents would be granted when most of today's ideas were invented and had taken out patents, the industry would be at a complete standstill today...The solution is patenting as much as we can. A future &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;startup&lt;/span&gt; with no patents of its own will be forced to pay whatever price the giants choose to impose. That price might be high. Established companies have an interest in excluding future competitors."&lt;/p&gt;&lt;p&gt;(though Gates had slightly different view in &lt;a href="http://en.wikipedia.org/wiki/Software_patent_debate#Bill_Gates_.28Microsoft.29_2005"&gt;2005&lt;/a&gt;, when Microsoft needed patent laws)&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;span class="editsection"&gt;&lt;/span&gt;&lt;span class="mw-headline"&gt;Oracle Corporation 1994&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;i&gt;Submission to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;USPTO&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;"Oracle Corporation opposes the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;patentability&lt;/span&gt; of software. The Company believes that existing copyright law and available trade secret protections, as opposed to patent law, are better suited to protecting computer software developments..."&lt;/p&gt;&lt;p&gt;Few more &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_14"&gt;ridiculous&lt;/span&gt; patents&lt;/p&gt;Someone claiming '&lt;a href="http://discuss.fogcreek.com/joelonsoftware3/default.asp?cmd=show&amp;amp;ixPost=105622"&gt;Most ridiculous patent application ever&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.techliberation.com/archives/039401.php"&gt;Net2Phone &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;Suing&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Skype&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;a href="http://www.bbspot.com/News/2004/07/microsoft_patent.html"&gt;Microsoft Granted Patent for Creating Insecure Software&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I hope when I do some web development as my hobby I won't be getting some legal notice from someone sitting in another corner of the world 'hey you have just violated my patent', fingers crossed,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-3590240568382846025?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2007/10/it-is-patent-nonsense.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-6339027811480260687</guid><pubDate>Wed, 17 Oct 2007 00:10:00 +0000</pubDate><atom:updated>2008-03-28T10:12:11.880+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Architecture</category><title>Ruby on Rails VS ASP.Net MVC</title><description>Ruby on rails is on track for getting more popularity among casual as well as professional developers when they need to develop and release a small- medium size application rapidly. I myself find it very interesting and have the opinion that it is a good innovation, helping the developers avoiding the complexities of ASP.Net or Java based &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;structures&lt;/span&gt; where they mostly need to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;develop&lt;/span&gt; apps from scratch with lot of plugging.&lt;br /&gt;&lt;br /&gt;Now it is more interesting to read about the &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx"&gt;ASP.NET &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;MVC&lt;/span&gt;&lt;/a&gt; framework, going to be released in the first half next year and also will be a part of .Net 3.5 SP1 . &lt;a href="http://www.rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt; favors convention over configuration (&lt;span style="font-size:100%;"&gt;&lt;span style="FONT-STYLE: italic"&gt;what does it mean? less crap more productivity). &lt;/span&gt;&lt;span style="font-size:100%;"&gt;Now it seems &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;Microsoft&lt;/span&gt; has realised this and they have come up with something that could counter people moving to ruby on rails by providing something that ruby on rails provide i.e. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;MVC&lt;/span&gt; framework to develop the application. I would keep on watching this (some sort of ) contest now with interest. Frankly, I &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;myself&lt;/span&gt; recently downloaded ruby on rails to develop an application over the weekend to quickly implement my idea rather than starting development from scratch in asp.net. Now with this &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;MVC&lt;/span&gt; thing &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;ASP.Net &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;is getting my attention again for RAD and I suspect there may be something more in pipeline from &lt;/span&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"  style="font-size:100%;"&gt;Microsoft&lt;/span&gt;&lt;span style="font-size:100%;"&gt;. Stay tuned!&lt;br /&gt;&lt;br /&gt;Resources:&lt;br /&gt;&lt;a href="http://blog.wekeroad.com/2007/08/14/more-rails-fun-beyond-the-silly-examples/"&gt;(3 nice videos on ruby on rails to give you a quick overview)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=Gzj723LkRJY"&gt;plus another video tutorial&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-6339027811480260687?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2007/10/ruby-on-rails-vs-aspnet-mvc.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-290710387363002104</guid><pubDate>Fri, 05 Oct 2007 01:03:00 +0000</pubDate><atom:updated>2008-03-28T10:11:27.239+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Architecture</category><title>Software + Services &lt;&gt; SaaS  &amp; =&gt; Confusion</title><description>I am just writing this blog to draw a line between two different terms and &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;jargon&lt;/span&gt;. That is if Software + Services and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Saas&lt;/span&gt; (Software as a Service) mean the same thing?. I confess when I first heard this term Software + services I took it as a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;synonym&lt;/span&gt; to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;SaaS&lt;/span&gt; but Software + Services is a bit different. The first obvious difference is that Microsoft is an advocate of &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;Software&lt;/span&gt; + Service :). (just like they did it with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;xml&lt;/span&gt;, web services &amp;amp; infamous passports).&lt;br /&gt;&lt;br /&gt;The picture became a bit clearer when I read a recent article &lt;a href="http://www.msarchitecturejournal.com/pdf/Journal13.pdf"&gt;Profile: Ray Ozzie&lt;/a&gt; (chief software architect Microsoft) in architecture journal. &lt;em&gt;(a good &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;magazine&lt;/span&gt; to subscribe for free with no advertisement crap)&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;In my understanding &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;SaaS&lt;/span&gt; represents selling the software as a web based service (or application) and thus the customers don't need to buy the full licenses of products and they pay only for what they use. Also it allows cutting cost in application maintenance as &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;enterprises&lt;/span&gt; does not require to install and host the applications themselves, plus this benefit and that benefit. We have some successful stories on that like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;salesforce&lt;/span&gt;.com.&lt;br /&gt;&lt;br /&gt;Microsoft thinks a bit differently, arguing there may be some scenarios when it is not entirely possible to market a software totally as a service. It questions the assumptions like having a high &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_10"&gt;bandwidth&lt;/span&gt; connection would always be available to the users. It comes with another term Software + Services. In nutshell, you have your data stored in &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;Internet&lt;/span&gt; cloud,may be exposed through web pages but &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;also&lt;/span&gt; accessible to client applications running on PCs, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;PDAs&lt;/span&gt;/Smart phones with local data caching capabilities utilizing the device capabilities to process and present the information. So in way it is an extension of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;SaaS&lt;/span&gt;. Examples are &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Xboxlive&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;itunes&lt;/span&gt; etc.&lt;br /&gt;&lt;br /&gt;I could save my time in &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_18"&gt;elaborating&lt;/span&gt; it more in details as I found a very nice blog entry, almost talking the same that I had to write. Check this out. &lt;a href="http://www.proudlyserving.com/archives/2007/09/software_servic.html"&gt;Software + Services = ?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See you next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-290710387363002104?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2007/10/software-services-confusion.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-330508899710115471.post-4787311271709206253</guid><pubDate>Mon, 17 Sep 2007 00:47:00 +0000</pubDate><atom:updated>2008-03-28T10:10:54.644+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tips/Tools</category><title>C# - open source</title><description>A useful link for C# developers, looking for some open source solution in C#&lt;br /&gt;&lt;a href="http://csharp-source.net/"&gt;http://csharp-source.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://davesquared.blogspot.com/"&gt;Dave&lt;/a&gt;, he pointed me there when I was looking for some open source charting soluition for .net&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/330508899710115471-4787311271709206253?l=hassansyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://hassansyed.blogspot.com/2007/09/c-open-source.html</link><author>noreply@blogger.com (Hassan)</author><thr:total>0</thr:total></item></channel></rss>

