<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9058574361168345733</id><updated>2012-01-30T19:31:40.497+11:00</updated><category term='jquery'/><title type='text'>Pauls Point</title><subtitle type='html'>This is my &amp;#39;technical stuff&amp;#39; blog on all things ASP.NET, SharePoint and C#.
&lt;br&gt;
  ...&lt;i&gt;Sydney IT Consultant - Paul Rowland&lt;/i&gt;...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>99</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-5756899497194320514</id><published>2012-01-24T15:56:00.001+11:00</published><updated>2012-01-24T15:58:16.212+11:00</updated><title type='text'>IE Proxy Settings shortcut</title><content type='html'>To set up a shortcut on the desktop to IE Connections Tab,&lt;br /&gt;&lt;ul&gt;&lt;li&gt;On the desktop, right click and select "New Shortcut"&amp;nbsp;&lt;/li&gt;&lt;li&gt;In "Type the location...." enter the following "C:\Windows\System32\control.exe Inetcpl.cpl,Connections,4"&amp;nbsp;&lt;/li&gt;&lt;li&gt;Give it a name.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;And thats it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-5756899497194320514?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/5756899497194320514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=5756899497194320514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5756899497194320514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5756899497194320514'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2012/01/ie-proxy-settings-shortcut.html' title='IE Proxy Settings shortcut'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-159313350359673916</id><published>2011-10-19T11:02:00.002+11:00</published><updated>2011-10-19T11:02:52.068+11:00</updated><title type='text'>70-583- Designing and Developing Windows Azure Applications.</title><content type='html'>Yesterday I passed this exam - Exam 70-583 Designing and Developing Windows Azure Applications.More details &lt;a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-583"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-159313350359673916?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/159313350359673916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=159313350359673916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/159313350359673916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/159313350359673916'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2011/10/70-583-designing-and-developing-windows.html' title='70-583- Designing and Developing Windows Azure Applications.'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-3273478370747746983</id><published>2011-10-14T10:03:00.001+11:00</published><updated>2011-10-14T10:37:29.552+11:00</updated><title type='text'>Visual Studio Remote Debugging - Reminder Checklist</title><content type='html'>Steps to implement remote debugging.&lt;ol&gt;&lt;li&gt; You need to run msvsmon.exe on the remote pc &lt;ol&gt;  &lt;li&gt;Share this folder  C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger&lt;/li&gt;  &lt;li&gt;Go to remote and navigate to shared folder &lt;/li&gt;  &lt;li&gt;copy Remote Debugger folder onto remote pc &lt;/li&gt;  &lt;li&gt;run the relevant 32 or 64 bit version of msvsmon.exe &lt;/li&gt;  &lt;li&gt;Not sure on the permissions required for this but I know it works if you are an Administrator on this machine.&lt;/li&gt; &lt;/ol&gt;&lt;/li&gt;&lt;li&gt;Double click msvsmon.exe on remote pc  &lt;ol&gt;   &lt;li&gt;Go to Tools &gt; Permissions and add the user that is logged onto the dev machine.&lt;/li&gt;   &lt;li&gt;Go to Tools &gt; Options and copy the string that is in server name box - eg "DomainName\username@machinename"&lt;/li&gt;  &lt;/ol&gt;&lt;/li&gt;&lt;li&gt;Start the web app to be debugged on the remote machine &lt;/li&gt;&lt;li&gt;In Visual Studio on local machine - Debug &gt; Attach to process &lt;ol&gt;&lt;li&gt;Leave Transport as Default and in the Qualifier paste the server name copied in Step 2.2 above and click Refresh &lt;/li&gt;&lt;li&gt;Select w3wp.exe to attach to&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;Start debugging.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-3273478370747746983?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/3273478370747746983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=3273478370747746983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3273478370747746983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3273478370747746983'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2011/10/visual-studio-remote-debugging-reminder.html' title='Visual Studio Remote Debugging - Reminder Checklist'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-8540721741586069263</id><published>2011-06-19T21:29:00.000+10:00</published><updated>2011-06-19T21:29:01.503+10:00</updated><title type='text'>Internal names of columns in SharePoint list</title><content type='html'>To find internal name of a column in a list you can use Visual Studio 2010 or SharePoint Manager 2010 (spm.codeplex.com)To get to Server Explorer CTRL W L and Select sharepoint connections and you can navigate down to the list in question.When running SharePoint Manager 2010 run as administrator and again you can navigate down to the list in question and determine the InternalName property of the column.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-8540721741586069263?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/8540721741586069263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=8540721741586069263' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8540721741586069263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8540721741586069263'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2011/06/internal-names-of-columns-in-sharepoint.html' title='Internal names of columns in SharePoint list'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-8467476295569616525</id><published>2011-04-27T14:41:00.006+10:00</published><updated>2011-06-19T17:19:46.242+10:00</updated><title type='text'>Exam 70-667: TS: Microsoft SharePoint 2010, Configuring</title><content type='html'>&lt;div&gt;&lt;p&gt;Today I passed the first half of the MCITP qualification, Exam 70-667: TS: Microsoft SharePoint 2010, Configuring&lt;/p&gt;&lt;p&gt;More details &lt;a href="http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-667&amp;Locale=en-us"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;i&gt;Update 17 June 2011&lt;/i&gt;, I've now passed the other half of the MCITP qualification, Exam-70-668 PRO: Microsoft SharePoint 2010, Administrator.&lt;br /&gt;&lt;br /&gt;I'm now MCITP SharePoint Administrator 2010.&lt;/p&gt;&lt;p&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;a href="http://1.bp.blogspot.com/-EJwLnepeVoE/Tf2iaFz5tuI/AAAAAAAAADk/GTpbOSvOk3U/s1600/MCITP%2528rgb%2529_1349.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="60" width="296" src="http://1.bp.blogspot.com/-EJwLnepeVoE/Tf2iaFz5tuI/AAAAAAAAADk/GTpbOSvOk3U/s320/MCITP%2528rgb%2529_1349.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;More details &lt;a href="http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-668&amp;Locale=en-us"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-8467476295569616525?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/8467476295569616525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=8467476295569616525' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8467476295569616525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8467476295569616525'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2011/04/exam-70-667-ts-microsoft-sharepoint.html' title='Exam 70-667: TS: Microsoft SharePoint 2010, Configuring'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-EJwLnepeVoE/Tf2iaFz5tuI/AAAAAAAAADk/GTpbOSvOk3U/s72-c/MCITP%2528rgb%2529_1349.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-8437447744168905023</id><published>2011-04-14T20:44:00.004+10:00</published><updated>2011-04-27T14:43:03.746+10:00</updated><title type='text'>I'm now MCPD Microsoft SharePoint 2010</title><content type='html'>&lt;div&gt;&lt;p&gt;Today I passed this exam - Exam 70-573 -Microsoft SharePoint 2010, Application Development. More details &lt;a href="http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-573&amp;Locale=en-us"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Together with the &lt;a href="http://par2008.blogspot.com/2011/03/exam-70-576-designing-and-developing.html"&gt;70-576 exam&lt;/a&gt; I passed last month, I'm now MCPD Microsoft SharePoint 2010.&lt;/p&gt;&lt;p&gt;&lt;img border="0" height="80" width="290" src="http://1.bp.blogspot.com/-p7eyZcdvgD8/TabPitZ2j3I/AAAAAAAAADY/z8b_OfLI5Cs/s320/MCPD%2528rgb%2529_1350.png" /&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/9058574361168345733-8437447744168905023?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/8437447744168905023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=8437447744168905023' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8437447744168905023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8437447744168905023'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2011/04/im-now-mpcd-microsoft-sharepoint-2010.html' title='I&apos;m now MCPD Microsoft SharePoint 2010'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-p7eyZcdvgD8/TabPitZ2j3I/AAAAAAAAADY/z8b_OfLI5Cs/s72-c/MCPD%2528rgb%2529_1350.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-5705226956991332258</id><published>2011-03-17T13:58:00.000+11:00</published><updated>2011-03-17T13:58:54.781+11:00</updated><title type='text'>Exam 70-576 - Designing and Developing Microsoft SharePoint 2010 Applications</title><content type='html'>Today I passed this exam - Exam 70-576 - Designing and Developing Microsoft SharePoint 2010 Applications.More details &lt;a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-576"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-5705226956991332258?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/5705226956991332258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=5705226956991332258' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5705226956991332258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5705226956991332258'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2011/03/exam-70-576-designing-and-developing.html' title='Exam 70-576 - Designing and Developing Microsoft SharePoint 2010 Applications'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-5599705676376897081</id><published>2011-02-28T10:34:00.015+11:00</published><updated>2011-02-28T16:28:36.710+11:00</updated><title type='text'>SharePoint 2010 upgrade</title><content type='html'>&lt;fieldset&gt;&lt;legend&gt;Some Useful stsadm/PowerShell&lt;/legend&gt;&lt;b&gt;Pre upgrade audit&lt;/b&gt;&lt;ol&gt;&lt;li&gt;stsadm -o enumcontentdbs –url http://server01&lt;/li&gt;&lt;li&gt;stsadm -o enumallwebs&lt;/li&gt;&lt;li&gt;stsadm -o enumallwebs –includewebparts&lt;/li&gt;&lt;li&gt;stsadm -o enumsolutions&lt;/li&gt;&lt;li&gt;stsadm -o preupgradecheck&lt;/li&gt;&lt;li&gt;Test-SPContentDatabase -Name dbname -WebApplication http://server01 &lt;/li&gt;&lt;/ol&gt;&lt;b&gt;other&lt;/b&gt;&lt;ul&gt;&lt;li&gt;stsadm -o setsitelock -url http://server01 -lock none&lt;/li&gt;&lt;li&gt;stsadm -o addcontentdb -url &lt;URL&gt; -databasename &lt;database name&gt;&lt;br/ &gt;make sure you spell databasename correctly&lt;/li&gt;&lt;/ul&gt;&lt;/fieldset&gt;&lt;br /&gt;&lt;fieldset&gt;&lt;legend&gt;Some Useful links&lt;/legend&gt;&lt;b&gt;Technet/Microsoft links&lt;/b&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/ff607941.aspx "&gt;Test-SPContentDatabase&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc263299.aspx "&gt;Attach databases and upgrade to SharePoint Server 2010&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/ff607663.aspx "&gt;Checklist for database attach upgrade (SharePoint Server 2010)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc262483.aspx"&gt;Upgrade process overview (SharePoint Server 2010)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc287634.aspx"&gt;Attach databases and upgrade to SharePoint Foundation 2010&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=FD2172E1-F9A7-45CE-AE5C-26714FD751F5"&gt;Upgrading to Microsoft SharePoint Server 2010 - Manual&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Tools&lt;/b&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://archive.msdn.microsoft.com/WssRemoveFeatureFrom"&gt;WssRemoveFeatureFromSite&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/skelley/archive/2010/11/29/upgrading-to-2010-feature-and-webpart-inventory-reports.aspx "&gt;Upgrading to 2010: Feature and WebPart Inventory Reports&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Blog posts&lt;/b&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.sharepointjoel.com/Lists/Posts/Post.aspx?ID=288"&gt;SharePoint 2010 Upgrade: Test-SPContentDatabase - Key to Successful Upgrade&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.brainlitter.com/archive/2010/05/18/sharepoint-2010-preupgradecheck-web-part-whack-a-mole.aspx "&gt;SharePoint 2010 PreUpgradeCheck - Web Part Whack-a-Mole&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sharepointjoel.com/Lists/Posts/Post.aspx?List=0cd1a63d%2D183c%2D4fc2%2D8320%2Dba5369008acb&amp;ID=306"&gt;SharePoint 2010 Upgrade Simplified - Q &amp; A&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sharepointjoel.com/Lists/posts/Post.aspx?ID=288"&gt;SharePoint 2010 Upgrade: Test-SPContentDatabase - Key to Successful Upgrade&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://amargalla.com/dotnet/59-extracting-dlls-out-of-the-gac"&gt;Extracting dll’s out of the GAC&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sharepointgeorge.com/2009/upgrading-content-database-sharepoint-2010-database-attach-method"&gt;Upgrading your Content Database to SharePoint 2010 – Database Attach method&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://mssharepointtips.com/tip.asp?id=1062&amp;page=2"&gt;Checking for broken links in SharePoint&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sharepointreporter.wordpress.com/2010/07/"&gt;Fix Pre-Upgrade Check errors&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.microsoft.com/kb/960577"&gt;List of all Windows SharePoint Services and SharePoint Server Pre-Upgrade Checker knowledge base articles&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;!--&lt;li&gt;&lt;/li&gt;&lt;li&gt;&lt;/li&gt;--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-5599705676376897081?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/5599705676376897081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=5599705676376897081' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5599705676376897081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5599705676376897081'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2011/02/sharepoint-2010-upgrade.html' title='SharePoint 2010 upgrade'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-7826268282764701331</id><published>2011-02-04T17:58:00.000+11:00</published><updated>2011-02-04T17:58:50.617+11:00</updated><title type='text'>Windows Azure Training</title><content type='html'>&lt;div&gt;I have just attended a 2-day partner training @ Saxons training centre in Sydney. &lt;br /&gt;Instructor: Ryan CrawCour - Intergen NZ &lt;br /&gt;@RyanCrawCour &lt;br /&gt;&lt;br /&gt;The course was taken from presentations and labs within the &lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&amp;amp;displaylang=en"&gt;Windows Azure Platform Training Kit&lt;/a&gt;. The kit includes a lot of Labs, Presentations, Videos and Demos. It also has a dependency checker to ensure local environment has all it needs to do Azure development. &lt;/div&gt;&lt;div&gt;The following powerpoint presentations were shown over the two days (they were 95% the same as the ones in the training kit)&lt;ol&gt;&lt;li&gt;Windows Azure Platform&lt;/li&gt;&lt;li&gt;Windows Azure Compute&lt;/li&gt;&lt;li&gt;Windows Azure Storage&lt;/li&gt;&lt;li&gt;Intro to SQL Azure&lt;/li&gt;&lt;li&gt;Windows Azure App Fabric&lt;/li&gt;&lt;li&gt;Storage Strategies&lt;/li&gt;&lt;li&gt;High Performance Applications&lt;/li&gt;&lt;li&gt;Advanced Web and Worker Roles and the Windows Azure VM Role &lt;/li&gt;&lt;li&gt;Windows Azure connect&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;Links - mentioned during course &lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&amp;amp;displaylang=en"&gt;Windows Azure Platform Training Kit &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Two recommended blogs &lt;ul&gt;&lt;li&gt;&lt;a href="http://blog.smarx.com/"&gt;Steve Marx&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.wadewegner.com/"&gt;Wade Wegner&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;Azure management links &lt;ul&gt;&lt;li&gt;&lt;a href="https://windows.azure.com/"&gt;Azure Management Portal&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="https://manage-sgp.sql.azure.com/"&gt;Azure database management&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="https://portal.appfabriclabs.com/Default.aspx?wa=wsignin1.0"&gt;Developer preview of App Fabric Labs &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://appfabric.azure.com/Default.aspx?wa=wsignin1.0"&gt;App Fabric Labs&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;Other sites/articles &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.lokad.com/developers.ashx"&gt;Azure tools from LOKAD&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://lokadcloud.codeplex.com/"&gt;LOKAD on codeplex&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="https://datamarket.azure.com/"&gt;Windows Azure Market place - DataMarket&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://windowsazure.pinpoint.microsoft.com/en-US/Default.aspx"&gt;Windows Azure Market place - Applications&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/www.microsoft.com/windowsazure/pricing"&gt;Azure Pricing&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-gb/gg433135"&gt;Differences Between the Storage Emulator and Windows Azure Storage Services&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/Blogs/smarx"&gt;Smarx on Channel 9&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/sync-framework-sql-server-to-sql-azure-synchronization.aspx"&gt;Sync Framework - SQL Server to SQL Azure Synchronization&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.packtpub.com/article/ground-to-sql-azure-cloud-migration-using-ms-ssis"&gt;Ground to SQL Azure migration using MS SQL Server Integration Services &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://cerebrata.com/"&gt;Azure tools (Not free) - Cerebrata.com&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/ff796231.aspx"&gt;Windows Azure Table Storage – Not Your Father’s Database&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/985a3198-ba54-4dcc-932c-0e6bdb166a46"&gt;Partitioning Scheme (Azure Table Service)&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.smarx.com/posts/shared-access-signatures-are-easy-these-days"&gt;Shared Access Signatures Are Easy These Days&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.smarx.com/posts/using-the-new-windows-azure-cdn-with-a-custom-domain"&gt;Using the New Windows Azure CDN with a Custom Domain &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.wadewegner.com/2011/01/programmatically-changing-the-apppool-identity-in-a-windows-azure-web-role/"&gt;Programmatically Changing the AppPool Identity in a Windows Azure Web Role&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://vimeo.com/18616613"&gt;Windows Azure Connect from scratch video&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/windowsazure/virtualnetwork/"&gt;Windows Azure Virtual Network&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/Shows/Cloud+Cover"&gt; Channel 9 - Cloud Cover&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-7826268282764701331?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/7826268282764701331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=7826268282764701331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7826268282764701331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7826268282764701331'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2011/02/windows-azure-training.html' title='Windows Azure Training'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-7482727036685459834</id><published>2011-01-11T19:51:00.004+11:00</published><updated>2011-01-13T14:05:08.214+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><title type='text'>JQuery Posts Updated to use JQuerify</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://par2008.blogspot.com/2008/11/jquery-predicates-attribute-contains.html"&gt;JQuery Predicates - Attribute contains&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://par2008.blogspot.com/2008/11/jquery-predicates-attribute-starts-with.html"&gt;JQuery Predicates - Attribute starts with&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://par2008.blogspot.com/2008/11/jquery-predicates-attribute-ends-with.html"&gt;JQuery Predicates - Attribute ends with&lt;/a&gt;&lt;/li&gt;&lt;a href="http://par2008.blogspot.com/2008/11/jquery-predicates-attribute-equals.html"&gt;JQuery Predicates - Attribute equals&lt;/a&gt;&lt;li&gt;&lt;a href="http://par2008.blogspot.com/2008/12/jquery-count-paragraphs.html"&gt;JQuery - Count Paragraphs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://par2008.blogspot.com/2008/12/jquery-basic-show-and-hide.html"&gt;JQuery - Basic Show and Hide&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://par2008.blogspot.com/2008/11/learning-simple-jquery-part-4.html"&gt;Learning Simple JQuery - Part 4.&lt;/a&gt; - There are many plugins developers have created to use with JQuery, including this one "tablesorter"&lt;/li&gt;&lt;li&gt;&lt;a href="http://par2008.blogspot.com/2008/11/learning-simple-jquery-part-3.html"&gt;Learning Simple JQuery - Part 3.&lt;/a&gt; - This example demonstrates using JQuery selectors to add css classes to specific html table row elements. &lt;/li&gt;&lt;li&gt;&lt;a href="http://par2008.blogspot.com/2008/11/learning-simple-jquery-part-2.html"&gt;Learning Simple JQuery - Part 2.&lt;/a&gt; - This example uses JQuery to set the background-color of input text boxes, and attaches the focus/blur events to those text boxes with a "required" class. &lt;/li&gt;&lt;li&gt;&lt;a href="http://par2008.blogspot.com/2008/11/learning-simple-jquery-1.html"&gt;Learning Simple JQuery - Part 1.&lt;/a&gt; - This example demonstrates using an jQuery id selector on anchor tags to attach a click event. It also uses an id selector to attach the slideDown and slideUp JQuery functions to a html div element. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Here is a blog post from encosia.com on &lt;a href="http://encosia.com/2009/09/21/updated-see-how-i-used-firebug-to-learn-jquery/"&gt;how to learn JQuery with FireBug&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-7482727036685459834?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/7482727036685459834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=7482727036685459834' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7482727036685459834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7482727036685459834'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2011/01/jquery-posts-updated-to-use-jquerify.html' title='JQuery Posts Updated to use JQuerify'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-916146906862739259</id><published>2010-06-22T20:16:00.001+10:00</published><updated>2010-06-22T20:18:00.992+10:00</updated><title type='text'>Prince2 Foundation Exam Success</title><content type='html'>Last week I went on PRINCE2 training in Sydney, I found it pretty interesting all in all at the end of which I took the PRINCE2 foundation exam and passed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-916146906862739259?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/916146906862739259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=916146906862739259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/916146906862739259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/916146906862739259'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2010/06/prince2-foundation-exam-success.html' title='Prince2 Foundation Exam Success'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-8979379140571474170</id><published>2010-02-16T10:40:00.002+11:00</published><updated>2010-02-16T10:56:53.434+11:00</updated><title type='text'>C# - yield</title><content type='html'>The yield keyword was introduced with C# 2.0.&lt;br /&gt;&lt;br /&gt;Here is some further reading;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;from C# reference -&lt;a href="http://msdn.microsoft.com/en-us/library/9k7k7cf0.aspx"&gt;yield (C# Reference)&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;from stackoverflow - &lt;a href="http://stackoverflow.com/questions/410026/c-proper-use-of-yield-return"&gt;C# - Proper Use of yield return?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;from stackoverflow - &lt;a href="http://stackoverflow.com/questions/231893/what-does-yield-break-do-in-c"&gt;What does “yield break;” do in C#?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;from stackoverflow - &lt;a href="http://stackoverflow.com/questions/384392/yield-keyword-value-added"&gt;Yield keyword value added?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;from C# in Depth - Sample Chapter 6 - &lt;a href="http://www.manning-source.com/books/skeet/Chapter6sample.pdf"&gt;Implementing iterators the easy way&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-8979379140571474170?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/8979379140571474170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=8979379140571474170' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8979379140571474170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8979379140571474170'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2010/02/c-yield.html' title='C# - yield'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-9033262211199530057</id><published>2010-02-01T10:15:00.004+11:00</published><updated>2010-03-19T10:57:02.928+11:00</updated><title type='text'>Visual Studio 2008 Shortcuts</title><content type='html'>Following on from earlier post - &lt;a href="http://par2008.blogspot.com/2008/01/keyboard-shortcuts-visual-studio.html"&gt;Visual Studio Keyboard Shortcuts&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;CTRL  W  S    -    Solution Explorer&lt;br /&gt;CTRL  W  L    -    Server Explorer&lt;br /&gt;CTRL  W  E    -    Error Explorer&lt;br /&gt;CTRL  W  X    -    Tool Box&lt;br /&gt;CTRL  W O    -    Output Window&lt;br /&gt;&lt;br /&gt;CTRL  D  I    -    Immediate Window&lt;br /&gt;CTRL  D  C    -    Call Stack&lt;br /&gt;CTRL  D  W    -    Watch Window&lt;br /&gt;&lt;br /&gt;CTRL E F - Format Selection&lt;br /&gt;CTRL E \ - Delete white space&lt;br /&gt;CTRL E S - View white space&lt;br /&gt;CTRL E C - comment selection&lt;br /&gt;CTRL E U - uncomment selection&lt;br /&gt;&lt;br /&gt;CTRL  U       -    To Lower&lt;br /&gt;CTRL  Shift U       -    To Upper&lt;br /&gt;&lt;br /&gt;CTRL + \ D - Code Definition Window&lt;br /&gt;CTRL + \ M - Team Explorer&lt;br /&gt;&lt;br /&gt;CTRL ALT B - Breakpoints window&lt;br /&gt;CTRL ALT ↓ - Files Open List&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-9033262211199530057?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/9033262211199530057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=9033262211199530057' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/9033262211199530057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/9033262211199530057'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2010/02/visual-studio-shortcuts.html' title='Visual Studio 2008 Shortcuts'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-3154354741456732559</id><published>2010-02-01T10:09:00.002+11:00</published><updated>2010-02-01T10:14:16.330+11:00</updated><title type='text'>Firefox Add-Ons</title><content type='html'>&lt;ul&gt;&lt;li&gt;Adblock Plus&lt;/li&gt;&lt;li&gt;CodeBurner for Firebug (Extends Firebug with reference material for HTML and CSS)    &lt;/li&gt;&lt;li&gt;ColorZilla (Advanced Eyedropper, ColorPicker, Page Zoomer and other colorful goodies)&lt;/li&gt;&lt;li&gt;CoLT (Makes it easy to copy link text and locations)&lt;/li&gt;&lt;li&gt;Delicious Bookmarks&lt;/li&gt;&lt;li&gt;Dictionary Search&lt;/li&gt;&lt;li&gt;FiddlerHook&lt;/li&gt;&lt;li&gt;FireBug&lt;/li&gt;&lt;li&gt;FireFTP&lt;/li&gt;&lt;li&gt;LeechBlock&lt;/li&gt;&lt;li&gt;Shorten URL&lt;/li&gt;&lt;li&gt;Tab Preview&lt;/li&gt;&lt;li&gt;Web Developer&lt;/li&gt;&lt;li&gt;YSLow&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-3154354741456732559?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/3154354741456732559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=3154354741456732559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3154354741456732559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3154354741456732559'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2010/02/firefox-add-ons.html' title='Firefox Add-Ons'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-7724890720172789577</id><published>2009-12-24T09:52:00.008+11:00</published><updated>2009-12-24T10:38:42.330+11:00</updated><title type='text'>Useful Utility programs</title><content type='html'>A good place to start would be &lt;a href="http://www.hanselman.com/blog/ScottHanselmans2009UltimateDeveloperAndPowerUsersToolListForWindows.aspx"&gt;Scott Hanselman's 2009 Ultimate Developer and Power Users Tool List for Windows&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This is my list from 18 months ago - &lt;a href="http://par2008.blogspot.com/2008/06/utility-programs-tools-add-ins-plus.html"&gt;Utility Programs, Tools, Add-Ins plus other stuff&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Updated list.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://ninite.com/"&gt;Ninite&lt;/a&gt; - Pick from a big list of utility programs ninite will go get them all for you, install them and make sure the crapware toolbars and ebay links are &lt;span style="font-weight: bold;"&gt;not &lt;/span&gt;installed. &lt;a href="http://www.howtogeek.com/howto/4774/getvolery-makes-installing-software-incredibly-simple/"&gt;Reviewed on HowToGeek.com&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Unlocker Assistant - When you try and delete something and you get the file locked message, the Unlocker Assistant will pop up, giving you the option to unlock the files and perform your delete. &lt;a href="http://ccollomb.free.fr/unlocker/"&gt;Download from here&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;DiffMerge -is an application to visually compare and merge files for Windows, Mac OS X and Unix. &lt;a href="http://www.sourcegear.com/diffmerge/"&gt;Download from here&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If using DiffMerge with Subversion, the following settings can be used to 'Diff' and 'Merge'&lt;br /&gt;&lt;br /&gt;Diff Viewer&lt;br /&gt;&lt;blockquote&gt;C:\Program  Files\SourceGear\DiffMerge\DiffMerge.exe /t1=%bname /t2=%yname %base  %mine&lt;/blockquote&gt;&lt;br /&gt;Merge&lt;br /&gt;&lt;blockquote&gt;C:\Program Files\SourceGear\DiffMerge\DiffMerge.exe /m /r=%merged /t1=%yname /t2=%bname /t3=%tname /c=%mname %mine %base %theirs&lt;/blockquote&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx"&gt;Sysinternals Suite&lt;/a&gt; - Has many useful tools including&lt;/li&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;AutoRuns - This utility shows you what programs are configured to run during system bootup or login. &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb963902.aspx"&gt;Download from here&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;BgInfo - is a little tool that displays a load of your system information as a bmp on your desktop. &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb897557.aspx"&gt;More information from here&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.daemon-tools.cc/eng/home"&gt;Daemon Tools&lt;/a&gt; - Mount iso image&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/RegexWorkbench"&gt;Regular Expression Workbench&lt;/a&gt; - a utility that lets you experiment with .NET regular expressions.&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;em&gt;&lt;/em&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.sqlscripter.com/"&gt;SqlScripter&lt;/a&gt; - simple, low-cost tool for quickly exporting data&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.foxitsoftware.com/pdf/reader/"&gt;Foxit&lt;/a&gt; - a pdf reader&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/www.getpaint.net/"&gt;Paint.Net&lt;/a&gt; - a free image and photo editing software for computers that run Windows&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ccleaner.com/"&gt;CCleaner&lt;/a&gt; - removes unused files from your system.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.innovative-sol.com/drivermax/"&gt;Driver Max&lt;/a&gt; -  find updates for your drivers, also backup and restore them.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.linqpad.net/"&gt;LinqPad&lt;/a&gt; - A great way to learn LINQ.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/Security_Essentials/"&gt;Microsoft Security Essentials&lt;/a&gt; - its a virus checker, and its free, &lt;a href="http://www.howtogeek.com/howto/4419/microsoft-security-essentials-is-a-free-antivirus-utility-from-microsoft/"&gt;reviewed here&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.moo0.com/?top=http://www.moo0.com/software/SystemMonitor/%23SystemMonitor"&gt;Moo0 System Monitor&lt;/a&gt; - An easy way to monitor your computer’s system resource usage.  &lt;a href="http://www.howtogeek.com/howto/2819/monitor-your-computer-the-easy-way-with-moo0-system-monitor/"&gt; Reviewed here&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.mirekw.com/winfreeware/mwsnap.html"&gt;MWSnap &lt;/a&gt;- free screen capture software&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.red-gate.com/products/reflector/"&gt;Reflector &lt;/a&gt;- If you dont know about reflector, you probably dont need it.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://secunia.com/vulnerability_scanning/personal/"&gt;Secunia Personal Software Inspector&lt;/a&gt; - Scans your machine to find out of date software that you are using, this could have security implications for you. Is covered in this article from &lt;a href="http://www.howtogeek.com/howto/5529/how-to-keep-your-new-windows-7-computer-updated-and-secure/"&gt;HowToGeek.com&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://vmtoolkit.com/files/folders/converters/entry87.aspx"&gt;VHD Resizer&lt;/a&gt; - Heres a how to from &lt;a href="http://serverfault.com/questions/6139/how-do-i-change-the-size-of-a-vhd"&gt;Serverfault.com&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.dban.org/download"&gt;DBAN - Boot and Nuke&lt;/a&gt; - DBAN will automatically and completely delete the contents of any hard disk that it can detect, which makes it an appropriate utility for bulk or emergency data destruction.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-7724890720172789577?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/7724890720172789577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=7724890720172789577' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7724890720172789577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7724890720172789577'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/12/useful-utility-programs.html' title='Useful Utility programs'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-5206671275476495799</id><published>2009-12-24T09:43:00.005+11:00</published><updated>2011-02-10T13:04:30.788+11:00</updated><title type='text'>Some random HowToGeek Links</title><content type='html'>&lt;ul&gt;        &lt;li&gt;&lt;a href="http://www.howtogeek.com/howto/5529/how-to-keep-your-new-windows-7-computer-updated-and-secure/"&gt;            How To Keep Your Windows PC Updated&lt;/a&gt;&lt;br /&gt;        &lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.howtogeek.com/howto/windows/command-line-hack-for-terminal-server-has-exceeded-the-maximum-number-of-allowed-connections/"&gt;            Command Line Hack for: "Terminal Server Has Exceeded the Maximum Number of Allowed            Connections"&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.howtogeek.com/howto/windows/disable-fast-user-switching-on-windows-xp/"&gt;            Disable Fast User Switching on Windows XP&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.howtogeek.com/howto/windows/dual-monitors-use-a-different-wallpaper-on-each-desktop/"&gt;            Dual Monitors: Use a Different Wallpaper on Each Desktop&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://blogs.howtogeek.com/mysticgeek/2009/04/28/enhance-windows-functionality-with-extensions-for-windows/"&gt;            Enhance Productivity With Extensions For Windows&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.howtogeek.com/howto/3497/find-domain-information-the-easy-way-with-win32whois/"&gt;            Find Domain Information the Easy Way with Win32Whois&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.howtogeek.com/howto/blogging/find-out-what-keywords-are-bringing-visitors-to-your-site-with-google-analytics/"&gt;            Find Out What Keywords are Bringing Visitors to Your Site with Google Analytics&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.howtogeek.com/howto/blogging/find-out-which-articles-are-most-popular-on-your-site-with-analytics/"&gt;            Find Out Which Articles Are Most Popular on Your Site With Google Analytics&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://blogs.howtogeek.com/mysticgeek/2008/10/01/geek-reviews-monitor-and-benchmark-your-pc-with-pc-wizard/"&gt;            Geek Reviews: Monitor And Benchmark Your PC with PC Wizard&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.howtogeek.com/howto/internet/prevent-annoying-websites-from-messing-with-the-right-click-menu-in-firefox/"&gt;            Prevent Annoying Websites From Messing With the Right-Click Menu in Firefox&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.howtogeek.com/howto/internet/firefox/spice-up-that-boring-aboutblank-page-in-firefox/"&gt;            Spice Up that Boring about:blank Page in Firefox&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.howtogeek.com/howto/1864/understand-words-using-dictionarysearch/"&gt;            Understand Words Using DictionarySearch&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.howtogeek.com/howto/windows-vista/add-open-with-notepad-to-the-context-menu-for-all-files/"&gt;           Add "Open with Notepad" to the Context Menu for All Files&lt;/a&gt;&lt;/li&gt;                &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-5206671275476495799?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/5206671275476495799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=5206671275476495799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5206671275476495799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5206671275476495799'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/12/some-random-howtogeek-links.html' title='Some random HowToGeek Links'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-8847585160936608259</id><published>2009-12-23T15:41:00.004+11:00</published><updated>2009-12-24T09:49:42.778+11:00</updated><title type='text'>What is WCF?</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://blah.winsmarts.com/2008-4-What_is_WCF.aspx"&gt;&lt;span&gt;What is WCF?&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href="http://blah.winsmarts.com/2008-4-Writing_the_WCF_Hello_World_App.aspx"&gt;Writing the WCF Hello World App &lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href="http://blah.winsmarts.com/2008-4-Writing_your_first_WCF_client.aspx"&gt;Writing your first WCF client &lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href="http://blah.winsmarts.com/2008-4-Host_a_WCF_Service_in_IIS_7_-and-amp;_Windows_2008_-_The_right_way.aspx"&gt;Host a WCF Service in IIS 7 &amp;amp; Windows 2008 - The right way&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href="http://dnrtv.com/default.aspx?ShowID=135&amp;amp;utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+DnrtvWmv+%28dnrTV+%28wmv+Video%29%29&amp;amp;utm_content=Google+Reader"&gt;Dot Net Rocks TV - Keith Elder Demystifies WCF&lt;/a&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-8847585160936608259?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/8847585160936608259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=8847585160936608259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8847585160936608259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8847585160936608259'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/12/what-is-wcf.html' title='What is WCF?'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-1052711463250542296</id><published>2009-12-15T20:59:00.003+11:00</published><updated>2009-12-15T21:07:50.506+11:00</updated><title type='text'>Certified Scrum Master</title><content type='html'>Last month I attended a certified Scrum Master course facilitated by &lt;a href="http://www.scrumalliance.org/profiles/11-kane-mar"&gt;Kane Mar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It was a two day course well run and enoyable, at the end of which after taking the Scrum Master exam I can now call myself a Certified Scrum Master. A bit of a grandiose title maybe but I feel the knowledge learnt was definetly worthwhile.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-1052711463250542296?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/1052711463250542296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=1052711463250542296' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1052711463250542296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1052711463250542296'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/12/certified-scrum-master.html' title='Certified Scrum Master'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-6478650329323840165</id><published>2009-08-21T16:22:00.002+10:00</published><updated>2009-08-21T16:25:10.090+10:00</updated><title type='text'>To output special characters not on your keyboard.</title><content type='html'>To output special characters that arent on your keyboard you can use the number key pad and the ALT key&lt;br /&gt;&lt;br /&gt;For example ALT 0235 will output ë&lt;br /&gt;&lt;br /&gt;To find the number you can use the Character Map application;&lt;br /&gt;&lt;br /&gt;Start &gt; Programs &gt; Accessories &gt; System Tools &gt; Character Map&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-6478650329323840165?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/6478650329323840165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=6478650329323840165' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6478650329323840165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6478650329323840165'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/08/to-output-special-characters-not-on.html' title='To output special characters not on your keyboard.'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-4152684962939604848</id><published>2009-08-18T21:37:00.005+10:00</published><updated>2010-03-23T08:49:05.799+11:00</updated><title type='text'>A whole lot of Linq</title><content type='html'>A blog post on &lt;a href="http://www.codinghorror.com/blog/2010/03/compiled-or-bust.html"&gt;Linq 2 Sql performance&lt;/a&gt; from Jeff Atwood&lt;br /&gt;&lt;br /&gt;A whole load of linq posts from &lt;a href="http://srtsolutions.com/blogs/billwagner/default.aspx"&gt;Bill Wagner' s blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/01/13/exploring-linq-part-1-of-n.aspx"&gt;Exploring LINQ: Part 1 of N&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/01/18/linq-exploration-2.aspx"&gt;LINQ Exploration 2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/02/21/linq-exploration-3.aspx"&gt;LINQ Exploration&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/02/24/the-next-linq-installment.aspx"&gt;The next LINQ installment&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/02/27/another-linq-investigation-item.aspx"&gt;Another LINQ investigation item&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/03/04/yet-another-linq-entry.aspx"&gt;Yet Another LINQ entry&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/03/09/i-gotta-have-more-linq-content.aspx"&gt;I gotta have more LINQ content&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/03/21/more-linq-investigation.aspx"&gt;More LINQ Investigation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/03/29/ordering-linq-results.aspx"&gt;Ordering LINQ results&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/04/04/grouping-linq-results.aspx"&gt;Grouping LINQ results&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/04/10/linq-samples-part-11.aspx"&gt;LINQ Samples: Part 11&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/04/19/linq-samples-part-12.aspx"&gt;LINQ Samples: Part 12&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/05/18/where-you-at-item-where-you-at.aspx"&gt;Where you at item, where you at?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/05/19/more-linq-boolean-tests-on-sequences.aspx"&gt;More LINQ: boolean tests on sequences&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/06/04/more-linq-aggregation-operators.aspx"&gt;More LINQ: Aggregation operators&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/06/07/miscellaneous-linq-methods.aspx"&gt;Miscellaneous LINQ methods&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/06/21/deferred-vs-immediate-query.aspx"&gt;Deferred vs. Immediate query&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/07/13/join-together.aspx"&gt;Join Together&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/08/05/linq-to-sql-the-technology-previously-known-as-dlinq.aspx"&gt;Linq to SQL (the technology previously known as DLinq)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/08/23/dlinq-2-where-clauses-and-database-queries.aspx"&gt;DLINQ 2: Where clauses and database queries&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/08/26/linqtosql-translating-c-to-sql.aspx"&gt;LinqToSql: Translating C# to SQL&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/09/01/dlinq-queries-mathematics-functions.aspx"&gt;DLinq queries: Mathematics functions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/09/13/linqtosql-joins.aspx"&gt;LinqToSql: Joins&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/09/29/linq2sql-group-by-order-by-and-why-i-prefer-c-to-t-sql.aspx"&gt;Linq2SQL: Group By Order By, and why I prefer C# To T-SQL&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/10/06/linq-2-sql-set-operations.aspx"&gt;LINQ 2 SQL Set Operations&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/10/14/paging-output-with-linq2sql.aspx"&gt;Paging output with Linq2SQL&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2006/12/04/linq-to-sql.aspx"&gt;LINQ to SQL Optimistic Concurrency: How LINQ to SQL behaves&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://srtsolutions.com/blogs/billwagner/archive/2007/02/27/more-linq-2-sql-finally.aspx"&gt;More LINQ 2 SQL (finally)&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-4152684962939604848?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/4152684962939604848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=4152684962939604848' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4152684962939604848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4152684962939604848'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/08/whole-lot-of-linq.html' title='A whole lot of Linq'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-1446347816076606543</id><published>2009-03-20T11:04:00.004+11:00</published><updated>2010-01-19T15:18:39.138+11:00</updated><title type='text'>SQL Versions and Service Packs</title><content type='html'>Some links for determining SQL Server versions and getting up to date service packs.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://support.microsoft.com/kb/321185"&gt;How to identify your SQL Server version and edition&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.microsoft.com/kb/968382"&gt;How to obtain the latest service pack for SQL Server 2008&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.microsoft.com/kb/913089"&gt;How to obtain the latest service pack for SQL Server 2005&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.microsoft.com/kb/290211"&gt;How to obtain the latest SQL Server 2000 service pack&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-1446347816076606543?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/1446347816076606543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=1446347816076606543' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1446347816076606543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1446347816076606543'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/03/sql-versions-and-service-packs.html' title='SQL Versions and Service Packs'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-3418888203409584369</id><published>2009-03-19T14:56:00.007+11:00</published><updated>2009-03-19T17:37:09.391+11:00</updated><title type='text'>Increase the size of your Microsoft Virtual PC hard disk</title><content type='html'>So you have a virtual PC disk with 20 Gb C drive on it and after a few installs you decide to install Visual Studio service pack 1, and it tells you it needs 4Gb to do it...&lt;br /&gt;&lt;br /&gt;So you need to increase the size of your vhd, and you need to do it on the system volume, heres how;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download VHDResizer from &lt;a href="http://vmtoolkit.com/files/folders/converters/entry87.aspx"&gt;here&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Following these instructions from "Murnic" on this &lt;a href="http://vmtoolkit.com/forums/thread/331.aspx"&gt;thread&lt;/a&gt; didnt work, on entering EXTEND, not sure on the exact wording now, but it was along the lines of cant extend this volume.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;The easiest way to do this (as long as you have enough hard drive space) is to extend your existing VHD using VHD Expander which gives you two VHD files. The newly extended file will take the name of your existing VHD. You might want to Defragment, Precompact, and Compact your VHD prior to extending your VHD.&lt;/p&gt; &lt;p&gt;In Virtual PC 2007 go to Settings.&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Select your &lt;strong&gt;OLD&lt;/strong&gt; VHD as Hard Disk 1&lt;/li&gt;&lt;li&gt;Select your newly extended VHD as Hard Disk 2&lt;/li&gt;&lt;li&gt;Boot your VM&lt;/li&gt;&lt;li&gt;Open an Command Prompt&lt;/li&gt;&lt;li&gt;Run diskpart&lt;/li&gt;&lt;li&gt;From DISKPART&gt;&lt;br /&gt;- Execute LIST VOLUME&lt;br /&gt;- Select your new VHD volume by executing SELECT VOLUME &lt;n&gt; where &lt;n&gt; is your new VHD most likely 2&lt;br /&gt;- Execute EXTEND&lt;br /&gt;- You should see a success message.  If not you may have to recreate your extended VHD due to an error in the process.&lt;/n&gt;&lt;/n&gt;&lt;/li&gt;&lt;li&gt;Quit Diskpart.exe by typing EXIT&lt;/li&gt;&lt;li&gt;Shut Down the VM&lt;/li&gt;&lt;li&gt;Remove both VHD files from the Hard Disks list&lt;/li&gt;&lt;li&gt;Add your newly extended VHD as Hard Disk 1&lt;/li&gt;&lt;li&gt;Boot your VM.&lt;/li&gt;&lt;li&gt;You will get a Windows Newly Added Hardware message after a short time.&lt;/li&gt;&lt;li&gt;Reboot the VM when prompted&lt;/li&gt;&lt;li&gt;Start using your newly extended VHD!&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Here is Microsoft's information on extending volumes using Diskpart.exe:  &lt;a href="http://support.microsoft.com/kb/325590"&gt;http://support.microsoft.com/kb/325590&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href="http://support.microsoft.com/kb/325590"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;So I went back to these instructions from 'AutoSponge' at the start of the same thread,&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;"&gt;Mount the image&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family: 'Courier New';"&gt;C:\&gt;Program Files\Microsoft Virtual Server\Vhdmount&gt;vhdmount /m “C:Documents and Settings\All Users\Documents\Shared Virtual Machines\&lt;server&gt;\&lt;server&gt;.vhd” &lt;drive&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;"&gt;Start diskpart&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family: 'Courier New';"&gt;C:\&gt;Program Files\Microsoft Virtual Server\Vhdmount&gt;diskpart&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;"&gt;Expand the partition&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family: 'Courier New';"&gt;DISKPART&gt;list disk&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family: 'Courier New';"&gt;DISKPART&gt;select disk 3 &lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;-----check the number in the list&lt;span style="font-family: 'Courier New';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family: 'Courier New';"&gt;DISKPART&gt;list part&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family: 'Courier New';"&gt;DISKPART&gt;select part 1 &lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;-----check the number in the list&lt;span style="font-family: 'Courier New';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family: 'Courier New';"&gt;DISKPART&gt;extend&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family: 'Courier New';"&gt;DISKPART&gt;list part &lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;-----check the new size&lt;span style="font-family: 'Courier New';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family: 'Courier New';"&gt;DISKPART&gt;exit&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Verdana;"&gt;Dismount and save changes&lt;/span&gt;&lt;/p&gt; &lt;span style="font-family: 'Courier New';"&gt;C:\&gt;Program Files\Microsoft Virtual Server\Vhdmount&gt;vhdmount /u /c “C:Documents and Settings\All Users\Documents\Shared Virtual Machines\&lt;server&gt;\&lt;server&gt;.vhd”&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;You can get download &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=bc49c7c8-4840-4e67-8dc4-1e6e218acce4&amp;amp;displaylang=en&amp;amp;Hash=bRgN%2bdbbJlcJDX3z8qu7WeSFOxk9UsQe667C0MNaz%2beOZU2grT74dtPNgGDgqbiLXvgaYyBz63DZkWE4amRqxw%3d%3d"&gt;Microsoft Virtual Server here&lt;/a&gt;.&lt;br /&gt;You can do a custom install and only select VHDMount&lt;br /&gt;&lt;br /&gt;Some more information&lt;a href="http://www.petri.co.il/mounting-vhd-files-with-vhdmount.htm"&gt; using VHDMount&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Using &lt;a href="http://blogs.msdn.com/virtual_pc_guy/archive/2006/09/05/740763.aspx"&gt;VHDMount with Windows XP&lt;/a&gt; - &lt;span style="font-family:Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:Arial;"&gt;It is not possible to use '/m' (Mount), you can only use '/p' (Plug in).&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;The reason for this is that VHDMount uses VDS (the Virtual Disk Service) to assign a disk letter to the virtual hard disk after it is mounted, but VDS is only included in Windows Server 2003 and later.  This is not too big of an issue though, as unlike Windows Server 2003, Windows XP will automatically mount the virtual hard disk when it is plugged in.  This means that the only functionality you lose on Windows XP is the ability to specify exactly which drive letter should be used.&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;div class="ForumPostBodyArea"&gt;          &lt;div id="ctl00_ctl01_bcr_ctl00___PostRepeater_ctl11_PostViewWrapper" class="ForumPostContentText"&gt;           &lt;blockquote&gt;&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;             &lt;/div&gt;          &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-3418888203409584369?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/3418888203409584369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=3418888203409584369' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3418888203409584369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3418888203409584369'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/03/increase-size-of-your-microsoft-virtual.html' title='Increase the size of your Microsoft Virtual PC hard disk'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-1898462789560288642</id><published>2009-02-20T11:36:00.004+11:00</published><updated>2009-02-20T11:39:11.791+11:00</updated><title type='text'>SQL Intellisense not updating - SQL Server 2008</title><content type='html'>I created a new table in SQL Server 2008, then when SELECTing from it I got the red squiggly line.&lt;br /&gt;&lt;br /&gt;Closed the query window, still no luck.&lt;br /&gt;&lt;br /&gt;Found a post that suggested CTRL+Shift+R which worked!.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eggheadcafe.com/software/aspnet/32940546/intellisense-not-updating.aspx"&gt;More info here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-1898462789560288642?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/1898462789560288642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=1898462789560288642' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1898462789560288642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1898462789560288642'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/02/sql-intellisense-not-updating.html' title='SQL Intellisense not updating - SQL Server 2008'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-8176094802705334280</id><published>2009-02-03T15:26:00.002+11:00</published><updated>2009-02-03T15:33:21.171+11:00</updated><title type='text'>LDAP tutorial</title><content type='html'>I was reading the MOSS install on &lt;a href="http://www.sharepointforum.com/en-US/Wiki/Forms/DispForm.aspx?ID=3"&gt;this link&lt;/a&gt;, and one of the first things it says is 'Start by creating the following users in an OU in AD '.... Whats an OU?  - it took a couple of minutes but I found a couple of links.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://quark.humbug.org.au/publications/ldap/ldap_tut.html"&gt;Introduction to LDAP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://mail.state.ak.us/ldap.shtml"&gt;LDAP URL Query FAQs&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;OU is an organisational unit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-8176094802705334280?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/8176094802705334280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=8176094802705334280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8176094802705334280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8176094802705334280'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/02/ldap-tutorial.html' title='LDAP tutorial'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-5184632757231100677</id><published>2009-01-29T16:47:00.000+11:00</published><updated>2009-01-29T16:48:43.635+11:00</updated><title type='text'>Exam 70-542: TS: Microsoft Office SharePoint Server 2007 – Application Development</title><content type='html'>Today I passed, &lt;a href="http://www.microsoft.com/learning/en/us/exams/70-542.mspx"&gt;Exam 70-542: TS: Microsoft Office SharePoint Server 2007 – Application Development&lt;/a&gt;, with 1000 points which I was quite pleased about!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-5184632757231100677?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/5184632757231100677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=5184632757231100677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5184632757231100677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5184632757231100677'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/01/exam-70-542-ts-microsoft-office.html' title='Exam 70-542: TS: Microsoft Office SharePoint Server 2007 – Application Development'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-4664888847441393494</id><published>2009-01-27T07:38:00.002+11:00</published><updated>2009-01-27T07:42:11.535+11:00</updated><title type='text'>SharePoint on .NET Rocks</title><content type='html'>SharePoint on .NET Rocks Tv.&lt;br /&gt;&lt;br /&gt;Part 4 covers the BDC with the same content as in &lt;a href="http://par2008.blogspot.com/2009/01/sharepoint-2007-business-data-catalog.html"&gt;this post&lt;/a&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.dnrtv.com/default.aspx?showID=43"&gt;SharePoint 2007: Part 1&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.dnrtv.com/default.aspx?showID=48"&gt;SharePoint 2007: Part 2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.dnrtv.com/default.aspx?showID=55"&gt;SharePoint 2007: Part 3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.dnrtv.com/default.aspx?showID=62"&gt;SharePoint 2007: Part 4&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-4664888847441393494?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/4664888847441393494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=4664888847441393494' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4664888847441393494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4664888847441393494'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/01/sharepoint-on-net-rocks.html' title='SharePoint on .NET Rocks'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-742308387317867008</id><published>2009-01-23T12:04:00.002+11:00</published><updated>2009-01-23T12:07:12.866+11:00</updated><title type='text'>SharePoint 2007 - The Business Data Catalog</title><content type='html'>A good link giving a series of articles on the Business Data Catalog from Sahil Malik.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blah.winsmarts.com/2007-4-SharePoint_2007__BDC_-_The_Business_Data_Catalog.aspx"&gt;BDC - The Business Data Catalog&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-742308387317867008?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/742308387317867008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=742308387317867008' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/742308387317867008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/742308387317867008'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/01/sharepoint-2007-business-data-catalog.html' title='SharePoint 2007 - The Business Data Catalog'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-4041389793440501308</id><published>2009-01-22T09:35:00.003+11:00</published><updated>2009-01-22T11:43:40.948+11:00</updated><title type='text'>Records Management and Creating a custom Information Management Policy</title><content type='html'>A good series of posts from Zlatan Dzinic on Records Management.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://dotnet.org.za/zlatan/archive/2007/09/27/doing-records-management-in-sharepoint-2007-part-1-intro.aspx"&gt;Doing Records Management in SharePoint 2007 Part 1 (Intro)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnet.org.za/zlatan/archive/2007/10/02/doing-records-management-in-sharepoint-2007-part-2-creating-a-records-repository-and-file-plan.aspx"&gt;Doing Records Management in SharePoint 2007 Part 2 (Creating a Records Repository and Configuring the Retention Schedules)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnet.org.za/zlatan/archive/2007/10/06/doing-records-management-in-sharepoint-2007-part-3-sending-content-from-sharepoint-server-2007-to-the-records-repository-site.aspx"&gt;Doing Records Management in SharePoint 2007 Part 3 (Sending Content from SharePoint Server 2007 to the Records Repository site)&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;A good series of posts from Ton Stegeman on creating a custom information management policy.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.tonstegeman.com/Blog/Lists/Posts/Post.aspx?ID=22"&gt;Introduction and creating the policy feature&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.tonstegeman.com/Blog/Lists/Posts/Post.aspx?ID=23"&gt;Implementing the handler and submitting to a records centre&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href="http://www.tonstegeman.com/Blog/Lists/Posts/Post.aspx?ID=24"&gt;Implementing and testing the policy&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-4041389793440501308?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/4041389793440501308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=4041389793440501308' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4041389793440501308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4041389793440501308'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/01/creating-custom-information-management.html' title='Records Management and Creating a custom Information Management Policy'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-4359741858076655989</id><published>2009-01-15T18:40:00.000+11:00</published><updated>2009-01-15T18:42:03.743+11:00</updated><title type='text'>Exam 70-541: TS: Microsoft Windows SharePoint Services 3.0 – Application Development</title><content type='html'>Today I passed, &lt;a href="http://www.microsoft.com/learning/en/us/exams/70-541.mspx"&gt;Exam 70-541: TS: Microsoft Windows SharePoint Services 3.0 – Application Development&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Well done me!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-4359741858076655989?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/4359741858076655989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=4359741858076655989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4359741858076655989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4359741858076655989'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/01/exam-70-541-ts-microsoft-windows.html' title='Exam 70-541: TS: Microsoft Windows SharePoint Services 3.0 – Application Development'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-3132111784326797272</id><published>2009-01-10T07:39:00.000+11:00</published><updated>2009-01-10T07:40:30.622+11:00</updated><title type='text'>101 LINQ Samples from MSDN</title><content type='html'>&lt;a href="http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx"&gt;101 Linq Samples&lt;/a&gt; from MSDN.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-3132111784326797272?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/3132111784326797272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=3132111784326797272' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3132111784326797272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3132111784326797272'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/01/101-linq-samples-from-msdn.html' title='101 LINQ Samples from MSDN'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-894024643921708679</id><published>2009-01-09T08:48:00.003+11:00</published><updated>2009-01-09T09:05:24.333+11:00</updated><title type='text'>Create a WSS Site Collection.</title><content type='html'>It is very simple to create a WSS Site Collection!&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Startup SharePoint 3.0 Central Administration&lt;/li&gt;&lt;li&gt;Select Application Management tab&lt;/li&gt;&lt;li&gt;Click 'Create Site Collection' under SharePoint site management heading&lt;/li&gt;&lt;li&gt;Enter details and Click Ok.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-894024643921708679?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/894024643921708679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=894024643921708679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/894024643921708679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/894024643921708679'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/01/create-wss-site-collection.html' title='Create a WSS Site Collection.'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-4547671371098690848</id><published>2009-01-09T08:29:00.005+11:00</published><updated>2009-01-09T09:04:48.865+11:00</updated><title type='text'>The book - Inside Microsoft Windows SharePoint Services 3.0</title><content type='html'>I've just finished reading this book &lt;a href="http://www.amazon.com/Microsoft-Windows-SharePoint-Services-Developer/dp/0735623201"&gt;Inside Microsoft Windows SharePoint Services 3.0&lt;/a&gt;, it was straight forward to read beginning to end, containing a lot of useful information for the WSS developer. It has lots of good code samples, available &lt;a href="http://www.microsoft.com/mspress/companion/9780735623200/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Here follows my scribbled notes from the first chapter.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;WSS is a site provisioning engine.&lt;/li&gt;&lt;li&gt;WSS is part of Windows Server 2003.&lt;/li&gt;&lt;li&gt;MOSS - value adds a set of components and services that have been built on top  of this platform&lt;/li&gt;&lt;li&gt;A WSS site is a storage container for container, eg lists, libraries and child sites.&lt;/li&gt;&lt;li&gt;A WSS site is a securable entity.&lt;/li&gt;&lt;li&gt;WSS doesnt do authentication, it does authorisation.&lt;/li&gt;&lt;li&gt;A WSS site is an application with an extensible fully customisable user interface.&lt;/li&gt;&lt;li&gt;A WSS site is an application with an extensible, fully customisable user interface.&lt;/li&gt;&lt;li&gt;A WSS site is a foundation for using web parts.&lt;/li&gt;&lt;li&gt;A WSS site must be created within the scope of an existing Web Application, not as an independent entity; it must be created within a site collection.&lt;/li&gt;&lt;li&gt;A site collection is a container of WSS sites.&lt;/li&gt;&lt;li&gt;Each site collection requires a top level site, it can contain a hierarchy of child sites.&lt;/li&gt;&lt;li&gt;A Web Application, contains site collections, contains sites, contains lists,libraries,child sites.&lt;/li&gt;&lt;/ul&gt;How should you as a developer partition sites across site collections?&lt;br /&gt;&lt;br /&gt;To answer this you need to gain an understanding of how partitioning sites affects the scope   of admin priviledges, security boundaries, backup and restore and site design.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The concept of the site collection is important because it allows an IT dept to hand off the admin burden to the business divisions that own the sites.&lt;/li&gt;&lt;li&gt;A site collection is an 'island' ie they provide scope of membership and security authorisation.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;A site collection provides a convenient scope for backup and restore.&lt;/li&gt;&lt;li&gt;WSS object model allows for queries that span lists within a site collection but not across site collections.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;The WSS developer platform provides a comprehensive framework for scalable portable applications it includes;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; the object model&lt;/li&gt;&lt;li&gt;web part framework&lt;/li&gt;&lt;li&gt;web services&lt;/li&gt;&lt;li&gt;site provisioning model&lt;/li&gt;&lt;/ul&gt;It is important to differentiate between customisation and development.&lt;br /&gt;&lt;br /&gt;A user can customise lists, libraries, the appearance of pages using web parts, master pages and css using SharePoint designer. Customisation is saved within the content database. This is an advantage as it provides great flexibility to users and site admins. But a disadvantage for development as they are now hard to version and make repeatable across multiple sites.&lt;br /&gt;&lt;br /&gt;How can you move a customisation from dev &gt; staging &gt; production. How do you customise a single site and then reuse it across multiple sites. The answer is its difficult! If this is what you need to do you should be looking at development.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;WSS 3.0 has site columns&lt;/li&gt;&lt;li&gt;WSS 3.0 has content types&lt;/li&gt;&lt;li&gt;WSS 3.0 can work with Office Open XML file formats.&lt;/li&gt;&lt;li&gt;WSS 3.0 is built on top of Windows Workflow Foundation&lt;/li&gt;&lt;li&gt;Security and site membership within WSS 3.0  can be extended.&lt;/li&gt;&lt;/ul&gt;If you dont use Active Directory, you can build or acquire ASP.NET authentication provider.&lt;br /&gt;&lt;br /&gt;Features, Features, Features! - they feature a lot in the book.&lt;br /&gt;&lt;br /&gt;Features are a new developer focused innovation that has been added to WSS 3.0 They provide a mechanism for defining site elements and adding them to a target site or collection.&lt;br /&gt;&lt;br /&gt;Several object types in WSS object model such as SPSite and SPWeb use unmanaged resources and must be disposed of in a timely manner.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-4547671371098690848?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/4547671371098690848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=4547671371098690848' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4547671371098690848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4547671371098690848'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/01/book-inside-microsoft-windows.html' title='The book - Inside Microsoft Windows SharePoint Services 3.0'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-4319631331772315292</id><published>2009-01-06T10:30:00.004+11:00</published><updated>2009-01-06T10:45:12.368+11:00</updated><title type='text'>Get Quick Access to WSS '12' directory.</title><content type='html'>&lt;p&gt;Set up an environment variable,&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;eg.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Right click 'My Computer' select Properties&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Select Advanced Tab&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Click Environment Variables button&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Click New and give it a name eg 12 and value eg 'C:\Program Files\Common Files\Microsoft Shared\web server extensions\12'&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Click Ok&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Within windows explorer you can now enter %12% in the address bar&lt;br /&gt;In the command window you can type cd %12%&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-4319631331772315292?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/4319631331772315292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=4319631331772315292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4319631331772315292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4319631331772315292'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/01/get-quick-access-to-wss-12-directory.html' title='Get Quick Access to WSS &apos;12&apos; directory.'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-3904441899575880094</id><published>2009-01-06T10:20:00.005+11:00</published><updated>2009-01-06T10:43:57.625+11:00</updated><title type='text'>Windows SharePoint Services - Site Pages, Application Pages, Ghosted/Unghosted Pages</title><content type='html'>&lt;p&gt;Site pages support customisation. A customised site page is now an unghosted page. A site page that hasnt been customised is a ghosted page.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The fact that site pages support customisation provides flexibility but raises performance concerns and security issues.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Site pages do not support in-line code under the default security policy enforced by WSS.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Example Site pages&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;default.aspx&lt;/li&gt;&lt;br /&gt;&lt;li&gt;AllItems.aspx&lt;/li&gt;&lt;br /&gt;&lt;li&gt;NewForm.aspx&lt;/li&gt;&lt;br /&gt;&lt;li&gt;EditForm.aspx&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Application pages do not support customisation. Each application page is always compiled into a single DLL so it will perform and scale better than a site page.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Application pages support in-line code.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;You can create your own application page for a custom solution.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Application pages are in C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Example Application pages&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;settings.aspx&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-3904441899575880094?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/3904441899575880094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=3904441899575880094' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3904441899575880094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3904441899575880094'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/01/windows-sharepoint-services-site-pages.html' title='Windows SharePoint Services - Site Pages, Application Pages, Ghosted/Unghosted Pages'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-1930061591985491600</id><published>2009-01-05T12:52:00.002+11:00</published><updated>2009-01-05T13:01:44.333+11:00</updated><title type='text'>Windows SharePoint Services - Site Collection, Sites, Webs and Root Webs.</title><content type='html'>There is obvious potential for confusion between some of the terminology used in Windows SharePoint services WSS and its predecessor, SharePoint Team Services STS.&lt;br /&gt;&lt;br /&gt;&lt;table width ="200" border="1"&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;th width=100&gt;WSS term&lt;/th&gt;&lt;br /&gt;&lt;th&gt;STS term&lt;/th&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;Site Collection&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Site&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;Site&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Web&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;Top-level site&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Root Web&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;The confusion is increased a bit by the WSS object model class names being based on the STS terms.&lt;br /&gt;&lt;br /&gt;As a result you program against a site collection using an &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsite.aspx"&gt;SPSite&lt;/a&gt; object, and against a site using a &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb.aspx"&gt;SPWeb&lt;/a&gt; object.&lt;br /&gt;&lt;br /&gt;SPSite object provides a public property named RootWeb that returns an SPWeb object.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-1930061591985491600?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/1930061591985491600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=1930061591985491600' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1930061591985491600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1930061591985491600'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/01/windows-sharepoint-services-site.html' title='Windows SharePoint Services - Site Collection, Sites, Webs and Root Webs.'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-5477069633809097889</id><published>2009-01-05T11:02:00.003+11:00</published><updated>2009-01-05T11:21:33.300+11:00</updated><title type='text'>Windows SharePoint Services - Virtual Servers or Web Applications ?</title><content type='html'>The WSS product team initially used the term virtual server to describe an IIS Web site that had been extended with WSS functionality. The current WSS version and supporting documentation use the term Web Application mainly to avoid confusion with another Microsoft product of the same name. Unfortunately we must remember that the new term Web application and the old term virtual server are often both used interchangeably. &lt;br /&gt;&lt;br /&gt;For example, the WSS object model provides the (now obsolete) &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spvirtualserver.aspx"&gt;SPVirtualServer &lt;/a&gt; class to program against Web application objects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-5477069633809097889?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/5477069633809097889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=5477069633809097889' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5477069633809097889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5477069633809097889'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2009/01/windows-sharepoint-services-virtual.html' title='Windows SharePoint Services - Virtual Servers or Web Applications ?'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-681475209035936598</id><published>2008-12-15T22:32:00.002+11:00</published><updated>2008-12-15T22:33:12.925+11:00</updated><title type='text'>New features in C# 4</title><content type='html'>Follow the links for &lt;a href="http://blogs.msdn.com/charlie/archive/2008/11/04/new-features-in-c-4-0-paper-plus-feedback-and-samples.aspx"&gt;New Features in C# 4.0 Paper&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-681475209035936598?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/681475209035936598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=681475209035936598' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/681475209035936598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/681475209035936598'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/12/new-features-in-c-4.html' title='New features in C# 4'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-1604953100053008740</id><published>2008-12-15T22:27:00.003+11:00</published><updated>2008-12-15T22:28:57.784+11:00</updated><title type='text'>Microsoft Ajax client life cycle events cheat sheet</title><content type='html'>Click link for &lt;a href="http://www.aspnetresources.com/blog/ms_ajax_client__life_cycle_events_cheat_sheet.aspx"&gt;Microsoft Ajax client life cycle events cheat sheet&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-1604953100053008740?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/1604953100053008740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=1604953100053008740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1604953100053008740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1604953100053008740'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/12/microsoft-ajax-client-life-cycle-events.html' title='Microsoft Ajax client life cycle events cheat sheet'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-6510863461105396755</id><published>2008-12-15T22:23:00.000+11:00</published><updated>2008-12-15T22:26:34.914+11:00</updated><title type='text'>Aspnet life cycles events Cheat Sheet</title><content type='html'>Click link for &lt;a href="http://john-sheehan.com/blog/wp-content/uploads/aspnet-life-cycles-events.pdf"&gt;Aspnet life cycles events&lt;/a&gt;, plus lots of other cheat sheets &lt;a href="http://john-sheehan.com/blog/net-cheat-sheets/"&gt;here &lt;/a&gt;as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-6510863461105396755?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/6510863461105396755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=6510863461105396755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6510863461105396755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6510863461105396755'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/12/aspnet-life-cycles-events-cheat-sheet.html' title='Aspnet life cycles events Cheat Sheet'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-8486196081069311123</id><published>2008-12-12T14:32:00.001+11:00</published><updated>2008-12-12T19:29:05.185+11:00</updated><title type='text'>Profiler for .NET</title><content type='html'>A good profiler tool... not free but you can download and evaluate&lt;br /&gt;&lt;a href="http://www.jetbrains.com/profiler/"&gt;http://www.jetbrains.com/profiler/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-8486196081069311123?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/8486196081069311123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=8486196081069311123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8486196081069311123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8486196081069311123'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/12/profiler-for-net.html' title='Profiler for .NET'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-2087427020150798206</id><published>2008-12-01T22:00:00.012+11:00</published><updated>2011-01-11T21:47:58.895+11:00</updated><title type='text'>JQuery - Count Paragraphs</title><content type='html'>&lt;script type="text/javascript"&gt;function showNoOfParagraphs(e) {  $("div.FadeAndAnimation p.ParagraphResults")    .append("&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Paragraph Count :-"     + &lt;br /&gt; + $("div.FadeAndAnimation p").size() + "&lt;/b&gt;");} &lt;/script&gt;  &lt;style&gt; .FadeAndAnimation { border: solid 2px black; }&lt;/style&gt;&lt;ul&gt;&lt;li&gt;Add JQuerify bookmarklet to this page. (&lt;a href="http://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet/"&gt;Get JQuerify here&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;Add following click handlers to page using console in FireBug&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  $('#NoOfParagraphs').click(showNoOfParagraphs)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;p&gt;Example taken from here &lt;a href="http://docs.jquery.com/Tutorials:Live_Examples_of_jQuery"&gt;docs.jquery.com&lt;/a&gt;&lt;/p&gt;&lt;input type="submit" name="NumberOfParagraphs" value="Number Of Paragraphs" id="NoOfParagraphs" /&gt;&lt;/div&gt;&lt;div class="FadeAndAnimation"&gt;&lt;p class="ParagraphResults"&gt;..1..&lt;/p&gt;&lt;p class="firstparagraph"&gt;"The quick brown fox jumps over the lazy dog" is a pangram (a phrase that contains all of the letters of the alphabet). It has been used to test typewriters and computer keyboards, and in other applications involving all of the letters in the English alphabet, because it is also a short coherent sentence.&lt;/p&gt; &lt;p class="secondparagraph"&gt;Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's  standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into....&lt;/p&gt; &lt;p class="thirdparagraph"&gt;..4..&lt;/p&gt; &lt;/div&gt; &lt;div&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;function showNoOfParagraphs(e) &lt;br /&gt;{&lt;br /&gt;  $('#NoOfParagraphs').click(function() {&lt;br /&gt;  $("div.FadeAndAnimation p.ParagraphResults").append("&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Paragraph Count :-" +&lt;br /&gt;                   &lt;br /&gt;  $("div.FadeAndAnimation p").size() + "&lt;/b&gt;");&lt;br /&gt; }&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-2087427020150798206?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/2087427020150798206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=2087427020150798206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2087427020150798206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2087427020150798206'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/12/jquery-count-paragraphs.html' title='JQuery - Count Paragraphs'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-7297471049786908041</id><published>2008-12-01T21:13:00.010+11:00</published><updated>2011-01-11T21:57:48.635+11:00</updated><title type='text'>JQuery - Basic Show and Hide</title><content type='html'>&lt;ul&gt;&lt;li&gt;Add JQuerify bookmarklet to this page. (&lt;a href="http://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet/"&gt;Get JQuerify here&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;Add following click handlers to page using console in FireBug&lt;br /&gt;&lt;ul&gt;&lt;li&gt; $('#hideh1').click(function() {$("div[class='titlewrapper']").hide();});&lt;/li&gt;&lt;li&gt; $('#showh1').click(function() {$("div[class='titlewrapper']").show();});&lt;/li&gt;&lt;li&gt; $('#toggleh1').click(function(){$("div[class='titlewrapper']").toggle();}); &lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;p&gt;Example taken from here... &lt;a href="http://docs.jquery.com/Tutorials:Basic_Show_and_Hide"&gt;docs.jquery.com&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Use the following buttons to show and hide this blogs title. &lt;br /&gt;&lt;input type="submit" name="hideh1" value="Hide blog title" id="hideh1" /&gt;&lt;input type="submit" name="showh1" value="Show blog title" id="showh1" /&gt;&lt;input type="submit" name="toggleh1" value="Toggle blog title" id="toggleh1" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-7297471049786908041?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/7297471049786908041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=7297471049786908041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7297471049786908041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7297471049786908041'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/12/jquery-basic-show-and-hide.html' title='JQuery - Basic Show and Hide'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-6073700505613285690</id><published>2008-11-30T19:33:00.015+11:00</published><updated>2011-01-12T13:57:36.775+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><title type='text'>JQuery Predicates - Attribute contains</title><content type='html'>&lt;script type="text/javascript"&gt;function showRedContains(e) { e.preventDefault(); $("[id *= 'ributeCont']").removeClass("YellowAttributeContains").addClass("RedAttributeContains"); }function showYellowContains(e) { e.preventDefault(); $("div[id*='ributeCont' ]").removeClass("RedAttributeContains").addClass("YellowAttributeContains"); }    &lt;/script&gt;&lt;style&gt;.YellowAttributeContains{background-color: Yellow; font-weight: bold;}.RedAttributeContains{background-color: Red; }&lt;/style&gt;&lt;ul&gt;&lt;li&gt;Add JQuerify bookmarklet to this page. (&lt;a href="http://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet/"&gt;Get JQuerify here&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;Add following click handlers to page using console in FireBug&lt;br /&gt;&lt;ul&gt;&lt;li&gt;$("#lnkRedAttributeContains").click(showRedContains);&lt;/li&gt;&lt;li&gt;$("#lnkYellowAttributeContains").click(showYellowContains);&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;To find an element with an id of 'HelloGoodbyeAttributeContains'&lt;br /&gt;&lt;a id="lnkYellowAttributeContains" href="#"&gt;click me yellow&lt;/a&gt;&lt;br /&gt;&lt;a id="lnkRedAttributeContains" href="#"&gt;click me red&lt;/a&gt;&lt;br /&gt;&lt;p&gt;The click me red also finds the two links as their ids match the predicate. The click me yellow is specifically looking for div elements therefore the two links are not turned yellow. &lt;/p&gt;&lt;/div&gt;&lt;div id="HelloGoodbyeAttributeContains"&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;br /&gt;JQuery Predicate, attribute Contains&lt;br /&gt;$("[ @id *= 'ributeCont' ]").removeClass("YellowAttributeContains").addClass("RedAttributeContains"); &lt;br /&gt;$("div[ @id *= 'ributeCont']").removeClass("RedAttributeContains").addClass("YellowAttributeContains"); &lt;br /&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-6073700505613285690?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/6073700505613285690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=6073700505613285690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6073700505613285690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6073700505613285690'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/11/jquery-predicates-attribute-contains.html' title='JQuery Predicates - Attribute contains'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-5759723454667201471</id><published>2008-11-30T18:52:00.019+11:00</published><updated>2011-01-12T13:57:14.092+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><title type='text'>JQuery Predicates - Attribute ends with</title><content type='html'>&lt;script type="text/javascript"&gt;function showRedEndsWith(e) {    e.preventDefault();    $("[id $= 'teEndsWith']").removeClass("YellowAttributeEndsWith").addClass("RedAttributeEndsWith"); }function showYellowEndsWith(e) {    e.preventDefault();    $("div[id $= 'teEndsWith']").removeClass("RedAttributeEndsWith").addClass("YellowAttributeEndsWith"); }    &lt;/script&gt;&lt;style&gt; .YellowAttributeEndsWith {  background-color: Yellow;  font-weight: bold; }  .RedAttributeEndsWith{background-color: Red;} &lt;/style&gt;&lt;ul&gt;&lt;li&gt;Add JQuerify bookmarklet to this page. (&lt;a href="http://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet/"&gt;Get JQuerify here&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;Add following click handlers to page using console in FireBug&lt;br /&gt;&lt;ul&gt;&lt;li&gt;$("#lnkRedAttributeEndsWith").click(showRedEndsWith);&lt;/li&gt;&lt;li&gt;$("#lnkYellowAttributeEndsWith").click(showYellowEndsWith);&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;To find an element with an id of 'HelloGoodbyeAttributeEndsWith' &lt;br /&gt;&lt;a id="lnkYellowAttributeEndsWith" href="#"&gt;click me yellow&lt;/a&gt;&lt;br /&gt;&lt;a id="lnkRedAttributeEndsWith" href="#"&gt;click me red&lt;/a&gt;&lt;br /&gt;&lt;p&gt;The click me red also finds the two links as their ids match the predicate. The click me yellow is specifically looking for div elements therefore the two links are not turned yellow. &lt;/p&gt;&lt;/div&gt;&lt;div id="HelloGoodbyeAttributeEndsWith"&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;br /&gt;JQuery Predicate, attribute Ends With&lt;br /&gt;$("[id$='teEndsWith']").removeClass("YellowAttributeEndsWith").addClass("RedAttributeEndsWith"); &lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;$("div[id$='teEndsWith']").removeClass("RedAttributeEndsWith").addClass("YellowAttributeEndsWith"); &lt;br /&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-5759723454667201471?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/5759723454667201471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=5759723454667201471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5759723454667201471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5759723454667201471'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/11/jquery-predicates-attribute-ends-with.html' title='JQuery Predicates - Attribute ends with'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-2288876315236806476</id><published>2008-11-30T18:52:00.018+11:00</published><updated>2011-01-12T13:56:53.132+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><title type='text'>JQuery Predicates - Attribute starts with</title><content type='html'>&lt;script type="text/javascript"&gt;function showRedStartsWith(e) {    e.preventDefault();    $("[id ^= 'HelloGoodbyeAttributeSt' ]")        .removeClass("YellowAttributeStartsWith")        .addClass("RedAttributeStartsWith"); }  function showYellowStartsWith(e) {    e.preventDefault();    $("div[id ^= 'HelloGoodbyeAttributeSt' ]")        .removeClass("RedAttributeStartsWith")        .addClass("YellowAttributeStartsWith");}&lt;/script&gt;  &lt;style&gt;   .YellowAttributeStartsWith   {    background-color: Yellow;    font-weight: bold;   }      .RedAttributeStartsWith { background-color: Red;}   &lt;/style&gt;  &lt;ul&gt;&lt;li&gt;Add JQuerify bookmarklet to this page. (&lt;a href="http://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet/"&gt;Get JQuerify here&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;Add following click handlers to page using console in FireBug&lt;br /&gt;&lt;ul&gt;&lt;li&gt;$("#lnkRedAttributeStartsWith").click(showRedStartsWith);&lt;/li&gt;&lt;li&gt;$("#lnkYellowAttributeStartsWith").click(showYellowStartsWith);&lt;/li&gt;&lt;/ul&gt;  &lt;div&gt;  To find an element with an id of 'HelloGoodbyeAttributeStartsWith'&lt;br /&gt;  &lt;a id="lnkYellowAttributeStartsWith" href="#"&gt;click me yellow&lt;/a&gt;&lt;br /&gt;  &lt;a id="lnkRedAttributeStartsWith" href="#"&gt;click me red&lt;/a&gt;&lt;br /&gt;  &lt;/div&gt;        &lt;div id="HelloGoodbyeAttributeStartsWith"&gt;  JQuery Predicate, attribute Starts With  &lt;PRE&gt;&lt;CODE&gt;&lt;br /&gt;&lt;br /&gt;$("[id ^= 'HelloGoodbyeAttributeSt']")&lt;br /&gt;    .removeClass("YellowAttributeStartsWith")&lt;br /&gt;    .addClass("RedAttributeStartsWith"); &lt;br /&gt;&lt;br /&gt;  or&lt;br /&gt;&lt;br /&gt;$("div[id^='HelloGoodbyeAttributeSt']")&lt;br /&gt;    .removeClass("RedAttributeStartsWith")&lt;br /&gt;    .addClass("YellowAttributeStartsWith"); &lt;br /&gt;&lt;br /&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-2288876315236806476?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/2288876315236806476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=2288876315236806476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2288876315236806476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2288876315236806476'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/11/jquery-predicates-attribute-starts-with.html' title='JQuery Predicates - Attribute starts with'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-1746823250686016046</id><published>2008-11-30T18:51:00.025+11:00</published><updated>2011-01-12T14:44:08.347+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><title type='text'>JQuery Predicates - Attribute equals</title><content type='html'>&lt;script type="text/javascript"&gt;function showRed(e) {    e.preventDefault();    $("[id='HelloGoodbyeAttributeEquals']").removeClass("YellowAttributeEquals").addClass("RedAttributeEquals");}function showYellow(e) {    e.preventDefault();    $("#HelloGoodbyeAttributeEquals").removeClass("RedAttributeEquals").addClass("YellowAttributeEquals"); }    &lt;/script&gt;&lt;style&gt; .YellowAttributeEquals {  background-color: Yellow;   font-weight: bold; }  .RedAttributeEquals { background-color: Red;} &lt;/style&gt;&lt;div&gt;This example uses JQuery attribute selector to add or remove a css class from an html element.&lt;ul&gt;&lt;li&gt;Add JQuerify bookmarklet to this page. (&lt;a href="http://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet/"&gt;Get JQuerify here&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;Add following click handlers to page using console in FireBug&lt;br /&gt;&lt;ul&gt;&lt;li&gt;$("#lnkRedAttributeEquals").click(showRed)&lt;/li&gt;&lt;li&gt;$("#lnkYellowAttributeEquals").click(showYellow);&lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;a id="lnkYellowAttributeEquals" href="#"&gt;click me yellow&lt;/a&gt; &lt;br /&gt;&lt;a id="lnkRedAttributeEquals" href="#"&gt;click me red&lt;/a&gt; &lt;br /&gt;&lt;/div&gt;&lt;div id="HelloGoodbyeAttributeEquals"&gt;This is an html div element with an id="HelloGoodbyeAttributeEquals"&lt;/div&gt;&lt;br /&gt;&lt;pre class="SourceCodeFormat" &gt;&lt;code class="SourceCodeFormat"&gt; &lt;br /&gt;&lt;br /&gt;JQuery Predicate, id attribute equals&lt;br /&gt;$("#HelloGoodbyeAttributeEquals").removeClass("YellowAttributeEquals").addClass("RedAttributeEquals"); &lt;br /&gt;&lt;br /&gt;or another syntax for an id attribute equals&lt;br /&gt;&lt;br /&gt;$("[id='HelloGoodbyeAttributeEquals']").removeClass("YellowAttributeEquals").addClass("RedAttributeEquals"); &lt;br /&gt;&lt;br /&gt;or a div tag with an id equals&lt;br /&gt;&lt;br /&gt;$("div[id='HelloGoodbyeAttributeEquals']").removeClass("YellowAttributeEquals").addClass("RedAttributeEquals"); &lt;br /&gt;&lt;br /&gt;function showRed(e) {&lt;br /&gt;    e.preventDefault();&lt;br /&gt;    $("[id='HelloGoodbyeAttributeEquals']").removeClass("YellowAttributeEquals")&lt;br /&gt;                                           .addClass("RedAttributeEquals");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function showYellow(e) {&lt;br /&gt;    e.preventDefault();&lt;br /&gt;    $("#HelloGoodbyeAttributeEquals").removeClass("RedAttributeEquals")&lt;br /&gt;                                     .addClass("YellowAttributeEquals"); &lt;br /&gt;}   &lt;br /&gt;&lt;br /&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-1746823250686016046?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/1746823250686016046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=1746823250686016046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1746823250686016046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1746823250686016046'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/11/jquery-predicates-attribute-equals.html' title='JQuery Predicates - Attribute equals'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-5006676296682993868</id><published>2008-11-28T09:12:00.004+11:00</published><updated>2008-11-28T09:15:56.103+11:00</updated><title type='text'>A RadioButton is a Checkbox</title><content type='html'>If you have this code and you are dealing with a RadioButton control&lt;br /&gt;then the output CSS class will be HighlightedBackgroundCheckbox because&lt;br /&gt;a RadioButton is a Checkbox.&lt;br /&gt;&lt;br /&gt;Simple fix is to check its a radiobutton first.&lt;br /&gt;&lt;br /&gt;&lt;PRE&gt;&lt;br /&gt;&lt;CODE&gt;&lt;br /&gt;namespace System.Web.UI.WebControls&lt;br /&gt;public class RadioButton : CheckBox&lt;br /&gt;&lt;/CODE&gt;&lt;br /&gt;&lt;/PRE&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;PRE&gt;&lt;br /&gt;&lt;CODE&gt;&lt;br /&gt;foreach (string boundNameToCompare in boundNames)&lt;br /&gt;{&lt;br /&gt;    CheckBox cb =&lt;br /&gt;        this.FindControl(this.TargetControlID) as CheckBox;&lt;br /&gt;    if (cb != null)&lt;br /&gt;    {&lt;br /&gt;        cb.CssClass = "HighlightedBackgroundCheckbox";&lt;br /&gt;        continue;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    RadioButton rb =&lt;br /&gt;        this.FindControl(this.TargetControlID) as RadioButton;&lt;br /&gt;    if (rb != null)&lt;br /&gt;    {&lt;br /&gt;        rb.CssClass = "radio HighlightedBackground";&lt;br /&gt;        continue;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/CODE&gt;&lt;br /&gt;&lt;/PRE&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-5006676296682993868?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/5006676296682993868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=5006676296682993868' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5006676296682993868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5006676296682993868'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/11/radiobutton-is-checkbox.html' title='A RadioButton is a Checkbox'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-7286490144653102444</id><published>2008-11-23T15:33:00.024+11:00</published><updated>2011-01-12T14:28:02.400+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><title type='text'>Learning Simple JQuery - Part 4.</title><content type='html'>&lt;style&gt; /* tables */  table.tablesorter { font-family:arial;  background-color: #CDCDCD;  margin:10px 0pt 15px;  font-size: 8pt;  width: 100%;  text-align: left; }  table.tablesorter thead tr th, table.tablesorter tfoot tr th {  background-color: #e6EEEE;  border: 1px solid #FFF;  font-size: 8pt;  padding: 4px; }  table.tablesorter thead tr .header {  background-image: url("http://tablesorter.com/themes/blue/bg.gif"); background-repeat: no-repeat;  background-position: center right;  cursor: pointer; }  table.tablesorter tbody td {  color: #3D3D3D;  padding: 4px;  background-color: #FFF;  vertical-align: top; }  table.tablesorter tbody tr.odd td {  background-color:#F0F0F6; }  table.tablesorter thead tr .headerSortUp {  background-image: url("http://tablesorter.com/themes/blue/asc.gif"); }  table.tablesorter thead tr .headerSortDown {  background-image: url("http://tablesorter.com/themes/blue/desc.gif"); }  table.tablesorter thead tr .headerSortDown, table.tablesorter thead tr .headerSortUp { background-color: #8dbdd8; }   &lt;/style&gt; &lt;div&gt;There are many plugins developers have created to use with JQuery, including this one "tablesorter" - http://tablesorter.com/docs/ &lt;ul&gt; &lt;li&gt; Add JQuerify to this page (&lt;a href="http://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet/"&gt;Get JQuerify here&lt;/a&gt;)&lt;/li&gt; &lt;li&gt; Add table sorter to this page as a bookmarklet - &lt;a href="javascript:(function(){var%20s2=window.document.createElement('script');s2.setAttribute('src','http://tablesorter.com/jquery.tablesorter.min.js');window.document.body.appendChild(s2);})();"&gt;TableSorter Bookmarklet&lt;/a&gt;&lt;/li&gt; &lt;li&gt;$("#myTableSorter").tablesorter(); &lt;/li&gt;&lt;/ul&gt;The following table should then have clickable/sortable headings. &lt;/div&gt;  &lt;div&gt; &lt;table id="myTableSorter" class="tablesorter"&gt;    &lt;thead&gt;   &lt;tr&gt;    &lt;th&gt;Row Number&lt;/th&gt;&lt;th&gt;Big Number&lt;/th&gt;&lt;th&gt;Word&lt;/th&gt;&lt;th&gt;Date&lt;/th&gt;&lt;/tr&gt;   &lt;/thead&gt;    &lt;tbody&gt;   &lt;tr&gt;    &lt;td&gt;1&lt;/td&gt;&lt;td&gt;4345&lt;/td&gt;&lt;td&gt;Animal&lt;/td&gt;&lt;td&gt;23 January 1987&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td&gt;2&lt;/td&gt;&lt;td&gt;32546&lt;/td&gt;&lt;td&gt;Vegetable&lt;/td&gt;&lt;td&gt;18 November 2005&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td&gt;3&lt;/td&gt;&lt;td&gt;265&lt;/td&gt;&lt;td&gt;Mineral&lt;/td&gt;&lt;td&gt;9 September 1973&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;4&lt;/td&gt;&lt;td&gt;4456&lt;/td&gt;&lt;td&gt;Element&lt;/td&gt;&lt;td&gt;31 December 1976&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td&gt;5&lt;/td&gt;&lt;td&gt;56&lt;/td&gt;&lt;td&gt;Zebra&lt;/td&gt;&lt;td&gt;14 August 2008&lt;/td&gt;   &lt;/tr&gt; /tbody&gt; &lt;/table&gt; &lt;/div&gt;&lt;div class="PaulsPointPostFooter"&gt;This simple JQuery example was taken from Stephen Walthers PDC 2008 talk.&lt;br /&gt;http://channel9.msdn.com/pdc2008/&lt;br /&gt;http://channel9.msdn.com/pdc2008/PC31/&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-7286490144653102444?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/7286490144653102444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=7286490144653102444' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7286490144653102444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7286490144653102444'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/11/learning-simple-jquery-part-4.html' title='Learning Simple JQuery - Part 4.'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-8165887005053137823</id><published>2008-11-23T15:23:00.017+11:00</published><updated>2011-01-12T14:24:04.923+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><title type='text'>Learning Simple JQuery - Part 3.</title><content type='html'>&lt;style&gt; .heading {background-color: yellow} .tablerow {background-color: red} .tablealtrow {background-color: orange} &lt;/style&gt;&lt;div&gt;This example demonstrates using JQuery selectors to add css classes to specific html table row elements.&lt;ul&gt;&lt;li&gt;Add JQuerify bookmarklet to this page. (&lt;a href="http://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet/"&gt;Get JQuerify here&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;Add following JQuery to page using console in FireBug&lt;br /&gt;&lt;ul&gt;  &lt;li&gt; $("#myColourTable tr:odd").addClass("tablerow"); $("#myColourTable tr:even").addClass("tablealtrow");&lt;/li&gt;  &lt;li&gt; $("#myColourTable tr:first").removeClass("tablealtrow").addClass("heading");&lt;/li&gt;&lt;/ul&gt; &lt;/div&gt;  &lt;div&gt; &lt;table id="myColourTable"&gt;  &lt;thead&gt;   &lt;tr&gt;&lt;th&gt;Row Number&lt;/th&gt;&lt;th&gt;Big Number&lt;/th&gt;&lt;th&gt;Word&lt;/th&gt;&lt;th&gt;Date&lt;/th&gt;&lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;   &lt;tr&gt;    &lt;td&gt;1&lt;/td&gt;&lt;td&gt;4345&lt;/td&gt;&lt;td&gt;Animal&lt;/td&gt;&lt;td&gt;23 January 1987&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td&gt;2&lt;/td&gt;&lt;td&gt;32546&lt;/td&gt;&lt;td&gt;Vegetable&lt;/td&gt;&lt;td&gt;18 November 2005&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td&gt;3&lt;/td&gt;&lt;td&gt;265&lt;/td&gt;&lt;td&gt;Mineral&lt;/td&gt;&lt;td&gt;9 September 1973&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td&gt;4&lt;/td&gt;&lt;td&gt;4456&lt;/td&gt;&lt;td&gt;Element&lt;/td&gt;&lt;td&gt;31 December 1976&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td&gt;5&lt;/td&gt;&lt;td&gt;56&lt;/td&gt;&lt;td&gt;Zebra&lt;/td&gt;&lt;td&gt;14 August 2008&lt;/td&gt;   &lt;/tr&gt;     &lt;/tbody&gt;   &lt;/table&gt;  &lt;/div&gt;&lt;div class="PaulsPointPostFooter"&gt;This simple JQuery example was taken from Stephen Walthers PDC 2008 talk.&lt;br /&gt;http://channel9.msdn.com/pdc2008/&lt;br /&gt;http://channel9.msdn.com/pdc2008/PC31/&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-8165887005053137823?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/8165887005053137823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=8165887005053137823' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8165887005053137823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8165887005053137823'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/11/learning-simple-jquery-part-3.html' title='Learning Simple JQuery - Part 3.'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-5675915486279229576</id><published>2008-11-23T14:06:00.015+11:00</published><updated>2011-01-12T14:17:35.475+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><title type='text'>Learning Simple JQuery - Part 2.</title><content type='html'>&lt;script type="text/javascript"&gt;  function hilite() {$(this).css("background-color", "red"); }  function unlite() {$(this).css("background-color", "yellow"); }    &lt;/script&gt;&lt;div&gt;This example uses JQuery to set the background-color of input text boxes, and attaches the focus/blur events to those text boxes with a "required" class.&lt;ul&gt;&lt;li&gt;Add JQuerify bookmarklet to this page. (&lt;a href="http://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet/"&gt;Get JQuerify here&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;Add following JavaScript to the page using the console tab in FireBug&lt;br /&gt;&lt;ul&gt;&lt;li&gt;$("input:text").css("background-color", "yellow"); &lt;/li&gt;&lt;li&gt;$("input:text.required").focus(hilite); $("input:text.required").blur(unlite);&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;table&gt; &lt;tr&gt;  &lt;td&gt;a textbox&lt;/td&gt;    &lt;td&gt;&lt;input type="text" id="text1"/&gt;&lt;/td&gt;    &lt;td&gt;&amp;nbsp;&lt;/td&gt;    &lt;td&gt;a required textbox&lt;/td&gt;    &lt;td&gt;&lt;input type="text" id="text2" class="required" /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;/table&gt;&lt;pre class="SourceCodeFormat" &gt;&lt;code class="SourceCodeFormat"&gt; &lt;br /&gt;  function hilite() {   &lt;br /&gt;   $(this).css("background-color", "red"); &lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  function unlite() {   &lt;br /&gt;   $(this).css("background-color", "yellow"); &lt;br /&gt;  }&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;  &lt;div class="PaulsPointPostFooter"&gt;This simple JQuery example was taken from Stephen Walthers PDC 2008 talk.&lt;br /&gt;http://channel9.msdn.com/pdc2008/&lt;br /&gt;http://channel9.msdn.com/pdc2008/PC31/&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-5675915486279229576?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/5675915486279229576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=5675915486279229576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5675915486279229576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5675915486279229576'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/11/learning-simple-jquery-part-2.html' title='Learning Simple JQuery - Part 2.'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-7498913233879700079</id><published>2008-11-21T21:17:00.078+11:00</published><updated>2011-01-12T13:54:54.506+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><title type='text'>Learning Simple JQuery - Part 1.</title><content type='html'>&lt;script type="text/javascript"&gt;function showLoginBox(e) {   e.preventDefault();   console.log('in fn. showLoginBox');   $("#PaulsPointLoginBox").slideDown("slow");}function hideLoginBox(e) {   e.preventDefault();   console.log('in fn. hideLoginBox');   $("#PaulsPointLoginBox").slideUp("slow");}&lt;/script&gt; &lt;style type="text/css"&gt; #PaulsPointLoginBox {    display: none;    height:250px;    padding: 10px 0px 0px 0px; } #PaulsPointLinks{  border: solid 1px black;  text-align: center;  padding: 20px;  width:225px;  height:25px;  }&lt;/style&gt;&lt;div&gt;This example demonstrates using an jQuery id selector on anchor tags to attach a click event. It also uses an id selector to attach the slideDown and slideUp JQuery functions to a html div element.&lt;ul&gt;&lt;li&gt;Add JQuerify bookmarklet to this page. (&lt;a href="http://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet/"&gt;Get JQuerify here&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;Add following click handlers to page using console in FireBug&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  $("#lnkShowLoginBox").click(showLoginBox); &lt;/li&gt;&lt;li&gt;  $("#lnkHideLoginBox").click(hideLoginBox); &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id="PaulsPointLinks"&gt;&lt;a id="lnkShowLoginBox" href="#"&gt;Show Me Code&lt;/a&gt; - &lt;a id="lnkHideLoginBox" href="#"&gt;Hide Me Code&lt;/a&gt;&lt;/div&gt;&lt;div id="PaulsPointLoginBox"&gt;&lt;pre class="SourceCodeFormat" &gt;&lt;code class="SourceCodeFormat"&gt; &lt;br /&gt;function showLoginBox(e) {  &lt;br /&gt;   e.preventDefault();  &lt;br /&gt;   console.log('in fn. showLoginBox');  &lt;br /&gt;   $("#PaulsPointLoginBox").slideDown("slow");  &lt;br /&gt; }  &lt;br /&gt;   &lt;br /&gt; function hideLoginBox(e) {  &lt;br /&gt;   e.preventDefault();  &lt;br /&gt;   console.log('in fn. hideLoginBox');  &lt;br /&gt;   $("#PaulsPointLoginBox").slideUp("slow");  &lt;br /&gt; }  &lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="PaulsPointPostFooter"&gt;This simple JQuery example was taken from Stephen Walthers PDC 2008 talk.&lt;br /&gt;http://channel9.msdn.com/pdc2008/&lt;br /&gt;http://channel9.msdn.com/pdc2008/PC31/&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-7498913233879700079?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/7498913233879700079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=7498913233879700079' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7498913233879700079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7498913233879700079'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/11/learning-simple-jquery-1.html' title='Learning Simple JQuery - Part 1.'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-673479763824418359</id><published>2008-11-06T13:51:00.003+11:00</published><updated>2008-11-06T13:52:25.536+11:00</updated><title type='text'>JavaScript - get the client Id inside a formview</title><content type='html'>Code snippet to get the client id of an asp control inside a formview&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;  var radio = $get('&lt;%= searchFormView.FindControl("RangeRadioButton").ClientID %&gt;');&lt;br /&gt;  if (radio.checked)&lt;br /&gt;  {&lt;br /&gt;  }&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-673479763824418359?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/673479763824418359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=673479763824418359' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/673479763824418359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/673479763824418359'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/11/javascript-get-client-id-inside.html' title='JavaScript - get the client Id inside a formview'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-1816767141305406114</id><published>2008-09-16T11:26:00.003+10:00</published><updated>2008-09-16T11:38:05.303+10:00</updated><title type='text'>JavaScript - Loop around properties of a textbox</title><content type='html'>&lt;pre&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;var allprops="";&lt;br /&gt; var count = 0;&lt;br /&gt; for (var prop in RangeFromTextbox)&lt;br /&gt; {&lt;br /&gt;     allprops += prop + "=" + RangeFrom[prop] + " \n" ;&lt;br /&gt;     if (count &gt; 20)&lt;br /&gt;     {&lt;br /&gt;         alert(allprops);&lt;br /&gt;         allprops = "";&lt;br /&gt;         count = 0;&lt;br /&gt;     }&lt;br /&gt;     count++;&lt;br /&gt; }&lt;br /&gt; alert(allprops);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-1816767141305406114?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/1816767141305406114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=1816767141305406114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1816767141305406114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1816767141305406114'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/09/javascript-loop-around-properties-of.html' title='JavaScript - Loop around properties of a textbox'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-6207210603223825221</id><published>2008-09-09T20:08:00.002+10:00</published><updated>2008-09-09T20:12:01.322+10:00</updated><title type='text'>Ajax Page Methods / Update Panels</title><content type='html'>Here is a blog post suggesting that UpdatePanels are often used in places where an Ajax Page Method would be better suited, it goes on to give an example of how to use Ajax Page Methods.&lt;br /&gt;&lt;a href="http://blogs.visoftinc.com/archive/2008/09/07/ASP.NET-AJAX-Page-Methods.aspx"&gt;&lt;br /&gt;ASP.NET AJAX Page Methods&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Heres another article with the same idea - Page Methods good, UpdatePanel bad.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://encosia.com/2007/07/11/why-aspnet-ajax-updatepanels-are-dangerous/"&gt;Why ASP.NET AJAX UpdatePanels are dangerous&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-6207210603223825221?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/6207210603223825221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=6207210603223825221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6207210603223825221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6207210603223825221'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/09/ajax-page-methods-update-panels.html' title='Ajax Page Methods / Update Panels'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-8324727315836606358</id><published>2008-09-08T12:06:00.003+10:00</published><updated>2008-09-16T11:37:41.873+10:00</updated><title type='text'>Recursive function through controls</title><content type='html'>&lt;pre&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;        /// &lt;summary&gt;&lt;br /&gt;        /// Recursive loop through form controls.&lt;br /&gt;        /// &lt;/summary&gt;&lt;br /&gt;        private void SetFormDisabled (Control control)&lt;br /&gt;        {&lt;br /&gt;            foreach (Control ctrl in control.Controls)&lt;br /&gt;            {&lt;br /&gt;                if (ctrl is TextBox) &lt;br /&gt;                {&lt;br /&gt;                    ((TextBox)(ctrl)).Enabled = false;&lt;br /&gt;                }&lt;br /&gt;                else if (ctrl is Telerik.WebControls.RadNumericTextBox)&lt;br /&gt;                {&lt;br /&gt;                    ((Telerik.WebControls.RadNumericTextBox)(ctrl)).Enabled = false;&lt;br /&gt;                }&lt;br /&gt;                else if (ctrl is CheckBox)&lt;br /&gt;                {&lt;br /&gt;                    ((CheckBox)(ctrl)).Enabled = false;&lt;br /&gt;                }&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                    if (ctrl.Controls.Count &gt; 0)&lt;br /&gt;                    {&lt;br /&gt;                        SetFormDisabled (ctrl);&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-8324727315836606358?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/8324727315836606358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=8324727315836606358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8324727315836606358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8324727315836606358'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/09/recursive-function-through-controls.html' title='Recursive function through controls'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-4277846335019031363</id><published>2008-09-06T12:37:00.002+10:00</published><updated>2008-09-06T12:38:35.532+10:00</updated><title type='text'>Regular Expressions - The Bare Minimum</title><content type='html'>A good link to read and pick up &lt;a href="http://immike.net/blog/2007/04/06/the-absolute-bare-minimum-every-programmer-should-know-about-regular-expressions/"&gt;The absolute bare minimum every programmer should know about regular expressions&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-4277846335019031363?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/4277846335019031363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=4277846335019031363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4277846335019031363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4277846335019031363'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/09/regular-expressions-bare-minimum.html' title='Regular Expressions - The Bare Minimum'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-2607864972738976815</id><published>2008-07-28T16:27:00.002+10:00</published><updated>2008-08-19T11:14:43.985+10:00</updated><title type='text'>Exam 70-630: TS: Microsoft Office SharePoint Server 2007, Configuring</title><content type='html'>Today I passed Exam 70-630: TS: Microsoft Office SharePoint Server 2007, Configuring.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/learning/en/us/exams/70-630.mspx"&gt;Exam link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Well done me!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-2607864972738976815?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/2607864972738976815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=2607864972738976815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2607864972738976815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2607864972738976815'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/07/exam-70-630-ts-microsoft-office.html' title='Exam 70-630: TS: Microsoft Office SharePoint Server 2007, Configuring'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-8744040646572919473</id><published>2008-07-17T13:48:00.000+10:00</published><updated>2008-07-17T13:49:20.836+10:00</updated><title type='text'>Cant find User.Identity.Name in a user control?</title><content type='html'>Its, Context.User.Identity.Name&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-8744040646572919473?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/8744040646572919473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=8744040646572919473' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8744040646572919473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8744040646572919473'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/07/cant-find-useridentityname-in-user.html' title='Cant find User.Identity.Name in a user control?'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-1139093006726263289</id><published>2008-07-01T15:51:00.005+10:00</published><updated>2008-07-02T08:20:19.192+10:00</updated><title type='text'>Last Months SharePoint Bootcamp Course</title><content type='html'>During 27-30 May I was on the Microsoft Office SharePoint Server 2007 Bootcamp course, the instructor was Mick Badran again which was good. This time the course was longer and included lab work which is definitely an easier way to learn.&lt;br /&gt;&lt;br /&gt;Some random notes from the week;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;its possible to map Features to Delegate controls&lt;/li&gt;&lt;li&gt;admin tools --&gt; active directory users and computers -- &gt; 'saved queries' --&gt;  use to build LDAP queries.&lt;/li&gt;&lt;li&gt;key focus points to take away include&lt;/li&gt;&lt;li&gt;Content Types - good to attach workflow to a content type not a type&lt;/li&gt;&lt;li&gt;VS Extensions for SharePoint - has solution generator, can point to a site and generate a solution for it.&lt;/li&gt;&lt;li&gt;SharePoint Exporer - codeplex tool&lt;/li&gt;&lt;li&gt;Silverlight.Net - SharePoint starter kit for SilverLight&lt;/li&gt;&lt;li&gt;SPLA Licensing - Leasing payments, usually no contracts, you pay for usage. eg SharePoint user = $50 per month. If you have a floor of 80 people, 200 need MOSS usually Microsoft answer is whole floor requires MOSS - with SPLA licensing you can pay for just the 20 MOSS you require. SPLA Licensing is also good for seasonal pressures.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Enterprise Content Management not really covered in this course, its more of a niche thing, its UI section of product&lt;/li&gt;&lt;li&gt;Pretty much anything you do in SharePoint browser UI can be done via developer API&lt;/li&gt;&lt;li&gt;www.wssdemo.com&lt;/li&gt;&lt;li&gt;Enterprise Search Resource Kit - get from Microsoft Rep.&lt;/li&gt;&lt;li&gt;SharePoint Team Services - previous version of SharePoint&lt;/li&gt;&lt;li&gt;MOSS can be installed on top of WSS&lt;/li&gt;&lt;li&gt;Outlook 2007 allows you to edit portal calendar within Outlook&lt;/li&gt;&lt;li&gt;Word 2007 Research pane you can search your portal&lt;/li&gt;&lt;li&gt;64 bit good, especially for SQL&lt;/li&gt;&lt;li&gt;No IIS configuration is necessary for SharePoint, its all in web.config&lt;/li&gt;&lt;li&gt;at site collection level you can nominate a content database&lt;/li&gt;&lt;li&gt;Joel Olsons blog - Sharepoint capacity and performance white paper&lt;/li&gt;&lt;li&gt;you can have 50,000 site collections per server&lt;/li&gt;&lt;li&gt;SharePoint Designer - gives the ability to work with DataView web parts&lt;/li&gt;&lt;li&gt;SharePoint Designer - recognizes the master page, VS doesnt due to way SharePoint does it&lt;/li&gt;&lt;li&gt;SharePoint Designer - doesnt lend itelf well to deployment&lt;/li&gt;&lt;li&gt;Development team should be using virtual servers&lt;/li&gt;&lt;li&gt;Subversion with cruise control for auto builds&lt;/li&gt;&lt;li&gt;rename a .docx file to .zip and open it to see folder structure of file&lt;/li&gt;&lt;li&gt;Forms Services can be a stand alone add-in to WSS&lt;/li&gt;&lt;li&gt;add the '12' directory to your favourites&lt;/li&gt;&lt;li&gt;add the 'bin' directory to your environment variables can then use cd %12%&lt;/li&gt;&lt;li&gt;always install WSS in farm mode - it gives you the option to extend, if you dont you cant switch to farm later&lt;/li&gt;&lt;li&gt;its WSS that is farm aware not MOSS&lt;/li&gt;&lt;li&gt;central admin database gets created on install&lt;/li&gt;&lt;li&gt;PSConfigUI.exe is wizard that create Sharepoint admin database, so you can give your own db name&lt;/li&gt;&lt;li&gt;3rd party web parts can be used to write back to AD&lt;/li&gt;&lt;li&gt;Permissions - keep it simple - keep the same default groups&lt;/li&gt;&lt;li&gt;Permissions - you can use the AD groups you already have within SharePoint&lt;/li&gt;&lt;li&gt;Upgrading - make sure first step is back up your content db&lt;/li&gt;&lt;li&gt;reason to move content into sharepoint is if it lacks a sensible structure&lt;/li&gt;&lt;li&gt;if directory has '_' in front of it then stuff runs in elevated mode, ie has high priority set, _layouts&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Master page - to minimise processing you can put unused content place holders into a visible=false panel&lt;/li&gt;&lt;li&gt;SPContext class can be used when coding web parts to get handle on SharePoint context&lt;/li&gt;&lt;li&gt;For 'complicated' web parts you can configure it, then save it , then add it back in as a new web part already configured for the user&lt;/li&gt;&lt;li&gt;On deployment, modified pages are considered as 'customised' pages and are treated differently&lt;/li&gt;&lt;li&gt;VS Extensions for SharePoint should be used for packaging and deploying web parts&lt;/li&gt;&lt;li&gt;Heather Soliman blog - has css snippets with what they affect within SharePoint&lt;/li&gt;&lt;li&gt;keep away from site definitions as much as possible - these were used in V2 for customisations&lt;/li&gt;&lt;li&gt;'MasterPage' pack is a download available from Microsoft.&lt;/li&gt;&lt;li&gt;deployment is a significant part of the total amount of work that needs to be done&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-1139093006726263289?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/1139093006726263289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=1139093006726263289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1139093006726263289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1139093006726263289'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/07/last-months-sharepoint-bootcamp-course.html' title='Last Months SharePoint Bootcamp Course'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-2447376843345267735</id><published>2008-06-30T12:57:00.005+10:00</published><updated>2008-06-30T13:14:22.563+10:00</updated><title type='text'>Utility Programs, Tools, Add-Ins plus other stuff.</title><content type='html'>&lt;div&gt;&lt;br /&gt;If your looking for a tool/utility list, this is a good place to start - &lt;a href="http://www.hanselman.com/tools"&gt;Scott Hanselman's 2007 Ultimate Developer and Power Users Tool List for Windows.&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;This is my list,&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Utility Programs&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Unlocker Assistant - When you try and delete something and you get the file locked message, the Unlocker Assistant will pop up, giving you the option to unlock the files and perform your delete. &lt;a href="http://ccollomb.free.fr/unlocker/"&gt;Download from here&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;DiffMerge -is an application to visually compare and merge files for Windows, Mac OS X and Unix. &lt;a href="http://www.sourcegear.com/diffmerge/"&gt;Download from here&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If using DiffMerge with Subversion, the following settings can be used to 'Diff' and 'Merge'&lt;br /&gt;&lt;br /&gt;Diff Viewer&lt;br /&gt;&lt;blockquote&gt;C:\Program  Files\SourceGear\DiffMerge\DiffMerge.exe /t1=%bname /t2=%yname %base  %mine&lt;/blockquote&gt;&lt;br /&gt;Merge&lt;br /&gt;&lt;blockquote&gt;C:\Program Files\SourceGear\DiffMerge\DiffMerge.exe /m /r=%merged /t1=%yname /t2=%bname /t3=%tname /c=%mname %mine %base %theirs&lt;/blockquote&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;AutoRuns - This utility shows you what programs are configured to run during system bootup or login. &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb963902.aspx"&gt;Download from here&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;BgInfo - is a little tool that displays a load of your system information as a bmp on your desktop. &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb897557.aspx"&gt;More information from here&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Daemon Tools&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Regular Expression Workbench&lt;/li&gt;&lt;li&gt;SqlScripter&lt;/li&gt;&lt;br /&gt;&lt;li&gt;pdf reader&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Paint.Net&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;FireFox Add-Ins&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Adblock Plus&lt;br /&gt;&lt;/li&gt;&lt;li&gt;ColorZilla&lt;/li&gt;&lt;li&gt;del.icio.us Bookmarks&lt;/li&gt;&lt;li&gt;Firebug&lt;/li&gt;&lt;li&gt;Snap Links&lt;/li&gt;&lt;li&gt;YSlow&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Visual Studio Add-Ins/Registry Settings&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;GhostDoc&lt;/li&gt;&lt;li&gt;ReSharper&lt;/li&gt;&lt;li&gt;Consolas Font Pack for Visual Studio. &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=22e69ae4-7e40-4807-8a86-b3d36fab68d3&amp;amp;displaylang=en"&gt;Download from here&lt;/a&gt;. &lt;a href="http://chrison.net/ConsolasFontPackForVisualStudio.aspx"&gt;More information from here&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Line Character Length Indicator - &lt;a href="http://blogs.neudesic.com/blogs/chris_rolon/archive/2006/01/06/19.aspx"&gt;More information from here&lt;/a&gt;.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Run one of these registry files,&lt;br /&gt;&lt;br /&gt;VS2005 .reg file&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Windows Registry Editor Version 5.00&lt;br /&gt;[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\Text Editor]&lt;br /&gt;"Guides"="RGB(128,0,0) 80, 120"&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;VS2008 .reg file&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Windows Registry Editor Version 5.00&lt;br /&gt;&lt;br /&gt;[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Text Editor]&lt;br /&gt;"Guides"="RGB(128,0,0) 80, 120"&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Other Stuff&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Add "Delete SVN Folders" to Windows Explorer Context Menu. &lt;a href="http://weblogs.asp.net/jgalloway/archive/2007/02/24/shell-command-remove-svn-folders.aspx"&gt;More Information here.&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a registry file with the following.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Windows Registry Editor Version 5.00&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]&lt;br /&gt;&lt;br /&gt;@="Delete SVN Folders"&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]&lt;br /&gt;@="cmd.exe /c \"TITLE Removing SVN Folders in %1 &amp;amp;&amp;amp; COLOR 9A &amp;amp;&amp;amp; FOR /r \"%1\" %%f IN (_svn) DO RD /s /q \"%%f\" \""&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-2447376843345267735?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/2447376843345267735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=2447376843345267735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2447376843345267735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2447376843345267735'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/06/utility-programs-tools-add-ins-plus.html' title='Utility Programs, Tools, Add-Ins plus other stuff.'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-4748357841959628348</id><published>2008-06-23T15:43:00.001+10:00</published><updated>2008-06-23T15:43:47.424+10:00</updated><title type='text'>Ajax Control Toolkit Popupcontrol and fieldsets</title><content type='html'>If you have&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&amp;lt;fieldset&amp;gt; some content... including ajax popup &amp;lt;/fieldset&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&amp;lt;fieldset&amp;gt; some more content &amp;lt;/fieldset&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;then the ajax popup pops up underneath the second fieldset,&lt;br /&gt;&lt;br /&gt;to fix &lt;span style="font-weight: bold;"&gt;set the z-index&lt;/span&gt; on the first fieldset to be higher than the one on the second, ie as below.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&amp;lt;fieldset style="z-index: 2;"&amp;gt; some content... including ajax popup &amp;lt;/fieldset&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&amp;lt;fieldset style="z-index: 1;"&amp;gt; some more content &amp;lt;/fieldset&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-4748357841959628348?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/4748357841959628348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=4748357841959628348' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4748357841959628348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4748357841959628348'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/06/ajax-control-toolkit-popupcontrol-and_23.html' title='Ajax Control Toolkit Popupcontrol and fieldsets'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-4930635931327910080</id><published>2008-06-19T15:33:00.003+10:00</published><updated>2008-06-30T13:03:51.832+10:00</updated><title type='text'>Deleting takes a long time</title><content type='html'>Deleting files was taking a long time. Windows Explorer was freezing for 30 seconds plus. Checked out my recycle bin and it was full of big files.&lt;br /&gt;&lt;br /&gt;Solution - empty your recycle bin more often&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-4930635931327910080?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/4930635931327910080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=4930635931327910080' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4930635931327910080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4930635931327910080'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/06/deleting-takes-long-time.html' title='Deleting takes a long time'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-5474057411746576556</id><published>2008-06-18T08:28:00.003+10:00</published><updated>2008-06-18T11:04:38.165+10:00</updated><title type='text'>AgilePoint Snippet - Stored Procedure and Custom Attributes</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_b36sTCHfThU/SFg7I-0CC_I/AAAAAAAAAAM/VGJ69RBoT5Q/s1600-h/Database-Stored-Proc.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_b36sTCHfThU/SFg7I-0CC_I/AAAAAAAAAAM/VGJ69RBoT5Q/s320/Database-Stored-Proc.png" alt="" id="BLOGGER_PHOTO_ID_5212981594167577586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To get data out of your database and into a custom attribute, you can use the Query Database shape, set the SqlType property to StoredProcedure. the above shape would set the $ProjectName custom attribute.&lt;br /&gt;&lt;br /&gt;Below is the start of the create script for the stored procedure,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;CREATE PROCEDURE [dbo].[spGetProject]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;         @ProjectId        int      &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       , @ProjectName      varchar(50) output&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Below is the sql to call the stored procedure for testing,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;declare @pn varchar(50)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;exec spgetproject @projectid=320, @projectname=@pn out&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;select @pn&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/9058574361168345733-5474057411746576556?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/5474057411746576556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=5474057411746576556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5474057411746576556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5474057411746576556'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/06/agilepoint-snippet-stored-procedure-and.html' title='AgilePoint Snippet - Stored Procedure and Custom Attributes'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_b36sTCHfThU/SFg7I-0CC_I/AAAAAAAAAAM/VGJ69RBoT5Q/s72-c/Database-Stored-Proc.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-5966951438077798588</id><published>2008-06-17T12:26:00.002+10:00</published><updated>2008-06-17T12:29:24.190+10:00</updated><title type='text'>AgilePoint Snippet - Get/Set Custom Attributes</title><content type='html'>In a C# snippet shape, or in aspx code you can use the following to Get and/or Set a Custom Attribute.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;if (api.GetCustomAttr(pi.WorkObjectID,"MyAttrName") == null)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    api.SetCustomAttr(pi.WorkObjectID,"MyAttrName","My Custom Attr Value");            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&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/9058574361168345733-5966951438077798588?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/5966951438077798588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=5966951438077798588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5966951438077798588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5966951438077798588'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/06/agilepoint-snippet-getset-custom.html' title='AgilePoint Snippet - Get/Set Custom Attributes'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-9101182503741141037</id><published>2008-06-03T15:03:00.005+10:00</published><updated>2009-02-18T12:36:48.599+11:00</updated><title type='text'>SQL Snippet - Common Table Expressions</title><content type='html'>A Common Table Expression can be used to:-&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a recursive query.&lt;/li&gt;&lt;li&gt;Substitute for a view when the general use of a view is not required; that is, you do not have to store the definition in metadata.&lt;/li&gt;&lt;li&gt;Enable grouping by a column that is derived from a scalar subselect, or a function that is either not deterministic or has external access.&lt;/li&gt;&lt;li&gt;Reference the resulting table multiple times in the same statement.&lt;/li&gt;&lt;/ul&gt;see &lt;a href="http://msdn.microsoft.com/en-us/library/ms190766.aspx"&gt;Using Common Table Expressions&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/ms186243.aspx"&gt;Recursive Queries Using Common Table Expressions&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-9101182503741141037?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/9101182503741141037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=9101182503741141037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/9101182503741141037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/9101182503741141037'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/06/sql-snippet-common-table-expressions.html' title='SQL Snippet - Common Table Expressions'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-2714530051085781471</id><published>2008-06-03T14:51:00.001+10:00</published><updated>2008-06-03T14:53:32.852+10:00</updated><title type='text'>SQL Snippet - Using Cross Apply</title><content type='html'>Use Cross Apply with a user defined table-valued function.&lt;br /&gt;&lt;br /&gt;read about it here..&lt;br /&gt;&lt;a href="http://www.sqlteam.com/article/using-cross-apply-in-sql-server-2005"&gt;Using CROSS APPLY in SQL Server 2005&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-2714530051085781471?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/2714530051085781471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=2714530051085781471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2714530051085781471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2714530051085781471'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/06/sql-snippet-using-cross-apply.html' title='SQL Snippet - Using Cross Apply'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-6623794025179905453</id><published>2008-06-03T14:09:00.003+10:00</published><updated>2008-06-03T14:15:23.087+10:00</updated><title type='text'>SQL Snippet - Returning Ranked Results with Microsoft SQL Server 2005</title><content type='html'>TSQL in SQL 2005 provides the following options for ranking your result set.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;pre&gt;&lt;b&gt;ROW_NUMBER()&lt;/b&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;pre&gt;&lt;b&gt;Ntile(int)&lt;/b&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;pre&gt;&lt;b&gt;Rank&lt;/b&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;pre&gt;&lt;b&gt;Dense_Rank&lt;/b&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The above can optionally be used with "Partition By"&lt;br /&gt;&lt;br /&gt;see this article.  &lt;a href="http://www.4guysfromrolla.com/webtech/010406-1.shtml"&gt;Returning Ranked Results with Microsoft SQL Server 2005&lt;/a&gt; from 4guysfromrolla.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-6623794025179905453?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/6623794025179905453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=6623794025179905453' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6623794025179905453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6623794025179905453'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/06/returning-ranked-results-with-microsoft.html' title='SQL Snippet - Returning Ranked Results with Microsoft SQL Server 2005'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-6201657290334535251</id><published>2008-05-08T15:17:00.001+10:00</published><updated>2008-05-08T15:20:20.881+10:00</updated><title type='text'>Configuring Visual Studio to Debug .NET Framework Source Code</title><content type='html'>From Shawn Burkes Blog...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx"&gt;Configuring Visual Studio to Debug .NET Framework Source Code&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And Scott Guthries...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx"&gt;Releasing the Source Code for the .NET Framework Libraries &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-6201657290334535251?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/6201657290334535251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=6201657290334535251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6201657290334535251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6201657290334535251'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/05/configuring-visual-studio-to-debug-net.html' title='Configuring Visual Studio to Debug .NET Framework Source Code'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-2348857045311809071</id><published>2008-04-23T13:17:00.003+10:00</published><updated>2008-04-23T13:35:50.690+10:00</updated><title type='text'>What does 'Strongly Typed' mean exactly?</title><content type='html'>Some links explaining that there is not necessarily a definite answer without the question being asked in context.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groups.google.com/group/comp.lang.perl.moderated/browse_frm/thread/e2e153d2ad7380c5/89b5f256ea7bfadb"&gt; Perl *is* strongly typed (was Re: Perl description)&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Strong_typing"&gt;Wikipedia - Strong Typing&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-2348857045311809071?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/2348857045311809071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=2348857045311809071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2348857045311809071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2348857045311809071'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/04/what-does-strongly-typed-mean-exactly.html' title='What does &apos;Strongly Typed&apos; mean exactly?'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-2079887598765321158</id><published>2008-04-21T21:31:00.004+10:00</published><updated>2009-01-09T11:42:35.407+11:00</updated><title type='text'>Last Months AgilePoint BPM Technical Training</title><content type='html'>Last month the project team got trained up on AgilePoint by Ascentn consultant Chris Custer.&lt;br /&gt;&lt;br /&gt;AgilePoint BPM Technical Training 10th-14th March 2008&lt;br /&gt;&lt;br /&gt;This was the course outline.&lt;br /&gt;&lt;br /&gt;&lt;div style="font-weight: bold;"&gt;Day One&lt;/div&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 1&lt;/span&gt; - What is BPM?&lt;br /&gt;This module will review the concepts and requirements for BPM.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 2&lt;/span&gt; - How do I develop a BPM solution?&lt;br /&gt;This module reviews a best practices approach for defining, developing, managing and analysing business processes with BPM.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 3&lt;/span&gt; - What is AgilePoint BPM Suite? (What are the differentiators?)&lt;br /&gt;This module reviews the components, the architecture, system usage roles for the product suite, and reviews the functionality of each product in the suite.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 4&lt;/span&gt; - What Solution Architectures does AgilePoint BPM Support?&lt;br /&gt;This module reviews a number of development scenarios that are supported.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 5&lt;/span&gt; - How do I develop a BPM Solution with AgilePoint BPM Suite?&lt;br /&gt;This module will provide the participants an opportunity to build, debug and deploy a basic process template that is integrated with InfoPath.&lt;br /&gt;&lt;br /&gt;&lt;div style="font-weight: bold;"&gt;Day Two&lt;/div&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 6&lt;/span&gt; - How do I develop a BPM Solution with a SharePoint Document Library?&lt;br /&gt;This module will provide the participants an opportunity to build a basic SharePoint BPM Solution using the asp.net pages provided during install.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 7&lt;/span&gt; - Hos do I develop a BPM Solution with ASP.Net Forms?&lt;br /&gt;This module will provide the participants an opportunity to build a solution that interacts with asp.net forms for the manual activities&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 8&lt;/span&gt; - Am I up for the Challenge?&lt;br /&gt;This module will include a practical exercise to design a process template to meet the requirements for a BPM solution. The practical exercise will include a role playing exercise to gather the requirements for the solution from the key business stakeholder.&lt;br /&gt;&lt;br /&gt;The resulting designs will be reviewed and discussed by the participants.&lt;br /&gt;&lt;br /&gt;&lt;div style="font-weight: bold;"&gt;Day Three&lt;/div&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 9&lt;/span&gt; - What are the System Usage Roles (SURs) for the AgilePoint BPM Suite?&lt;br /&gt;&lt;br /&gt;This module revies the different SURs involved in an AgilePoint workflow environment.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 10&lt;/span&gt; - How is the AgilePoint BPM Suite deployed?&lt;br /&gt;This module reviews the installation scenarios and requirements to install the AgilePoint BPM Suite in your clients environment.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 11&lt;/span&gt; - How do you manage users and permissions in an AgilePoint BPM environment?&lt;br /&gt;This module reviews the options to add users and manager groups and roles.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 12&lt;/span&gt; - How do I monitor the AgilePoint BPM Environment?&lt;br /&gt;This module provides the participants with a review of best practices for monitoring system health and performance.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 13&lt;/span&gt; - How do I backup and recover the AgilePoint BPM data?&lt;br /&gt;This module provides the participants with a review of best practices to protect BPM data.&lt;br /&gt;&lt;br /&gt;&lt;div style="font-weight: bold;"&gt;Day Four&lt;/div&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 14&lt;/span&gt; - How do I develop a custom BPM Solution using Custom SOA Components?&lt;br /&gt;This module will provide the participants an opportunity to build a solution that includes a custom web service and AgilePart to abstract the service as a business service in AgilePoint Envision.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 15&lt;/span&gt; - How do I develop a custom BPM Solution using Multiple Forms for Single Activities within a Process Model?&lt;br /&gt;This module will provide the particpants an opportunity to build a BPM Solution that leverages InfoPath and asp.net for each approval step in the process.&lt;br /&gt;A cusom AgileWork component will be developed to synchronise the data collected in the asp.net form with the InfoPath XML.&lt;br /&gt;This module focuses on the composite application framework and SOA design.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="font-weight: bold;"&gt;Day Five&lt;/div&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 16&lt;/span&gt; - What are the Advance development components to extend the AgilePoint BPM Suite?&lt;br /&gt;This module will review the AgileStub and AgileConnector components, The module will provide participants with the opportunity to explore the .Net class structure of the components and discuss scenarios in which they should be used.&lt;br /&gt;Code samples will be provided for future reference.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Module 17&lt;/span&gt; - How do I develop Reports for AgilePoint BPM Solutions?&lt;br /&gt;This module will first review the sample reports delivered with the AgilePoint BPM Suite.&lt;br /&gt;The remainder of the module will demonstrate Microsoft SQL Reporting Services capabilities.&lt;br /&gt;The exercise will create a process analysis report to identify average task times and list the tasks that exceed that average for exception reporting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-2079887598765321158?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/2079887598765321158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=2079887598765321158' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2079887598765321158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2079887598765321158'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/04/last-months-agilepoint-bpm-technical.html' title='Last Months AgilePoint BPM Technical Training'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-1140381081760010330</id><published>2008-04-19T19:14:00.002+10:00</published><updated>2008-05-21T17:10:39.905+10:00</updated><title type='text'>FireFox Keyboard ShortCuts</title><content type='html'>&lt;table border="0" cellpadding="5" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Ctrl w&lt;/td&gt;&lt;td&gt;Close Tab&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ctrl Enter&lt;/td&gt;&lt;td&gt;adds '.com' to what you enter in address bar&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ctrl Shift Enter&lt;/td&gt;&lt;td&gt;adds '.org' to what you enter in address bar&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Shift Enter&lt;/td&gt;&lt;td&gt;adds '.net' to what you enter in address bar&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Alt Enter&lt;/td&gt;&lt;td&gt;opens a website in another tab&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Alt +D&lt;/td&gt;&lt;td&gt;navigate directly to the browser address bar&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ctrl T &lt;/td&gt;&lt;td&gt;open a new tab&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ctrl Shift T&lt;/td&gt;&lt;td&gt;reopens the last closed tab&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Deletekey&lt;/td&gt;&lt;td&gt;delete specific addresses in browser history or autocomplete forms&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ctrl tab&lt;/td&gt;&lt;td&gt;navigate between different tabs&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ctrl 'tab number'&lt;/td&gt;&lt;td&gt;Ex:To go to the 3rd tab use Ctrl+3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Spacebar or PageDown&lt;/td&gt;&lt;td&gt;scrolls down the webpage you’re on&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Shift Spacebar or PageUp&lt;/td&gt;&lt;td&gt;scrolls up the webpage you’re on&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;middle mouse(scroll) button&lt;/td&gt;&lt;td&gt;opens the page in a new tab&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-1140381081760010330?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/1140381081760010330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=1140381081760010330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1140381081760010330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1140381081760010330'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/04/firefox-shortcuts.html' title='FireFox Keyboard ShortCuts'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-3695050912807208042</id><published>2008-04-12T09:33:00.006+10:00</published><updated>2008-04-19T17:25:47.284+10:00</updated><title type='text'>SharePoint Course.</title><content type='html'>I've been on a MOSS  course the past couple of days, which has been good...&lt;br /&gt;&lt;br /&gt;Microsoft Office SharePoint 2007 Chalk Talk&lt;br /&gt;&lt;br /&gt;The facilitator was Mick Badran,&lt;br /&gt;blogs.breezetraining.com.au/mickb/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Course Outline&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Day One&lt;br /&gt;&lt;li&gt;Module 1: Platform Overview&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Module 2: Server Topology and Administration&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Module 3: Collaboration&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Day Two&lt;br /&gt;&lt;li&gt;Module 4: Search&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Module 5: Web Content Management&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Module 6: Business Data Catalog&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;These are my random notes taken during the two days.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;81m licences in 2007 expected 170m in 2008&lt;/li&gt;&lt;li&gt;http://www.wssdemo.com/default.aspx&lt;/li&gt;&lt;ul&gt;&lt;li&gt;list of publishing sites for references on what you can do with WSS publishing.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Search - there are web services that you can consume in your own web app.&lt;/li&gt;&lt;li&gt;Talks about importance of classifying documents with extra meta data.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;free MSFT search product "Search Server Express" that you should use if deploying just WSS search&lt;/li&gt;&lt;li&gt;there are 9 different web parts providing search functionality&lt;/li&gt;&lt;li&gt;Sharepoint is base for other MSFT products eg Performance Point&lt;/li&gt;&lt;li&gt;BDC - link up other sources of information into your portal&lt;/li&gt;&lt;li&gt;magnifying part of screen zoomit.exe&lt;/li&gt;&lt;li&gt;wss comes free with Win 2003 licence&lt;/li&gt;&lt;li&gt;MOSS has 153 features some of which turn on/off on installation&lt;/li&gt;&lt;li&gt;"SPLA" licencing can be against features for eg. you can have 20 enterprise licences and n other licences on the same deployment&lt;/li&gt;&lt;li&gt;could manage licencing through groups but is basically on a trust basis&lt;/li&gt;&lt;li&gt;about 20 different licensing programs available - so if licensing is issue with partner then contact MSFT for information&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Win 2008 - runs faster&lt;/li&gt;&lt;li&gt;64 bit better again, supports more users&lt;/li&gt;&lt;li&gt;Application Pool - set memory recycling - max virtual memory should be 700M on 32 bit&lt;/li&gt;&lt;li&gt;once MOSS successfully installed you do have Central Admin web site up and running&lt;/li&gt;&lt;li&gt;Advice - alwasy install in farm mode as you then have option to grow&lt;/li&gt;&lt;li&gt;Sharepoint solution can have 1 or more fetures to be developed within them&lt;/li&gt;&lt;li&gt;Visual Studio Extensions for SharePoint&lt;/li&gt;&lt;li&gt;Site Features not only apply to new creations but also apply to all past ones as well&lt;/li&gt;&lt;li&gt;you can have dependencies between features&lt;br /&gt;&lt;/li&gt;&lt;li&gt;2 main areas of Central Admin site - Operations and Application Mgmt&lt;/li&gt;&lt;li&gt;Biggest benefit to V3 is "Site Features" eg&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Master page deploy&lt;/li&gt;&lt;li&gt;publishing&lt;/li&gt;&lt;li&gt;3rd party&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Partners might create site features as a good differentiator.&lt;/li&gt;&lt;li&gt;Sharepoint Solution Generator allows you goto exisiting sharepoint installation and pick out libraries/sites/whatever that you might want to generation a solution from&lt;/li&gt;&lt;li&gt;WSP View in VS2005  - windows sharepoint project&lt;/li&gt;&lt;li&gt;Reporting Service Integration Features&lt;/li&gt;&lt;li&gt;Sharepoint Capacity Planner - used to give guide line on how many servers you require on your system.&lt;/li&gt;&lt;li&gt;3rd party - wan accelerators&lt;/li&gt;&lt;li&gt;one way to deply would be to save site as template then you can move this template around&lt;/li&gt;&lt;li&gt;use Kerberos (not NTLM) security - will save effort down the track&lt;/li&gt;&lt;li&gt;Sharepoint workflows are document centric - they are built on WWF&lt;/li&gt;&lt;li&gt;User Profiles can be sucked down from AD&lt;/li&gt;&lt;li&gt;Audiences - based on series of rules - ie yrs of svc, first name beginning with A&lt;/li&gt;&lt;li&gt;when selecting web part you can set display only for 'target audience'&lt;/li&gt;&lt;li&gt;'target audience' could also be an AD group&lt;/li&gt;&lt;li&gt;set environment variable to 12 for the long folder name&lt;/li&gt;&lt;ul&gt;&lt;li&gt;program files\common files\msft shared\web server extensions\12\&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;can then use %12% in explorer&lt;/li&gt;&lt;li&gt;logs folder has the logs&lt;/li&gt;&lt;li&gt;bin folder has psconfig.exe&lt;/li&gt;&lt;ul&gt;&lt;li&gt;enables you to name your admin database without a GUID in the db name&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;with sharepoint v3 you can incorporate sharepoint url into your own separate web application&lt;/li&gt;&lt;li&gt;run 'winword' for office word&lt;/li&gt;&lt;li&gt;my site url gets written to AD only time sharepoint writes to AD&lt;/li&gt;&lt;li&gt;my site url also gets written to registry&lt;/li&gt;&lt;li&gt;Open docs in word and have sharepoint lists available to open doc from - these lists can be controlled in 'Published links to Office Client Applications under SSP admin&lt;/li&gt;&lt;li&gt;Usage reporting - turn on SSP admin&lt;/li&gt;&lt;li&gt;Word 2007 - 'Research Window' can integrate Sharepoint searching into this search tool - by adding a service. moss/vti bin/search.asmx&lt;/li&gt;&lt;li&gt;can leverage this search service in your own apps&lt;/li&gt;&lt;li&gt;each person under my site is their own site collection&lt;/li&gt;&lt;li&gt;you can switch a web sites SSP but you would lose what the original SSP stores, eg index,audiences,my site&lt;/li&gt;&lt;li&gt;in central admin web site, sites are site collections, webs are sites, also known as sub sites&lt;/li&gt;&lt;li&gt;due to size/usage/load you may choose to have a site collection in its own content db&lt;/li&gt;&lt;li&gt;you can 50,000 site collections in a content db.&lt;/li&gt;&lt;li&gt;site collection is smallest granular unit you can move from 1 content db to another.&lt;/li&gt;&lt;li&gt;Incoming Email Settings - enable sites on this server to receive email&lt;/li&gt;&lt;ul&gt;&lt;li&gt;ie email a doc to a list&lt;/li&gt;&lt;li&gt;this doesnt need exchange - its just a drop folder for email&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;does need configuration on exchange server&lt;/li&gt;&lt;ul&gt;&lt;li&gt;eg create a moss sub domain - mylist@moss.mycompany.com&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Directory Mgmt service will enable AD tie in that will mean address list in outlook will have document lists email address&lt;/li&gt;&lt;li&gt;under doc lib settings you will have communications --&gt; incoming email settings&lt;/li&gt;&lt;li&gt;alternate access mappings - gives you url rewriting&lt;/li&gt;&lt;li&gt;a lot of users dont know enought about lists - havent used the 'actions' menu&lt;/li&gt;&lt;li&gt;there are maybe other company polikcy/politics that affect way you would do collaboration&lt;/li&gt;&lt;li&gt;smallest unit of division you can move is a site collection&lt;/li&gt;&lt;li&gt;within site collection certain things inherited like&lt;/li&gt;&lt;ul&gt;&lt;li&gt;regional settings&lt;/li&gt;&lt;li&gt;quotes&lt;/li&gt;&lt;li&gt;recycle bin settings&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;'Site Collection Administration' area in Site Admin is only available at the root subsite&lt;/li&gt;&lt;li&gt;If for example&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Add 15 cols to your doc library in your root site&lt;/li&gt;&lt;li&gt;the cols will be inherited down at sub site level, but you still need to add those 15 cols into the doc lib at that level&lt;/li&gt;&lt;li&gt;instead at 15 cols to content type at root level&lt;/li&gt;&lt;li&gt;you then just need to at single thing at sub site level&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;rule of thumb is always create stuff at root level even if you think you are only going to use it at a single sub site.&lt;/li&gt;&lt;li&gt;Managed Paths - tell browser things under this address are/are not sharepoint sites&lt;/li&gt;&lt;li&gt;MAjor version increases whenever doc is published and approved&lt;/li&gt;&lt;li&gt;minor version increases when doc is checked in&lt;/li&gt;&lt;li&gt;if you have do with version 0.2, a user with read priv for that library wont see anything&lt;/li&gt;&lt;ul&gt;&lt;li&gt;if the doc is version 1.5, a user with read priv will beable to read v1.0&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;if the search indexer is under an admin account they will beable to index V1.5 and see a snippet of V1.5 in the search results but if you just have read priv when you click on the link it will take you to V1.0&lt;/li&gt;&lt;li&gt;to stop above point happening you should set up crawl rule&lt;/li&gt;&lt;li&gt;users docs default is 90 days in their recycle bin&lt;/li&gt;&lt;li&gt;sites/subsites dont go into recycle bin&lt;/li&gt;&lt;li&gt;add network place&lt;/li&gt;&lt;ul&gt;&lt;li&gt;paste url of doc lib and you get webdav view of doc library&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;stsadm tool can be used to increase defaut content limit of 10MB when creating document library template by UI interface 'exporting template'&lt;/li&gt;&lt;li&gt;you could also use sharepoint designer if content is larger than 10Mb&lt;/li&gt;&lt;li&gt;Prune your doc versions - find out requirements for company - what is cut off time - then move content to an archive&lt;/li&gt;&lt;li&gt;Document Library is implemented as a feature&lt;/li&gt;&lt;li&gt;you can turn of any menu settings for you doc lib&lt;/li&gt;&lt;li&gt;you can only have 1 indexer machine per SSP&lt;/li&gt;&lt;li&gt;if you add a new property - eg content type, then you need to do a full index for that property to be searchedon&lt;/li&gt;&lt;li&gt;search was rebuilt from ground up concentrating on importance of relevance&lt;/li&gt;&lt;li&gt;Foxit software - pdf plugin for crawling&lt;/li&gt;&lt;li&gt;make site 'authoritative' and it will bump up in the rankings&lt;/li&gt;&lt;li&gt;'search for "hammer and nail" will normally never be found as "and" is noise word&lt;/li&gt;&lt;li&gt;can map properties from sources to be certain thing in index - eg search for name = 'friday'&lt;/li&gt;&lt;ul&gt;&lt;li&gt;source = people = map first/last name to name&lt;/li&gt;&lt;li&gt;source = files = map filename to name&lt;/li&gt;&lt;li&gt;source = sps sites = map page title to name&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;can set best bets to expire&lt;/li&gt;&lt;li&gt;index engine known as gatherer service&lt;/li&gt;&lt;li&gt;can set best bets to expire&lt;/li&gt;&lt;li&gt;configuring search&lt;/li&gt;&lt;ul&gt;&lt;li&gt;sps3://moss/ - tells crawler to activate SP APIs and get more goodies out&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Incremental Index - doing this often - every 5 mins perfectly possible&lt;/li&gt;&lt;li&gt;to add pdf icon add to images folder in '12' folder&lt;/li&gt;&lt;ul&gt;&lt;li&gt;and modify doc icon xml file&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Scopes can be used to generate diff search page and search results page&lt;/li&gt;&lt;li&gt;search for "author:Paul" any property can be searched in same way as author&lt;/li&gt;&lt;li&gt;'Form Web Part' can be used to do searching if you want.. doesnt matter what form is used just pass query to searchresults.aspx with 'k=' is querystring&lt;/li&gt;&lt;li&gt;WCM - telerik have some free useful controls&lt;/li&gt;&lt;li&gt;Content types,master page, layout page combine to give you your WCM&lt;/li&gt;&lt;li&gt;WCM needs 'Office Sharepoint Publising Infrastructure' feature turned on&lt;br /&gt;&lt;/li&gt;&lt;li&gt;when publishing public sites - look at core.js (400k) to see if you still need it all&lt;/li&gt;&lt;li&gt;BDC Action could be developed to write back to LOB system&lt;/li&gt;&lt;li&gt;sharepoint exams have lots of Q about BDC API&lt;/li&gt;&lt;li&gt;SSO is enterprise feature&lt;/li&gt;&lt;li&gt;App Def file is an xml file&lt;/li&gt;&lt;li&gt;BDC MetaMan 3rd party tool allows write to LOB&lt;/li&gt;&lt;li&gt;other tools on codeplex and the net&lt;/li&gt;&lt;li&gt;you could point VStudio at xsd filer and then get intellisense&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-3695050912807208042?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/3695050912807208042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=3695050912807208042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3695050912807208042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3695050912807208042'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/04/sharepoint-course.html' title='SharePoint Course.'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-1155852127125292095</id><published>2008-04-02T08:49:00.002+11:00</published><updated>2008-04-02T08:53:59.207+11:00</updated><title type='text'>Tools and Utils - File/Folder Compare and Merge</title><content type='html'>DiffMerge can be used to compare and merge files, also folder compare.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sourcegear.com/diffmerge/"&gt; http://www.sourcegear.com/diffmerge/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-1155852127125292095?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/1155852127125292095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=1155852127125292095' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1155852127125292095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1155852127125292095'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/04/tools-and-utils-filefolder-compare-and.html' title='Tools and Utils - File/Folder Compare and Merge'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-3152417723471078042</id><published>2008-04-02T08:47:00.001+11:00</published><updated>2008-04-02T08:48:56.815+11:00</updated><title type='text'>Tools and Utils - Firefox Add-ons</title><content type='html'>Useful Firefox add-ons.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Adblock Plus&lt;br /&gt;&lt;/li&gt;&lt;li&gt;ColorZilla&lt;/li&gt;&lt;li&gt;del.icio.us Bookmarks&lt;/li&gt;&lt;li&gt;Firebug&lt;/li&gt;&lt;li&gt;Snap Links&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-3152417723471078042?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/3152417723471078042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=3152417723471078042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3152417723471078042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3152417723471078042'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/04/tools-and-utils-firefox-add-ons.html' title='Tools and Utils - Firefox Add-ons'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-3691107358354671850</id><published>2008-03-31T08:28:00.003+11:00</published><updated>2008-09-22T09:16:33.447+10:00</updated><title type='text'>SQL Snippet - Reseed Identity Column to Zero</title><content type='html'>Reseed Identity Column to Zero&lt;br /&gt;&lt;PRE&gt;&lt;br /&gt;&lt;CODE&gt;&lt;br /&gt; delete from Table_Name&lt;br /&gt;&lt;br /&gt; DBCC CHECKIDENT (Table_Name, RESEED, 0)&lt;br /&gt;&lt;/CODE&gt;&lt;br /&gt;&lt;/PRE&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-3691107358354671850?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/3691107358354671850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=3691107358354671850' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3691107358354671850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3691107358354671850'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/03/sql-snippet-reseed-identity-column-to.html' title='SQL Snippet - Reseed Identity Column to Zero'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-1651492967647643049</id><published>2008-03-31T08:27:00.002+11:00</published><updated>2008-11-26T11:44:05.665+11:00</updated><title type='text'>Sql Snippet - Get Table Column Names In A Query</title><content type='html'>Get Table Column Names In A Query&lt;br /&gt;&lt;br /&gt;&lt;PRE&gt;&lt;br /&gt;&lt;CODE&gt;&lt;br /&gt;SELECT Column_Name + ', '&lt;br /&gt;FROM INFORMATION_SCHEMA.COLUMNS&lt;br /&gt;WHERE TABLE_NAME = 'Table_Name'&lt;br /&gt;&lt;/CODE&gt;&lt;br /&gt;&lt;/PRE&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-1651492967647643049?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/1651492967647643049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=1651492967647643049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1651492967647643049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1651492967647643049'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/03/sql-snippet-get-table-column-names-in.html' title='Sql Snippet - Get Table Column Names In A Query'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-2306085980509393744</id><published>2008-03-19T16:48:00.000+11:00</published><updated>2008-03-19T16:49:08.762+11:00</updated><title type='text'>CTRL ALT DEL in Remote Desktop</title><content type='html'>Use CTRL ALT End  in Remote Desktop (mstsc)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-2306085980509393744?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/2306085980509393744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=2306085980509393744' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2306085980509393744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2306085980509393744'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/03/ctrl-alt-del-in-remote-desktop.html' title='CTRL ALT DEL in Remote Desktop'/><author><name>Paul Rowland</name><uri>http://www.blogger.com/profile/02794160370120914214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-4326692156483026855</id><published>2008-02-18T11:20:00.003+11:00</published><updated>2008-02-18T11:26:54.355+11:00</updated><title type='text'>Documentation - Software Projects</title><content type='html'>I'm currently writing technical documentation for a $2.6 million dollar software project. Most people you ask about what this documentation should include and what format it should be in will have a different answer for you. &lt;br /&gt;&lt;br /&gt;So I guess the first step is to talk to who you are writing the documents for and see what they want, are there existing templates being used in your organisation? Are these templates relevant for your project?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-4326692156483026855?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/4326692156483026855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=4326692156483026855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4326692156483026855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4326692156483026855'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/02/documentation-software-projects.html' title='Documentation - Software Projects'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-6802688490694302542</id><published>2008-02-14T09:02:00.003+11:00</published><updated>2008-02-14T09:04:21.466+11:00</updated><title type='text'>Tools and Utils - System Information</title><content type='html'>BGInfo is a little tool that displays a load of your system information as a bmp on your desktop. Follow the link for more information&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb897557.aspx"&gt;BGInfo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-6802688490694302542?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/6802688490694302542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=6802688490694302542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6802688490694302542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6802688490694302542'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/02/tools-and-utils-system-information.html' title='Tools and Utils - System Information'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-4285289695896476921</id><published>2008-02-14T08:51:00.002+11:00</published><updated>2008-02-14T08:55:49.377+11:00</updated><title type='text'>Excel Training - Small Tips - Pasting</title><content type='html'>Some small tips when using Excel.&lt;br /&gt;&lt;br /&gt;On pasting you get smart tag next to the newly pasted cell where you can select to maintain existing formatting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-4285289695896476921?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/4285289695896476921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=4285289695896476921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4285289695896476921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4285289695896476921'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/02/excel-training-small-tips-pasting.html' title='Excel Training - Small Tips - Pasting'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-6148556300379955820</id><published>2008-02-14T08:50:00.002+11:00</published><updated>2008-02-14T08:51:20.933+11:00</updated><title type='text'>Excel Training - Small Tips - WorkSheet Size</title><content type='html'>Some small tips when using Excel.&lt;br /&gt;&lt;br /&gt;There are 256 columns in default sheet to get to last column CTRL + {right arrow}&lt;br /&gt;There are 65536 rows in default sheet to get to last column CTRL + {down arrow}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-6148556300379955820?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/6148556300379955820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=6148556300379955820' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6148556300379955820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6148556300379955820'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/02/excel-training-small-tips-worksheet.html' title='Excel Training - Small Tips - WorkSheet Size'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-4511051960712218595</id><published>2008-02-14T08:49:00.000+11:00</published><updated>2008-02-14T08:50:04.077+11:00</updated><title type='text'>Excel Training - Small Tips - Password</title><content type='html'>Some small tips when using Excel.&lt;br /&gt;&lt;br /&gt;To enforce a password when opening or modifying your spreadsheet.&lt;br /&gt;&lt;br /&gt;File - Save As - General Options.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-4511051960712218595?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/4511051960712218595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=4511051960712218595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4511051960712218595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/4511051960712218595'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/02/excel-training-small-tips-password.html' title='Excel Training - Small Tips - Password'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-3613572236315664778</id><published>2008-02-14T08:48:00.001+11:00</published><updated>2008-02-14T08:49:07.027+11:00</updated><title type='text'>Excel Training - Small Tips - Insert Comments</title><content type='html'>Some small tips when using Excel.&lt;br /&gt;&lt;br /&gt;To Insert a comment, select your cell then right click and Select Insert comments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-3613572236315664778?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/3613572236315664778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=3613572236315664778' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3613572236315664778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3613572236315664778'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/02/excel-training-small-tips-insert.html' title='Excel Training - Small Tips - Insert Comments'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-1449813412235740609</id><published>2008-02-14T08:47:00.003+11:00</published><updated>2008-02-14T08:54:57.099+11:00</updated><title type='text'>Excel Training - Small Tips - Entering Data</title><content type='html'>Some small tips when using Excel.&lt;br /&gt;&lt;br /&gt;You can enter the same data to multiple cells by highlighting them, enter your data, then hold down CTRL when pressing Enter.&lt;br /&gt;&lt;br /&gt;Or.&lt;br /&gt;On selecting a cell, move your mouse over thick border, you get big 4 way arrow, click and drag to move the data to another cell.&lt;br /&gt;&lt;br /&gt;Or.&lt;br /&gt;On selecting a cell, move your mouse over bottom right corner get smaller 4 way cross, click and drag to copy to data to new cells. At this point you can also select the smart tag and select Fill Series to generate series of data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-1449813412235740609?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/1449813412235740609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=1449813412235740609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1449813412235740609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1449813412235740609'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/02/excel-training-small-tips-entering-data.html' title='Excel Training - Small Tips - Entering Data'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-2537862990570352824</id><published>2008-02-14T08:46:00.001+11:00</published><updated>2008-02-14T08:47:08.503+11:00</updated><title type='text'>Excel Training - Small Tips - Undo Button</title><content type='html'>Some small tips when using Excel.&lt;br /&gt;&lt;br /&gt;Next to the Undo button in the toolbar there is a little down arrow. When selected you can select and undo multiple previous steps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-2537862990570352824?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/2537862990570352824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=2537862990570352824' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2537862990570352824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2537862990570352824'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/02/excel-training-small-tips-undo-button.html' title='Excel Training - Small Tips - Undo Button'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-5392899717119630798</id><published>2008-02-14T08:43:00.002+11:00</published><updated>2008-02-14T08:46:13.680+11:00</updated><title type='text'>Excel Training - Small Tips - Default Data Entry</title><content type='html'>Some small tips when using Excel.&lt;br /&gt;&lt;br /&gt;To change the default direction of cell selection after entering data, then pressing Enter, goto Tools - Options - Edit&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-5392899717119630798?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/5392899717119630798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=5392899717119630798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5392899717119630798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/5392899717119630798'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/02/excel-training-small-tips-default-data.html' title='Excel Training - Small Tips - Default Data Entry'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-9107599681063112979</id><published>2008-02-07T11:30:00.001+11:00</published><updated>2008-02-07T11:47:42.847+11:00</updated><title type='text'>Agile - Scrum for Team Systems.</title><content type='html'>I'm starting on a new project at the moment and we are going to use Scrum for Team Systems as a project management methodology. More info on &lt;a href="http://www.scrumforteamsystem.com/ProcessGuidance/index.html" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;• SCRUM&lt;br /&gt;• SPRINT&lt;br /&gt;&lt;br /&gt;Sprint is duration of work.&lt;br /&gt;Scrum is meeting to discuss this duration of work&lt;br /&gt;&lt;br /&gt;Product Backlog – list of activities eg&lt;br /&gt;• Create install doc&lt;br /&gt;• Implement AD security&lt;br /&gt;• Create LOA workflow&lt;br /&gt;&lt;br /&gt;Prioritise and Precedent your list&lt;br /&gt;&lt;br /&gt;Add length of time to each activity.&lt;br /&gt;&lt;br /&gt;Create Sprint of 1 month say this equals 160 hours.&lt;br /&gt;&lt;table border=1 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td&gt;Team Member&lt;/td&gt;&lt;td&gt;Hours&lt;/td&gt;&lt;td&gt;Time Available&lt;/td&gt;&lt;td&gt;Drag Coefficient&lt;/td&gt;&lt;td&gt;Total&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Donald&lt;/td&gt;&lt;td&gt;160 &lt;/td&gt;&lt;td&gt;0.8&lt;/td&gt;&lt;td&gt;0.8&lt;/td&gt;&lt;td&gt;103&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Carlos&lt;/td&gt;&lt;br /&gt;&lt;td&gt;160 &lt;/td&gt;&lt;td&gt;0.5&lt;/td&gt;&lt;td&gt;0.2&lt;/td&gt;&lt;td&gt;16&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Jim &lt;/td&gt;&lt;td&gt;160 &lt;/td&gt;&lt;br /&gt;&lt;td&gt;1.0&lt;/td&gt;&lt;td&gt;0.9&lt;/td&gt;&lt;td&gt;144&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Michael&lt;/td&gt;&lt;td&gt;160&lt;/td&gt;&lt;td&gt;1.0 &lt;/td&gt;&lt;td&gt;0.9&lt;/td&gt;&lt;td&gt;144&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;407&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;  &lt;br /&gt;Pick items from Product backlog for Sprint Backlog.&lt;br /&gt;&lt;br /&gt;Expand each item from product backlog to have more detail and give each item length of time eg between 2 and 16 hours.&lt;br /&gt;&lt;br /&gt;Get to your total of 407 hours and this what your going to do complete in the Sprint.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SCRUM is daily or regular meeting that is around 15 minutes long and has 3 questions.&lt;br /&gt;• How did you go with yesterdays tasks&lt;br /&gt;• Are any impediments stopping you from completing tasks&lt;br /&gt;• What are you going to do today.&lt;br /&gt;&lt;br /&gt;Have ‘burn graph’ &lt;br /&gt;Y axis max is 407 min 0 and is hours in sprint&lt;br /&gt;X axis min is 0 to 15 days in sprint.&lt;br /&gt;&lt;br /&gt;Ideally you will follow linear line down to 0 hours left…. But realistically you will have visual indication how sprint is progressing and you can react to it…&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-9107599681063112979?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/9107599681063112979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=9107599681063112979' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/9107599681063112979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/9107599681063112979'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/02/agile-scrum-for-team-systems.html' title='Agile - Scrum for Team Systems.'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-2772921285921918732</id><published>2008-02-06T08:44:00.000+11:00</published><updated>2008-02-06T08:48:04.491+11:00</updated><title type='text'>Excel Training - Templates on Office Online</title><content type='html'>I'm just flicking through some xls training videos and was reminded of this link which can be found in Excel when you go File &gt; New Workbook  - &lt;a href="http://office.microsoft.com/en-us/templates/CT101527321033.aspx?Origin=EC010229821033&amp;CTT=6&amp;av=ZXL"&gt;Templates on Office Online&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-2772921285921918732?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/2772921285921918732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=2772921285921918732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2772921285921918732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2772921285921918732'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/02/excel-training-templates-on-office.html' title='Excel Training - Templates on Office Online'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-6831923106750432499</id><published>2008-02-01T08:28:00.000+11:00</published><updated>2008-02-01T08:29:42.556+11:00</updated><title type='text'>Ascii Codes Reference Sheet</title><content type='html'>&lt;a href="http://www.ascii.cl/" target="_blank"&gt;Ascii Codes Reference Sheet&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-6831923106750432499?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/6831923106750432499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=6831923106750432499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6831923106750432499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6831923106750432499'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/02/ascii-codes-reference-sheet.html' title='Ascii Codes Reference Sheet'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-1079505237650734437</id><published>2008-02-01T08:24:00.000+11:00</published><updated>2008-02-01T08:28:15.084+11:00</updated><title type='text'>GBP Pound Sign on Australian Keyboards</title><content type='html'>Hold down ALT and type 156 on numeric pad.  - £&lt;br /&gt;&lt;br /&gt;Other special characters at &lt;a href="http://www.usefulshortcuts.com/downloads/ALT-Codes.pdf" target="_blank"&gt;this link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-1079505237650734437?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/1079505237650734437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=1079505237650734437' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1079505237650734437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1079505237650734437'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/02/gbp-pound-sign-on-australian-keyboards.html' title='GBP Pound Sign on Australian Keyboards'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-3345174629289132640</id><published>2008-01-29T10:45:00.000+11:00</published><updated>2008-01-29T10:49:37.113+11:00</updated><title type='text'>New job Links</title><content type='html'>I've been in my current position for over 3 months now, I found this series of articles from Rands in Repose interesting,&lt;br /&gt;&lt;br /&gt;"First off, there’s &lt;a href="http://www.randsinrepose.com/archives/2007/02/25/a_glimpse_and_a_hook.html" title="Rands In Repose: A Glimpse and a Hook"&gt;A Glimpse and a Hook&lt;/a&gt;, which will describe how managers read your resume. Then we’ve got &lt;a href="http://www.randsinrepose.com/archives/2007/03/21/the_sanity_check.html" title="Rands In Repose: The Sanity Check"&gt;The Sanity Check&lt;/a&gt;, which will prepare you for the phone screen. And finally, there’s &lt;a href="http://www.randsinrepose.com/archives/2007/01/03/ninety_days.html" title="Rands In Repose: Ninety Days"&gt;Ninety Days&lt;/a&gt;, which sketches out a plan for the first three months of your new gig."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-3345174629289132640?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/3345174629289132640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=3345174629289132640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3345174629289132640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/3345174629289132640'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/01/new-job.html' title='New job Links'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-7155322334151433751</id><published>2008-01-15T12:11:00.000+11:00</published><updated>2008-01-15T15:05:33.386+11:00</updated><title type='text'>Visual Studio 2008 - Unrecoverable Build Error</title><content type='html'>Using VS 2008, I just started getting this error for no apparent reason, after a few hours of frustration recreating the solution adding fresh web setup projects etc,  I found this link.&lt;br /&gt;&lt;br /&gt;http://support.microsoft.com/kb/329214/EN-US/&lt;br /&gt;&lt;br /&gt;which didnt work,&lt;br /&gt;&lt;br /&gt;then this link&lt;br /&gt;http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=128028&amp;amp;SiteID=1&lt;br /&gt;&lt;br /&gt;suggested trying&lt;br /&gt;&lt;span id="_ctl0_MainContent_PostFlatView"&gt;&lt;span&gt;"regsvr32 ole32.dll".&lt;br /&gt;&lt;br /&gt;which did work...&lt;br /&gt;&lt;br /&gt;Using the System Restore wizard I was reminded that yesterday I uninstalled SnagIt as the trial period had expired...  putting SnagIt and ole32.dll into google brings me the SnagItGuide page telling me that back in March&lt;/span&gt;&lt;/span&gt; 2007 - "Fixed the bug where SnagIt removes ole32.dll registry keys." As I just got the SnagIt trial a month ago I guess the bug wasnt fixed to well after all.&lt;br /&gt;&lt;span id="_ctl0_MainContent_PostFlatView"&gt;&lt;span&gt;&lt;br /&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/9058574361168345733-7155322334151433751?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/7155322334151433751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=7155322334151433751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7155322334151433751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7155322334151433751'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/01/visual-studio-2008-unrecoverable-build.html' title='Visual Studio 2008 - Unrecoverable Build Error'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-1865151555055442647</id><published>2008-01-14T12:15:00.000+11:00</published><updated>2008-01-14T12:17:55.812+11:00</updated><title type='text'>Stored Procedures - Reasons to use/not use them</title><content type='html'>Some reasons to use/not use stored procedures found from doing a bit of googling..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Reasons to use them&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Your organization's DBAs won't give users or applications SELECT privileges on production SQL Server tables.&lt;/li&gt;&lt;li&gt;Stored procedures result in easier maintenance because it is generally easier to modify a stored procedure than it is to change a hard-coded SQL statement within a deployed coponent.&lt;/li&gt;&lt;li&gt;Stored procedures add an extra level of abstraction from the underlying database schema. The client of the stored procedure is isolated from the implementation details of the stored procedure and from the underlying schema.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Reasons not to use them&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;LINQ&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-1865151555055442647?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/1865151555055442647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=1865151555055442647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1865151555055442647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/1865151555055442647'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/01/stored-procedures-reasons-to-usenot-use.html' title='Stored Procedures - Reasons to use/not use them'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-2543893123852562955</id><published>2008-01-14T09:30:00.001+11:00</published><updated>2008-01-14T09:42:31.827+11:00</updated><title type='text'>Validation of viewstate MAC failed....</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_dWE001twoF8/R4qR0fRAkFI/AAAAAAAAAAM/jgmmheG8OVE/s1600-h/ViewStateMACFailed.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp1.blogger.com/_dWE001twoF8/R4qR0fRAkFI/AAAAAAAAAAM/jgmmheG8OVE/s320/ViewStateMACFailed.jpg" alt="" id="BLOGGER_PHOTO_ID_5155093054411018322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Getting this error just after release to prod. Its a simple .NET 3.5 app without any web farms etc... this thread suggests the following solution is to update your web.config as following..&lt;br /&gt;&lt;br /&gt;&amp;lt;pages validaterequest=&amp;quot;false&amp;quot; enableeventvalidation=&amp;quot;false&amp;quot; viewstateencryptionmode=&amp;quot;Never&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;/pages&amp;gt;&lt;br /&gt;&lt;br /&gt;Thread title is&lt;br /&gt;Validation of viewstate MAC failed / The state information is invalid for this page and might be corrupted&lt;br /&gt;&lt;br /&gt;Thread link is&lt;br /&gt;http://forums.asp.net/t/955145.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-2543893123852562955?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/2543893123852562955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=2543893123852562955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2543893123852562955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/2543893123852562955'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/01/validation-of-viewstate-mac-failed.html' title='Validation of viewstate MAC failed....'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_dWE001twoF8/R4qR0fRAkFI/AAAAAAAAAAM/jgmmheG8OVE/s72-c/ViewStateMACFailed.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-8646756745381113340</id><published>2008-01-14T08:40:00.002+11:00</published><updated>2008-05-21T17:19:26.257+10:00</updated><title type='text'>Visual Studio Keyboard Shortcuts</title><content type='html'>&lt;table&gt;&lt;tr&gt;&lt;td&gt;F12&lt;/td&gt;&lt;td&gt;Goto declaration for selected symbol in code&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CTRL - &lt;/td&gt;&lt;td&gt;Return to where you were before pressing F12&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CTRL K CTRL N&lt;/td&gt;&lt;td&gt;Goto Next Bookmark&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CTRL K CTRL P &lt;/td&gt;&lt;td&gt;Goto Previous Bookmark&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SHIFT ALT ENTER&lt;/td&gt;&lt;td&gt;Toggle Full Screen&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CTRL M CTRL O&lt;/td&gt;&lt;td&gt;minimise functions in code view&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CTRL K CTRL C&lt;/td&gt;&lt;td&gt;Comment section&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CTRL K CTRL U&lt;/td&gt;&lt;td&gt;UnComment section&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ALT W ALT L&lt;/td&gt;&lt;td&gt;Close active windows.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CTRL K CTRL M&lt;/td&gt;&lt;td&gt;add a method to existing class.. by writing it as if it exists bool b = aNewMethod()&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CTRL .&lt;/td&gt;&lt;td&gt;add a method to another class.. by writing it as if it exists bool b = myClass.aNewMethod()&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CTRL ALT P&lt;/td&gt;&lt;td&gt;Open up Process window&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;br /&gt; &lt;br /&gt;Links to the Microsoft Visual C# Default Key bindings&lt;br /&gt;&lt;br /&gt;VS2005&lt;br /&gt;http://download.microsoft.com/download/e/7/9/e79cce22-b196-4b9f-9ea7-b1a21f5342e9/VCSharp_2005_color.pdf&lt;br /&gt;&lt;br /&gt;VS 2008&lt;br /&gt;http://www.microsoft.com/downloads/details.aspx?familyid=E5F902A8-5BB5-4CC6-907E-472809749973&amp;amp;displaylang=en&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-8646756745381113340?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/8646756745381113340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=8646756745381113340' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8646756745381113340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8646756745381113340'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/01/keyboard-shortcuts-visual-studio.html' title='Visual Studio Keyboard Shortcuts'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-7184196938841645058</id><published>2008-01-10T15:18:00.000+11:00</published><updated>2008-01-10T15:19:54.085+11:00</updated><title type='text'>Tools and Utils - Install an iso image</title><content type='html'>Tool to emulate mounting a drive, point Daemon tool at iso image and you can then install as normal.&lt;br /&gt;&lt;br /&gt;http://www.daemon-tools.cc/dtcc/download.php&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-7184196938841645058?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/7184196938841645058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=7184196938841645058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7184196938841645058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7184196938841645058'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/01/tools-and-utils-install-iso-image.html' title='Tools and Utils - Install an iso image'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-8696245142068874428</id><published>2008-01-10T15:15:00.000+11:00</published><updated>2008-01-10T15:17:02.719+11:00</updated><title type='text'>Tools and Utils - Regular Expressions</title><content type='html'>Simple application to help you write and learn Regular Expressions.. "Regular Expression Workbench"&lt;br /&gt;&lt;br /&gt;http://blogs.msdn.com/ericgu/archive/2003/07/07/52362.aspx&lt;br /&gt;&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-8696245142068874428?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/8696245142068874428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=8696245142068874428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8696245142068874428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/8696245142068874428'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/01/tools-and-utils-regular-expressions.html' title='Tools and Utils - Regular Expressions'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-6197308734112702777</id><published>2008-01-10T14:44:00.000+11:00</published><updated>2008-01-10T14:46:36.504+11:00</updated><title type='text'>Tools and Utils - SQL Scripts</title><content type='html'>Generate INSERT scripts from existing data (amongst other things)&lt;br /&gt;&lt;br /&gt;http://www.sqlscripter.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-6197308734112702777?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/6197308734112702777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=6197308734112702777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6197308734112702777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/6197308734112702777'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/01/tools-and-utils-sql-scripts.html' title='Tools and Utils - SQL Scripts'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9058574361168345733.post-7163036309752388087</id><published>2008-01-10T14:41:00.000+11:00</published><updated>2008-01-10T14:42:43.951+11:00</updated><title type='text'>Tools and Utils - PDF Reader</title><content type='html'>One that is small in size and doesn't do to much in the background...&lt;br /&gt;&lt;br /&gt;http://www.foxitsoftware.com/pdf/reader_2/down_reader.htm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9058574361168345733-7163036309752388087?l=par2008.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://par2008.blogspot.com/feeds/7163036309752388087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9058574361168345733&amp;postID=7163036309752388087' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7163036309752388087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9058574361168345733/posts/default/7163036309752388087'/><link rel='alternate' type='text/html' href='http://par2008.blogspot.com/2008/01/tools-and-utils-pdf-reader.html' title='Tools and Utils - PDF Reader'/><author><name>Paul</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
