<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
    <channel>
        <title>Technical Thoughts of Jorriss</title>
        <link>http://www.jorriss.net/blog/jorriss/Default.aspx</link>
        <description>Issues, ideas and technology solutions - The technical blog of Richie Rump</description>
        <language>en-US</language>
        <copyright>Richie Rump</copyright>
        <managingEditor>richie_rump@digitalvisuals.com</managingEditor>
        <generator>Subtext Version 2.0.0.0</generator>
        <image>
            <title>Technical Thoughts of Jorriss</title>
            <url>http://www.jorriss.net/blog/images/RSS2Image.gif</url>
            <link>http://www.jorriss.net/blog/jorriss/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/jorrissnet" type="application/rss+xml" /><item>
            <title>Mulitiple Monitors + Notebooks = Hidden Windows</title>
            <category>General</category>
            <link>http://feeds.feedburner.com/~r/jorrissnet/~3/447794970/mulitiple-monitors-notebooks-hidden-windows.aspx</link>
            <description>&lt;p&gt;On my main machine, a T60 Thinkpad, I’m still using XP. Next month, I’ll be getting a new Thinkpad which I’ll install Vista 64 until then I’m still dealing with a small problem. When I’m at work with the dual monitors every thing runs just fine but when I get home and restart some apps they are stuck on the non-existent second monitor. Sometimes, I’m able to get into the registry and change the X, Y window coordinates but most time I’m stuck. Until now. To get the window back right click on the application in the task bar and select Move. From there, use the arrow keys to move the window to the current monitor. You can also press an arrow key then use the mouse to move the window. If you only use the mouse it won’t work. Via &lt;a title="http://edwardkim.net" href="http://edwardkim.net/blog.php?page=Dual%20Monitor,%20Hidden%20Window"&gt;http://edwardkim.net&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.jorriss.net/blog/jorriss/aggbug/1332.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/jorrissnet?a=O1euBK"&gt;&lt;img src="http://feeds.feedburner.com/~a/jorrissnet?i=O1euBK" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <dc:creator>Richie Rump</dc:creator>
            <guid isPermaLink="false">http://www.jorriss.net/blog/jorriss/archive/2008/11/09/mulitiple-monitors-notebooks-hidden-windows.aspx</guid>
            <pubDate>Sun, 09 Nov 2008 22:33:23 GMT</pubDate>
            <wfw:comment>http://www.jorriss.net/blog/jorriss/comments/1332.aspx</wfw:comment>
            <comments>http://www.jorriss.net/blog/jorriss/archive/2008/11/09/mulitiple-monitors-notebooks-hidden-windows.aspx#feedback</comments>
            <wfw:commentRss>http://www.jorriss.net/blog/jorriss/comments/commentRss/1332.aspx</wfw:commentRss>
            <trackback:ping>http://www.jorriss.net/blog/jorriss/services/trackbacks/1332.aspx</trackback:ping>
        <feedburner:origLink>http://www.jorriss.net/blog/jorriss/archive/2008/11/09/mulitiple-monitors-notebooks-hidden-windows.aspx</feedburner:origLink></item>
        <item>
            <title>Download All of the PDC 2008 Sessions and Slides</title>
            <category>Conferences &amp;amp; Gatherings</category>
            <category>C#</category>
            <category>.Net</category>
            <link>http://feeds.feedburner.com/~r/jorrissnet/~3/445553698/download-all-of-the-pdc-2008-sessions-and-slides.aspx</link>
            <description>&lt;p&gt;This year I was able to attend Microsoft's PDC 2008. There were tons of fantastic sessions that I was unable to attend. One of the great things that Microsoft did with the PDC this year was to make the session videos available to everyone within twenty-four hours of the presentation. That's great but what if you wanted to download all of the session for offline viewing? Luckily for us &lt;a href="http://weblogs.asp.net/guerchele/default.aspx"&gt;Luciano Evaristo Guerche&lt;/a&gt; has made a &lt;a href="http://weblogs.asp.net/guerchele/default.aspx"&gt;tutorial to download all of the session videos and PowerPoint decks&lt;/a&gt;. Essentially, it involves a FireFox plug-in called &lt;a href="http://www.downthemall.net/"&gt;DowThemAll&lt;/a&gt; to download all of the session videos that Luciano has aggregated in four blog posts &lt;a href="http://weblogs.asp.net/guerchele/archive/2008/10/29/pdc-2008-day-1-46-matching-sessions.aspx"&gt;PDC 2008 - Day 1 (46 matching sessions)&lt;/a&gt;, &lt;a href="http://weblogs.asp.net/guerchele/archive/2008/10/29/pdc-2008-day-2-50-matching-sessions.aspx"&gt;PDC 2008 - Day 2 (50 matching sessions)&lt;/a&gt;, &lt;a href="http://weblogs.asp.net/guerchele/archive/2008/10/29/pdc-2008-day-3-60-matching-sessions.aspx"&gt;PDC 2008 - Day 3 (60 matching sessions)&lt;/a&gt;, &lt;a href="http://weblogs.asp.net/guerchele/archive/2008/10/29/pdc-2008-day-4-49-matching-sessions.aspx"&gt;PDC 2008 - Day 4 (49 matching sessions)&lt;/a&gt;. Really nifty. But when the files are downloaded it saves the session number in the file name and not the session name. So I created a small program that scrapes the session titles from Luciano's posts and concatenates it with the session number and renames the file. You can &lt;a href="http://www.jorriss.com/jorriss/files/PDCLoadSessionNames.zip"&gt;download the project&lt;/a&gt; or view the source below. Enjoy.&lt;/p&gt;
&lt;p&gt;Update: 11/1/08 7:30 PM - After downloading the files I've found a few are not available.&lt;/p&gt;
&lt;p&gt;PowerPoint Slides:    &lt;br /&gt;
BB13 SharePoint 2007 - Creating SharePoint Applications with Visual Studio 2008     &lt;br /&gt;
BB39 NET Services - Logging, Diagnosing, and Troubleshooting Applications Running Live in the Cloud     &lt;br /&gt;
SYMP05 Services Symposium - Enterprise Grade Cloud Applications     &lt;br /&gt;
SYMP03 Parallel Symposium - Future of Parallel Computing     &lt;br /&gt;
PC48 Research - Designing the World Wide Telescope     &lt;br /&gt;
TL57 Panel - The Future of Programming Languages     &lt;br /&gt;
TL61 Panel - The Future of Unit Testing&lt;/p&gt;
&lt;p&gt;High Quality Videos    &lt;br /&gt;
BB06 Live Services - Mesh Services Architecture and Concepts     &lt;br /&gt;
BB51 Live Services - Programming Live Services Using Non-Microsoft Technologies &lt;/p&gt;
&lt;p&gt;Update 11/6/08 10:30 PM – Looks like I should read more carefully. Luciano’s post shows how you can rename the files within DownThemAll. Guess it’s just another case of a programmer creating a solution for something that’s already been solved. Either way it was good to get into some code.&lt;/p&gt;
&lt;div&gt;
&lt;div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   1:&lt;/span&gt; using System;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   2:&lt;/span&gt; using System.Collections.Generic;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   3:&lt;/span&gt; using System.Linq;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   4:&lt;/span&gt; using System.Text;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   5:&lt;/span&gt; using System.Net;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   6:&lt;/span&gt; using System.IO;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   7:&lt;/span&gt; using System.Text.RegularExpressions;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   8:&lt;/span&gt; using System.Collections;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   9:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  10:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;namespace&lt;/span&gt; PDCLoadSessionNames&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  11:&lt;/span&gt; {&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  12:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  13:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt; Program&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  14:&lt;/span&gt;     {&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  15:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  16:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; getHTMLPage(&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; Url)&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  17:&lt;/span&gt;         {&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  18:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  19:&lt;/span&gt;             // Open a connection&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  20:&lt;/span&gt;             HttpWebRequest WebRequestObject = (HttpWebRequest)HttpWebRequest.Create(Url);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  21:&lt;/span&gt;             WebRequestObject.ContentType = &lt;span style="color: rgb(0, 96, 128);"&gt;"text/html"&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  22:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  23:&lt;/span&gt;             WebResponse Response = WebRequestObject.GetResponse();&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  24:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  25:&lt;/span&gt;             Stream WebStream = Response.GetResponseStream();&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  26:&lt;/span&gt;             StreamReader Reader = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; StreamReader(WebStream);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  27:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  28:&lt;/span&gt;             &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; PageContent = Reader.ReadToEnd();&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  29:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  30:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  31:&lt;/span&gt;             Reader.Close();&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  32:&lt;/span&gt;             WebStream.Close();&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  33:&lt;/span&gt;             Response.Close();&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  34:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  35:&lt;/span&gt;             &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; PageContent;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  36:&lt;/span&gt;         }&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  37:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  38:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; void ProcessPage(&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; Url, ArrayList Titles)&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  39:&lt;/span&gt;         {&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  40:&lt;/span&gt;             &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; html = getHTMLPage(Url);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  41:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  42:&lt;/span&gt;             Regex titleRegex = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Regex(&lt;span style="color: rgb(0, 96, 128);"&gt;"&amp;lt;P&amp;gt;&amp;lt;STRONG&amp;gt;(?&amp;lt;title&amp;gt;[A-Z][A-Z][0-9][0-9].+?)&amp;lt;/STRONG&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  43:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  44:&lt;/span&gt;             &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; pattern = &lt;span style="color: rgb(0, 96, 128);"&gt;"&amp;lt;P&amp;gt;&amp;lt;STRONG&amp;gt;(?&amp;lt;title&amp;gt;.+?)&amp;lt;/STRONG&amp;gt;"&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  45:&lt;/span&gt;             MatchCollection titleMatches = Regex.Matches(html, pattern);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  46:&lt;/span&gt;             foreach (Match titleMatch &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; titleMatches)&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  47:&lt;/span&gt;             {&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  48:&lt;/span&gt;                 &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; title = titleMatch.Groups[&lt;span style="color: rgb(0, 96, 128);"&gt;"title"&lt;/span&gt;].Value;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  49:&lt;/span&gt;                 Titles.Add(title);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  50:&lt;/span&gt;             }&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  51:&lt;/span&gt;         }&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  52:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  53:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; void RenameFiles(&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; Path, ArrayList titles)&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  54:&lt;/span&gt;         {&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  55:&lt;/span&gt;             DirectoryInfo sessionDir = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; DirectoryInfo(Path);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  56:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  57:&lt;/span&gt;             foreach (&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; title &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; titles)&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  58:&lt;/span&gt;             {&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  59:&lt;/span&gt;                 &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; subTitle = title.Substring(0, 6);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  60:&lt;/span&gt;                 &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (subTitle.Substring(4, 1) == &lt;span style="color: rgb(0, 96, 128);"&gt;" "&lt;/span&gt;)&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  61:&lt;/span&gt;                 {&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  62:&lt;/span&gt;                     subTitle = subTitle.Substring(0, 4);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  63:&lt;/span&gt;                 }&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  64:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  65:&lt;/span&gt;                 foreach (FileInfo sessionFile &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; sessionDir.GetFiles())&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  66:&lt;/span&gt;                 {&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  67:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  68:&lt;/span&gt;                     int dotLoc = sessionFile.Name.LastIndexOf(&lt;span style="color: rgb(0, 96, 128);"&gt;"."&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  69:&lt;/span&gt;                     &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; fileName = sessionFile.Name.Substring(0, dotLoc);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  70:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  71:&lt;/span&gt;                     &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; newFileName = title;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  72:&lt;/span&gt;                     newFileName = newFileName.Replace(&lt;span style="color: rgb(0, 96, 128);"&gt;"."&lt;/span&gt;, &lt;span style="color: rgb(0, 96, 128);"&gt;""&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  73:&lt;/span&gt;                     newFileName = newFileName.Replace(&lt;span style="color: rgb(0, 96, 128);"&gt;":"&lt;/span&gt;, &lt;span style="color: rgb(0, 96, 128);"&gt;" -"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  74:&lt;/span&gt;                     newFileName = newFileName.Replace(&lt;span style="color: rgb(0, 96, 128);"&gt;"/"&lt;/span&gt;, &lt;span style="color: rgb(0, 96, 128);"&gt;""&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  75:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  76:&lt;/span&gt;                     &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (subTitle == fileName)&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  77:&lt;/span&gt;                     {&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  78:&lt;/span&gt;                         File.Move(sessionFile.FullName, Path + newFileName + sessionFile.Extension);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  79:&lt;/span&gt;                         Console.WriteLine(Path + newFileName + sessionFile.Extension);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  80:&lt;/span&gt;                     }&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  81:&lt;/span&gt;                 }&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  82:&lt;/span&gt;             }&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  83:&lt;/span&gt;         }&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  84:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  85:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; void Main(&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;[] args)&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  86:&lt;/span&gt;         {&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  87:&lt;/span&gt;             ArrayList titles = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; ArrayList();&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  88:&lt;/span&gt;             ProcessPage(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://weblogs.asp.net/guerchele/archive/2008/10/29/pdc-2008-day-1-46-matching-sessions.aspx"&lt;/span&gt;, titles);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  89:&lt;/span&gt;             ProcessPage(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://weblogs.asp.net/guerchele/archive/2008/10/29/pdc-2008-day-2-50-matching-sessions.aspx"&lt;/span&gt;, titles);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  90:&lt;/span&gt;             ProcessPage(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://weblogs.asp.net/guerchele/archive/2008/10/29/pdc-2008-day-3-60-matching-sessions.aspx"&lt;/span&gt;, titles);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  91:&lt;/span&gt;             ProcessPage(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://weblogs.asp.net/guerchele/archive/2008/10/29/pdc-2008-day-4-49-matching-sessions.aspx"&lt;/span&gt;, titles);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  92:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  93:&lt;/span&gt;             RenameFiles(&lt;span style="color: rgb(0, 96, 128);"&gt;"e:\\sessions\\"&lt;/span&gt;, titles);&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  94:&lt;/span&gt;             Console.ReadKey();&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  95:&lt;/span&gt;         }&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  96:&lt;/span&gt;     }&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  97:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;   &lt;/p&gt;
&lt;div style="margin: 0px; padding: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ba57cc6c-89ca-4939-af3f-4ed006e00e82" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/PDC+2008"&gt;PDC 2008&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.jorriss.net/blog/jorriss/aggbug/1331.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/jorrissnet?a=6ztff6"&gt;&lt;img src="http://feeds.feedburner.com/~a/jorrissnet?i=6ztff6" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <dc:creator>Richie Rump</dc:creator>
            <guid isPermaLink="false">http://www.jorriss.net/blog/jorriss/archive/2008/11/06/download-all-of-the-pdc-2008-sessions-and-slides.aspx</guid>
            <pubDate>Fri, 07 Nov 2008 04:09:56 GMT</pubDate>
            <wfw:comment>http://www.jorriss.net/blog/jorriss/comments/1331.aspx</wfw:comment>
            <comments>http://www.jorriss.net/blog/jorriss/archive/2008/11/06/download-all-of-the-pdc-2008-sessions-and-slides.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://www.jorriss.net/blog/jorriss/comments/commentRss/1331.aspx</wfw:commentRss>
            <trackback:ping>http://www.jorriss.net/blog/jorriss/services/trackbacks/1331.aspx</trackback:ping>
        <feedburner:origLink>http://www.jorriss.net/blog/jorriss/archive/2008/11/06/download-all-of-the-pdc-2008-sessions-and-slides.aspx</feedburner:origLink></item>
        <item>
            <title>Project Web Server ActiveX controls cannot be downloaded</title>
            <category>Project Web Server</category>
            <link>http://feeds.feedburner.com/~r/jorrissnet/~3/445553699/project-web-server-activex-controls-cannot-be-downloaded.aspx</link>
            <description>&lt;p&gt;I ran into this issue today. When I logged into our Project Web Server website I received this error:&lt;/p&gt; &lt;div style="padding-right: 5px; padding-left: 5px; padding-bottom: 5px; padding-top: 5px; background-color: #ffffff"&gt;The controls for Project Web Access cannot be downloaded correctly. To download the controls:  &lt;ul&gt; &lt;li&gt;Verify your security settings in Internet Explorer are set to allow ActiveX controls to be downloaded.  &lt;/li&gt;&lt;li&gt;Check to see if Internet Explorer has stopped the installation of the ActiveX controls.  &lt;/li&gt;&lt;li&gt;To install the controls, on the Information Bar, click Install ActiveX Control. You need to use a 32-bit version of your browser to download and run the ActiveX controls.  &lt;/li&gt;&lt;li&gt;Contact your systems administrator.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt; &lt;p&gt;After a reboot found this article entitled &lt;em&gt;&lt;a href="http://support.microsoft.com/kb/818046"&gt;Error message when you start Microsoft Project Web Access: "The controls for Microsoft Project Web Access could not be downloaded correctly"&lt;/a&gt;&lt;/em&gt; in the Microsoft Knowledge Base. To fix the issue I removed the Project Web Access ActiveX controls by:&lt;/p&gt; &lt;div style="padding-right: 5px; padding-left: 5px; padding-bottom: 5px; padding-top: 5px; background-color: #ffffff"&gt; &lt;h5&gt;Remove any controls that are already downloaded&lt;/h5&gt; &lt;h6&gt;Project 2007&lt;/h6&gt; &lt;ol&gt; &lt;li&gt;Start Internet Explorer.  &lt;/li&gt;&lt;li&gt;On the &lt;strong&gt;Tools&lt;/strong&gt; menu, click &lt;strong&gt;Internet Options&lt;/strong&gt;.  &lt;/li&gt;&lt;li&gt;Click the &lt;strong&gt;General&lt;/strong&gt; tab, and then click &lt;strong&gt;Settings&lt;/strong&gt; in the &lt;strong&gt;Browsing history&lt;/strong&gt; section.  &lt;/li&gt;&lt;li&gt;Click &lt;strong&gt;View Objects&lt;/strong&gt;.  &lt;/li&gt;&lt;li&gt;Right-click &lt;strong&gt;Pj12enuC Class&lt;/strong&gt;, and then click &lt;strong&gt;Remove&lt;/strong&gt;.  &lt;/li&gt;&lt;li&gt;Right-click &lt;strong&gt;PjAdoInfo4 Class&lt;/strong&gt;, and then click &lt;strong&gt;Remove&lt;/strong&gt;.  &lt;/li&gt;&lt;li&gt;Close the View Objects window, and then click &lt;strong&gt;OK&lt;/strong&gt; two times.  &lt;/li&gt;&lt;/ol&gt;&lt;/div&gt; &lt;p&gt;I then went back into our Project Web Access website and downloaded the ActiveX controls again. Worked like a charm.&lt;/p&gt;&lt;img src="http://www.jorriss.net/blog/jorriss/aggbug/1330.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/jorrissnet?a=qQmben"&gt;&lt;img src="http://feeds.feedburner.com/~a/jorrissnet?i=qQmben" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <dc:creator>Jorriss</dc:creator>
            <guid isPermaLink="false">http://www.jorriss.net/blog/jorriss/archive/2008/04/28/project-web-server-activex-controls-cannot-be-downloaded.aspx</guid>
            <pubDate>Mon, 28 Apr 2008 21:57:58 GMT</pubDate>
            <wfw:comment>http://www.jorriss.net/blog/jorriss/comments/1330.aspx</wfw:comment>
            <comments>http://www.jorriss.net/blog/jorriss/archive/2008/04/28/project-web-server-activex-controls-cannot-be-downloaded.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://www.jorriss.net/blog/jorriss/comments/commentRss/1330.aspx</wfw:commentRss>
            <trackback:ping>http://www.jorriss.net/blog/jorriss/services/trackbacks/1330.aspx</trackback:ping>
        <feedburner:origLink>http://www.jorriss.net/blog/jorriss/archive/2008/04/28/project-web-server-activex-controls-cannot-be-downloaded.aspx</feedburner:origLink></item>
        <item>
            <title>Unraveling the mysteries of NewSequentialID</title>
            <category>.Net</category>
            <category>Middleware</category>
            <category>Database</category>
            <category>SQL Server</category>
            <category>SOA</category>
            <link>http://feeds.feedburner.com/~r/jorrissnet/~3/445553700/unraveling-the-mysteries-of-newsequentialid.aspx</link>
            <description>&lt;p&gt;A few months ago we started development on a new system. From the ground up we redesigned everything from our business processes to how we store data. Part of the redesign was deciding on using SOA technology in our middle tier. This will allow us to separate our UI from our middle tier even further. Due to the disconnected way our objects were going to work we decided to use guid or unique identifiers for our primary keys in our data model and assign guids in the middle tier. Of course, our DBAs weren't too keen on the idea and even now they are still a bit gunshy but they're coming around. &lt;/p&gt; &lt;p&gt;Of course, is one of the big concerns that the DB team has &lt;a href="http://www.sql-server-performance.com/articles/per/guid_performance_p1.aspx"&gt;is the performance of SQL Server with GUIDs&lt;/a&gt; which has been well documented all across the net. So we decided to use the &lt;a href="http://msdn2.microsoft.com/en-us/library/ms189786.aspx"&gt;NewSequentialID()&lt;/a&gt; function as the default for all guid primary keys. On the application side we decided to implement a &lt;a href="http://www.informit.com/articles/article.aspx?p=25862"&gt;GUIDComb&lt;/a&gt; which was created by &lt;a href="http://jimmynilsson.com/blog/"&gt;Jimmy Nilsson&lt;/a&gt;. The issue that we ran into with the GUIDComb was that it was creating guid sequence that was different from the NewSequentialID guid sequence. &lt;/p&gt; &lt;p&gt;At this point I decided to jump into the Google abyss and see if anyone else conquered this problem. The &lt;a href="http://developmenttips.blogspot.com/2008/03/generate-sequential-guids-for-sql.html"&gt;first solution that I found&lt;/a&gt; took a guid generated from System.Guid.NewGuid and reordered it so SQL Server would sort it correctly. The major issue that I found with this approach was the fact that it incremented the guid internally and didn't store the guid in the SQL Server sequence. &lt;/p&gt; &lt;p&gt;It was at this time that I found and excellent article by &lt;a href="http://www.sqljunkies.com/AuthorDetail.aspx?username=RobG"&gt;Rob Garrison&lt;/a&gt; entitled "&lt;a href="http://www.sqljunkies.com/Article/4067A1B1-C31C-4EAF-86C3-80513451FC03.scuk"&gt;Exploring NewSequentialID() in SQL Server 2005&lt;/a&gt;". In the article he discusses the differences between NewID() and NewSequenceID() and how NewSequenceID() uses a shared counter. So if you insert a row into Table1 then Table2 then Table1 again you will see the following GUID sequence.&lt;/p&gt; &lt;div&gt;&lt;pre style="padding-right: 5px; padding-left: 5px; font-size: 8pt; padding-bottom: 5px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 5px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #ffffff; border-bottom-style: none"&gt;63DD0AD3-A111-DD11-B2EB-005056AE063C &lt;font color="#008000"&gt;-- Table1&lt;/font&gt;
64DD0AD3-A111-DD11-B2EB-005056AE063C &lt;font color="#008000"&gt;-- Table2&lt;/font&gt;
65DD0AD3-A111-DD11-B2EB-005056AE063C &lt;font color="#008000"&gt;-- Table1&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;That article led me to another article "&lt;a href="http://sqlblog.com/blogs/alberto_ferrari/archive/2007/08/31/how-are-guids-sorted-by-sql-server.aspx"&gt;How are GUIDs sorted by SQL Server?&lt;/a&gt;" Which linked to to the &lt;a href="http://blogs.msdn.com/sqlprogrammability/default.aspx"&gt;SQL Programmability &amp;amp; API Development Team Blog&lt;/a&gt; where I found this gem "&lt;a href="http://blogs.msdn.com/sqlprogrammability/archive/2006/03/23/559061.aspx"&gt;Newsequentialid (Histrory/Benefits and Implementation)&lt;/a&gt;". In this post, they explain that sequential guids are created by calling &lt;a href="http://msdn2.microsoft.com/en-us/library/aa379322.aspx"&gt;UuidCreateSequential&lt;/a&gt; function of the rpcrt4.dll "with some byte scrambling to convince the rest of SQL engine that guids are produced in sequential order". &lt;a href="http://pinvoke.net/default.aspx/rpcrt4/UuidCreateSequential.html#"&gt;Here's an example of the usage&lt;/a&gt;. The output of two calls to the UuidCreateSequential function would look like this:&lt;/p&gt;
&lt;div&gt;&lt;pre style="padding-right: 5px; padding-left: 5px; font-size: 8pt; padding-bottom: 5px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 5px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #ffffff; border-bottom-style: none"&gt;6F9F9BFB-1203-11DD-BC40-001641E22FDB
6F9F9BFC-1203-11DD-BC40-001641E22FDB&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;But if you look at a SQL Server generated sequential guid it would looks like this:&lt;/p&gt;
&lt;div&gt;&lt;pre style="padding-right: 5px; padding-left: 5px; font-size: 8pt; padding-bottom: 5px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 5px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #ffffff; border-bottom-style: none"&gt;4782336F-0312-DD11-B2EB-005056AE063C
4882336F-0312-DD11-B2EB-005056AE063C&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;And that's when it hit me, that "byte scrambling" that SQL Server was doing was in the first four bytes. If your guid is 6F9F9BFB-1203-11DD-BC40-001641E22FDB the first for bytes would be 6F 9F 9B FB. If you reverse them, FB 9B 9F 6F that would be in the sequence that SQL Server is currently using.&lt;/p&gt;
&lt;div&gt;&lt;pre style="padding-right: 5px; padding-left: 5px; font-size: 8pt; padding-bottom: 5px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 5px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #ffffff; border-bottom-style: none"&gt;6F9F9BFB-1203-11DD-BC40-001641E22FDB &lt;font color="#008000"&gt;-- UuidCreateSequential&lt;/font&gt;
6F9F9BFC-1203-11DD-BC40-001641E22FDB &lt;font color="#008000"&gt;-- UuidCreateSequential&lt;/font&gt;
FB9B9F6F-1203-11DD-BC40-001641E22FDB &lt;font color="#008000"&gt;-- UuidCreateSequential Reversed Bits&lt;/font&gt; 
FC9B9F6F-1203-11DD-BC40-001641E22FDB &lt;font color="#008000"&gt;-- UuidCreateSequential Reversed Bits&lt;/font&gt;
4782336F-0312-DD11-B2EB-005056AE063C &lt;font color="#008000"&gt;-- NewSequentialID&lt;/font&gt;
4882336F-0312-DD11-B2EB-005056AE063C &lt;font color="#008000"&gt;-- NewSequentialID&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Here's the code I created to create SQL Server formatted sequential guids in .Net:&lt;/p&gt;
&lt;div&gt;&lt;pre style="padding-right: 5px; padding-left: 5px; font-size: 8pt; padding-bottom: 5px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 5px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #ffffff; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;Public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Class&lt;/span&gt; SequentialGuid
    &lt;span style="color: #0000ff"&gt;Declare&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Function&lt;/span&gt; UuidCreateSequential &lt;span style="color: #0000ff"&gt;Lib&lt;/span&gt; &lt;span style="color: #006080"&gt;"rpcrt4.dll"&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;ByRef&lt;/span&gt; id &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; Guid) &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Integer&lt;/span&gt;

    &lt;span style="color: #0000ff"&gt;Public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Shared&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Function&lt;/span&gt; CreateSequentialGUID() &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; Guid

        &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; newGuid &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; Guid
        &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; returnVal &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Integer&lt;/span&gt;
        returnVal = UuidCreateSequential(newGuid)

        &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; bytes &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Byte&lt;/span&gt;() = newGuid.ToByteArray

        &lt;span style="color: #0000ff"&gt;If&lt;/span&gt; returnVal &amp;lt;&amp;gt; 0 &lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;
            &lt;span style="color: #0000ff"&gt;Throw&lt;/span&gt; &lt;span style="color: #0000ff"&gt;New&lt;/span&gt; Exception(&lt;span style="color: #006080"&gt;"CreateSequentialGUID failed."&lt;/span&gt;)
        &lt;span style="color: #0000ff"&gt;Else&lt;/span&gt;
            Array.Reverse(bytes, 0, 4)
            Array.Reverse(bytes, 4, 2)
            Array.Reverse(bytes, 6, 2)
            newGuid = &lt;span style="color: #0000ff"&gt;New&lt;/span&gt; Guid(bytes)

            &lt;span style="color: #0000ff"&gt;Return&lt;/span&gt; newGuid
        &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;If&lt;/span&gt;
    &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Function&lt;/span&gt;
&lt;span style="color: #0000ff"&gt;End&lt;/span&gt; Class&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The one caveat is that DB generated guids and .Net generated guids may be not reflect the order in which the rows were inserted due to the mac address in the guid and the way SQL sorts its guids. (See the "&lt;a href="http://sqlblog.com/blogs/alberto_ferrari/archive/2007/08/31/how-are-guids-sorted-by-sql-server.aspx"&gt;How are GUIDs sorted by SQL Server?&lt;/a&gt;" article for more details.) You may see blocks of guids in your table generated by different machines. So if you need to know the true sequence of when a row was added to a table then use a created date field and the GetDate function. &lt;/p&gt;
&lt;p&gt;Other Sources: &lt;/p&gt;
&lt;p&gt;&lt;a title="http://www.ideablade.com/techtip_improve_your_guid.htm" href="http://www.ideablade.com/techtip_improve_your_guid.htm"&gt;Improve Your Guid Key Performance with GuidCombs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.informit.com/articles/article.aspx?p=25862"&gt;The Cost of GUIDs as Primary Keys&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.fotia.co.uk/fotia/DY.19.NewSequentialId.aspx"&gt;The NewSequentialID Function&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://developmenttips.blogspot.com/2008/03/generate-sequential-guids-for-sql.html"&gt;Generate Sequential GUIDs for SQL Server 2005 in C#&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.codeplex.com/SeqGuidGenerator"&gt;Sequential GUID Generator on Codeplex&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.pinvoke.net/default.aspx/rpcrt4/UuidCreateSequential.html"&gt;UuidCreateSequential rptcrt4.dll&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/system.data.sqltypes.sqlguid(VS.85).aspx"&gt;SqlGuid Structure&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title="http://blogs.msdn.com/sqlprogrammability/archive/2006/11/06/how-are-guids-compared-in-sql-server-2005.aspx" href="http://blogs.msdn.com/sqlprogrammability/archive/2006/11/06/how-are-guids-compared-in-sql-server-2005.aspx"&gt;How are GUIDs compared in SQL Server 2005?&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.jorriss.net/blog/jorriss/aggbug/1329.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/jorrissnet?a=alveiT"&gt;&lt;img src="http://feeds.feedburner.com/~a/jorrissnet?i=alveiT" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <dc:creator>Jorriss</dc:creator>
            <guid isPermaLink="false">http://www.jorriss.net/blog/jorriss/archive/2008/04/24/unraveling-the-mysteries-of-newsequentialid.aspx</guid>
            <pubDate>Thu, 24 Apr 2008 18:55:12 GMT</pubDate>
            <wfw:comment>http://www.jorriss.net/blog/jorriss/comments/1329.aspx</wfw:comment>
            <comments>http://www.jorriss.net/blog/jorriss/archive/2008/04/24/unraveling-the-mysteries-of-newsequentialid.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://www.jorriss.net/blog/jorriss/comments/commentRss/1329.aspx</wfw:commentRss>
            <trackback:ping>http://www.jorriss.net/blog/jorriss/services/trackbacks/1329.aspx</trackback:ping>
        <feedburner:origLink>http://www.jorriss.net/blog/jorriss/archive/2008/04/24/unraveling-the-mysteries-of-newsequentialid.aspx</feedburner:origLink></item>
        <item>
            <title>Google Calendar Sync Issue</title>
            <category>Google Calendar</category>
            <link>http://feeds.feedburner.com/~r/jorrissnet/~3/445553701/google-calendar-sync-issue.aspx</link>
            <description>&lt;p&gt;Recently, I started to use &lt;a href="http://www.google.com/calendar"&gt;Google Calendar&lt;/a&gt; to share my schedule with my wife. To do this I'm using &lt;a href="http://www.google.com/googlecalendar/new.html"&gt;Google's Outlook Calendar Sync&lt;/a&gt; utility. The first version that I used (0.9.3.0) worked fine but it didn't get all of my appointments and it loaded my Deleted folder with thousands of blank appointments after each sync. A few weeks ago they released an update (0.9.3.2) that appeared to fix the blank appointment issue but I started to get this error: &lt;/p&gt; &lt;div style="padding-right: 5px; padding-left: 5px; padding-bottom: 5px; padding-top: 5px; background-color: #ffffff"&gt;Some of your Outlook appointments could not be loaded. Sync is interrupted in order to prevent actual data loss.&lt;/div&gt; &lt;p&gt;I ignored it for some time hoping for a quick patch from Google. But today I started to investigate while waiting for some software to uninstall. A quick trip to the &lt;a href="http://groups.google.com/group/Google-Calendar-Help"&gt;Google Calendar Help forum&lt;/a&gt; proved to be quite useful. My first task was to find out to &lt;a href="http://docs.google.com/View?docid=dffk4kb8_2x89qjkdr"&gt;view the Outlook Calendar Sync Logs&lt;/a&gt; which can be viewed in the following locations: &lt;/p&gt; &lt;div style="padding-right: 5px; padding-left: 5px; padding-bottom: 5px; padding-top: 5px; background-color: #ffffff"&gt;WINDOWS XP&lt;br /&gt;C:\Documents and Settings\&amp;lt;username&amp;gt;\Local Settings\Application Data\Google\Google Calendar Sync\logs&lt;br /&gt;WINDOWS VISTA&lt;br /&gt;C:\Users\&amp;lt;username&amp;gt;\AppData\Local\Google\Google Calendar Sync\logs &lt;/div&gt; &lt;p&gt;The log had this information in it:&lt;/p&gt; &lt;div style="padding-right: 5px; padding-left: 5px; padding-bottom: 5px; padding-top: 5px; background-color: #ffffff"&gt;SEVERE: IDispatch::GetProperty : EntryID //  [hr: -2147352567] [exception One or more items in the folder you synchronized do not match. To resolve the conflicts, open the items, and then try this operation again. wCode: 4096 scode: -2147352567]&lt;br /&gt;SEVERE: Failed to load even brief info.&lt;br /&gt;Unable to load basic info&lt;br /&gt;SEVERE: Unable to get events from Outlook &lt;/div&gt; &lt;p&gt;So, there was some sort of issue that the sync tool was having when trying to retrieve the calendar events. The &lt;a href="http://groups.google.com/group/google-calendar-help-bugs/browse_thread/thread/939e0b1261ff3ff9/aa2d9415aba7951a?lnk=gst&amp;amp;q=One+or+more+items+in+the+folder+you+synchronized+do+not+match#aa2d9415aba7951a"&gt;resolution came when I came across this post in the forum&lt;/a&gt;. It details the following steps to resolve an Outlook conflict.&lt;/p&gt; &lt;div style="padding-right: 5px; padding-left: 5px; padding-bottom: 5px; padding-top: 5px; background-color: #ffffff"&gt; &lt;ol&gt; &lt;li&gt;Open your calendar in Microsoft Outlook.  &lt;/li&gt;&lt;li&gt;Select "View by Category." (Main Menu &amp;gt; View &amp;gt; Arrange By &amp;gt; Current &lt;br /&gt;View &amp;gt; By Category)  &lt;/li&gt;&lt;li&gt;You'll see a list of events (if the events are collapsed in categories, you can expand them by clicking the "+" sign"). Using the icons to the left of each event, find events that have a "warning" icon (i.e. crossing swords).  &lt;/li&gt;&lt;li&gt;Double-click on each problematic event to resolve the problem&lt;/li&gt;&lt;/ol&gt; &lt;/div&gt; &lt;p&gt;Sure enough, I found seven conflicts with appointments dating all the way back to 2003. They must of been hanging around for the past five years and I didn't know it. I cleared the conflicts and reran the Google Outlook Sync and it worked. &lt;/p&gt;&lt;img src="http://www.jorriss.net/blog/jorriss/aggbug/1328.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/jorrissnet?a=TMx2RA"&gt;&lt;img src="http://feeds.feedburner.com/~a/jorrissnet?i=TMx2RA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <dc:creator>Jorriss</dc:creator>
            <guid isPermaLink="false">http://www.jorriss.net/blog/jorriss/archive/2008/04/22/google-calendar-sync-issue.aspx</guid>
            <pubDate>Tue, 22 Apr 2008 18:30:27 GMT</pubDate>
            <wfw:comment>http://www.jorriss.net/blog/jorriss/comments/1328.aspx</wfw:comment>
            <comments>http://www.jorriss.net/blog/jorriss/archive/2008/04/22/google-calendar-sync-issue.aspx#feedback</comments>
            <wfw:commentRss>http://www.jorriss.net/blog/jorriss/comments/commentRss/1328.aspx</wfw:commentRss>
            <trackback:ping>http://www.jorriss.net/blog/jorriss/services/trackbacks/1328.aspx</trackback:ping>
        <feedburner:origLink>http://www.jorriss.net/blog/jorriss/archive/2008/04/22/google-calendar-sync-issue.aspx</feedburner:origLink></item>
        <item>
            <title>Free SQL Server 2008 Courses From Microsoft</title>
            <category>Database</category>
            <category>SQL Server</category>
            <link>http://feeds.feedburner.com/~r/jorrissnet/~3/445553702/free-sql-server-2008-courses-from-microsoft.aspx</link>
            <description>&lt;p&gt;Microsoft is offering free &lt;a href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=139087"&gt;SQL Server 2008 online courses&lt;/a&gt;. The offered titles are:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;What's New in SQL Server 2008 for Enterprise Data Platform  &lt;/li&gt;&lt;li&gt;What's New in SQL Server 2008 for Business Intelligence  &lt;/li&gt;&lt;li&gt;What's New in SQL Server 2008 for Database Development&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;We've been keeping our ear pretty close to the ground on SQL Server 2008 so this may come in handy. But according to my boy Jason &lt;a href="http://www.statisticsio.com/Home/tabid/36/ctl/ArticleView/mid/677/articleId/111/SQL-Server-2008-is-a-minor-release.aspx"&gt;SQL Server 2008 is a minor release&lt;/a&gt;. The course is free nonetheless.&lt;/p&gt; &lt;ul /&gt; &lt;ul /&gt; &lt;ul /&gt; &lt;ul /&gt; &lt;p&gt;Via &lt;a href="http://blogs.sqlservercentral.com/tim_mitchell/archive/2008/04/14/free-sql-server-2008-online-courseware-from-microsoft.aspx"&gt;Tim Mitchell&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://www.jorriss.net/blog/jorriss/aggbug/1327.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/jorrissnet?a=7wIUMp"&gt;&lt;img src="http://feeds.feedburner.com/~a/jorrissnet?i=7wIUMp" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <dc:creator>Jorriss</dc:creator>
            <guid isPermaLink="false">http://www.jorriss.net/blog/jorriss/archive/2008/04/21/free-sql-server-2008-courses-from-microsoft.aspx</guid>
            <pubDate>Mon, 21 Apr 2008 20:54:54 GMT</pubDate>
            <wfw:comment>http://www.jorriss.net/blog/jorriss/comments/1327.aspx</wfw:comment>
            <comments>http://www.jorriss.net/blog/jorriss/archive/2008/04/21/free-sql-server-2008-courses-from-microsoft.aspx#feedback</comments>
            <wfw:commentRss>http://www.jorriss.net/blog/jorriss/comments/commentRss/1327.aspx</wfw:commentRss>
            <trackback:ping>http://www.jorriss.net/blog/jorriss/services/trackbacks/1327.aspx</trackback:ping>
        <feedburner:origLink>http://www.jorriss.net/blog/jorriss/archive/2008/04/21/free-sql-server-2008-courses-from-microsoft.aspx</feedburner:origLink></item>
        <item>
            <title>Setting the default browser in Visual Studio</title>
            <category>Visual Studio</category>
            <link>http://feeds.feedburner.com/~r/jorrissnet/~3/445553703/setting-the-default-browser-in-visual-studio.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://jorriss.net/cs/blogs/jorrissnet/WindowsLiveWriter/SettingthedefaultbrowserinVisualStudio_A4EE/image_4.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="238" alt="image" src="http://jorriss.net/cs/blogs/jorrissnet/WindowsLiveWriter/SettingthedefaultbrowserinVisualStudio_A4EE/image_thumb_1.png" width="304" align="right" border="0" /&gt;&lt;/a&gt;Since installing Visual Studio 2008 when I debug web projects VS opened the project in my default browser (currently &lt;a href="http://www.maxthon.com"&gt;Maxthon&lt;/a&gt;) and not Internet Explorer. Of course this isn't what I wanted. So I opened up trusty Google and found an answer on &lt;a href="http://www.stevenharman.net"&gt;stevenharman.net&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;em&gt;As it turns out setting this is quite simple.&lt;/em&gt;  &lt;/p&gt;&lt;ol&gt; &lt;li&gt;&lt;em&gt;Open a WebForm file in VS (anything ending in &lt;code&gt;.aspx&lt;/code&gt; will do) &lt;/em&gt; &lt;/li&gt;&lt;li&gt;&lt;em&gt;Select the &lt;strong&gt;"Browse With..."&lt;/strong&gt; option from the &lt;strong&gt;File&lt;/strong&gt; menu &lt;/em&gt; &lt;/li&gt;&lt;li&gt;&lt;em&gt;Select your preferred browser from the list and click the "&lt;strong&gt;Set as Default"&lt;/strong&gt; button &lt;/em&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;em&gt;Now opening, browsing, or debugging a WebForm from within Visual studio will open the file in the specified browser (IE in my case) rather than my system default.&lt;/em&gt;  &lt;/p&gt;&lt;p&gt;And what do you know it works. Here's the &lt;a href="http://stevenharman.net/blog/archive/2007/08/02/setting-a-default-browser-for-visual-studio.aspx"&gt;complete article&lt;/a&gt; if you are so inclined. Thanks Steven.&lt;/p&gt;&lt;img src="http://www.jorriss.net/blog/jorriss/aggbug/1326.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/jorrissnet?a=tZ6yJt"&gt;&lt;img src="http://feeds.feedburner.com/~a/jorrissnet?i=tZ6yJt" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <dc:creator>Jorriss</dc:creator>
            <guid isPermaLink="false">http://www.jorriss.net/blog/jorriss/archive/2008/04/08/setting-the-default-browser-in-visual-studio.aspx</guid>
            <pubDate>Tue, 08 Apr 2008 05:08:18 GMT</pubDate>
            <wfw:comment>http://www.jorriss.net/blog/jorriss/comments/1326.aspx</wfw:comment>
            <comments>http://www.jorriss.net/blog/jorriss/archive/2008/04/08/setting-the-default-browser-in-visual-studio.aspx#feedback</comments>
            <wfw:commentRss>http://www.jorriss.net/blog/jorriss/comments/commentRss/1326.aspx</wfw:commentRss>
            <trackback:ping>http://www.jorriss.net/blog/jorriss/services/trackbacks/1326.aspx</trackback:ping>
        <feedburner:origLink>http://www.jorriss.net/blog/jorriss/archive/2008/04/08/setting-the-default-browser-in-visual-studio.aspx</feedburner:origLink></item>
        <item>
            <title>Visual Studio 2008 and .NET Framework 3.5 Training Kit</title>
            <category>.Net</category>
            <category>Visual Studio</category>
            <link>http://feeds.feedburner.com/~r/jorrissnet/~3/445553704/visual-studio-2008-and-net-framework-3-5-training-kit.aspx</link>
            <description>&lt;p&gt;Microsoft has released the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=8BDAA836-0BBA-4393-94DB-6C3C4A0C98A1&amp;amp;displaylang=en"&gt;Visual Studio 2008 and .Net Framework 3.5 Training Kit&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;&lt;em&gt;The Visual Studio 2008 and .NET Framework 3.5 Training Kit includes presentations, hands-on labs, and demos. This content is designed to help you learn how to utilize the Visual Studio 2008 features and a variety of framework technologies including: LINQ, C# 3.0, Visual Basic 9, WCF, WF, WPF, ASP.NET AJAX, VSTO, CardSpace, SilverLight, Mobile and Application Lifecycle Management.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;I always love free training material. Enjoy. Via &lt;a href="http://elegantcode.com/2008/03/21/visual-studio-2008-and-net-framework-35-training-kit/"&gt;Elegant Code&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://www.jorriss.net/blog/jorriss/aggbug/1325.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/jorrissnet?a=Ey6aXX"&gt;&lt;img src="http://feeds.feedburner.com/~a/jorrissnet?i=Ey6aXX" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <dc:creator>Jorriss</dc:creator>
            <guid isPermaLink="false">http://www.jorriss.net/blog/jorriss/archive/2008/03/22/visual-studio-2008-and-net-framework-3-5-training-kit.aspx</guid>
            <pubDate>Sat, 22 Mar 2008 21:43:04 GMT</pubDate>
            <wfw:comment>http://www.jorriss.net/blog/jorriss/comments/1325.aspx</wfw:comment>
            <comments>http://www.jorriss.net/blog/jorriss/archive/2008/03/22/visual-studio-2008-and-net-framework-3-5-training-kit.aspx#feedback</comments>
            <wfw:commentRss>http://www.jorriss.net/blog/jorriss/comments/commentRss/1325.aspx</wfw:commentRss>
            <trackback:ping>http://www.jorriss.net/blog/jorriss/services/trackbacks/1325.aspx</trackback:ping>
        <feedburner:origLink>http://www.jorriss.net/blog/jorriss/archive/2008/03/22/visual-studio-2008-and-net-framework-3-5-training-kit.aspx</feedburner:origLink></item>
        <item>
            <title>Team Foundation Server 2005 to 2008 Upgrade Experience</title>
            <category>TFS</category>
            <link>http://feeds.feedburner.com/~r/jorrissnet/~3/445553705/team-foundation-server-2005-to-2008-upgrade-experience.aspx</link>
            <description>&lt;p mce_keep="true"&gt;After the nightmare that was the Team Foundation Server 2005 installation I was secretly dreading the 2008 upgrade. But somewhere in the back of my mind I was also cautiously optimistic as well. I mean could it possibly be any worse than the 2005 install? I did my homework pouring over the install instructions over the past few days. I wanted to be ready for anything. Fortunately for me, I didn't have much to worry about. Two resources that helped immeasurably were the &lt;a class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ff12844f-398c-4fe9-8b0d-9e84181d9923&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ff12844f-398c-4fe9-8b0d-9e84181d9923&amp;amp;displaylang=en"&gt;Team Foundation Installation Guide for Visual Studio Team System 2008&lt;/a&gt; and &lt;a class="" href="http://ozgrant.com/" mce_href="http://ozgrant.com/"&gt;Grant Holliday's&lt;/a&gt; &lt;a class="" href="http://ozgrant.com/2007/11/24/tips-for-upgrading-from-tfs2005-to-tfs2008/" mce_href="http://ozgrant.com/2007/11/24/tips-for-upgrading-from-tfs2005-to-tfs2008/"&gt;Tips for upgrading from TFS2005 to TFS2008&lt;/a&gt; post. I also got to give the guys over at &lt;a class="" href="http://www.radiotfs.com/" mce_href="http://www.radiotfs.com/"&gt;Radio TFS&lt;/a&gt; an assist for their &lt;a class="" href="http://www.radiotfs.com/2008/02/19/RadioTFS02TFS2008WhatsNewAndShouldYouUpgrade.aspx" mce_href="http://www.radiotfs.com/2008/02/19/RadioTFS02TFS2008WhatsNewAndShouldYouUpgrade.aspx"&gt;TFS 2008 What's New and Should You Upgrade&lt;/a&gt; show.&lt;/p&gt;
&lt;p mce_keep="true"&gt;The only issue that we ran across was directly related to the installation instructions in the the Installation Guide. In the "Upgrading Your Team Foundation Server" page in the "Before You Upgrade Team Foundation Server" section step six says to "Uninstall Team Foundation Server". What it doesn't say is what applications consist of Team Foundation Sever. We later determined that this meant TFS 2005 Build and TFS 2005 Services and TFS 2005 Databases but initially we only uninstalled the build and services apps. Luckily, the System Health Check caught the problem and after uninstalling the databases app the install went fine.&lt;/p&gt;
&lt;p mce_keep="true"&gt;Big ups to the TFS team for dramatically improving the install experience. What once took days now only takes hours.&lt;/p&gt;&lt;img src="http://www.jorriss.net/blog/jorriss/aggbug/1324.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/jorrissnet?a=nOn5av"&gt;&lt;img src="http://feeds.feedburner.com/~a/jorrissnet?i=nOn5av" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <dc:creator>Jorriss</dc:creator>
            <guid isPermaLink="false">http://www.jorriss.net/blog/jorriss/archive/2008/03/12/team-foundation-server-2005-to-2008-upgrade-experience.aspx</guid>
            <pubDate>Thu, 13 Mar 2008 01:26:00 GMT</pubDate>
            <wfw:comment>http://www.jorriss.net/blog/jorriss/comments/1324.aspx</wfw:comment>
            <comments>http://www.jorriss.net/blog/jorriss/archive/2008/03/12/team-foundation-server-2005-to-2008-upgrade-experience.aspx#feedback</comments>
            <wfw:commentRss>http://www.jorriss.net/blog/jorriss/comments/commentRss/1324.aspx</wfw:commentRss>
            <trackback:ping>http://www.jorriss.net/blog/jorriss/services/trackbacks/1324.aspx</trackback:ping>
        <feedburner:origLink>http://www.jorriss.net/blog/jorriss/archive/2008/03/12/team-foundation-server-2005-to-2008-upgrade-experience.aspx</feedburner:origLink></item>
        <item>
            <title>Didn't think it would happen did ya?</title>
            <category>General</category>
            <link>http://feeds.feedburner.com/~r/jorrissnet/~3/445553706/didn-t-think-it-would-happen-did-ya.aspx</link>
            <description>I'm back. It's been a long time since my last post. Since then Alexa is 1.5 times older, I've been promoted at work, I've gotten more involved at church and I'm busier than ever. I did have a good logical reason why I stopped blogging but I'm going to save that for later. I've also been able to move the blog from .Text to Community Server thanks to &lt;a class="" href="http://kevinharder.com/" mce_href="http://kevinharder.com/"&gt;Kevin Harder&lt;/a&gt; and his &lt;a class="" href="http://kevinharder.com/downloads/communityserver/text-to-cs-2007-migration-tools/" mce_href="http://kevinharder.com/downloads/communityserver/text-to-cs-2007-migration-tools/"&gt;migration tool&lt;/a&gt;. I was able to move web hosts as well. I'm still going to keep the personal stuff on &lt;a class="" href="http://jorriss.com/" mce_href="http://jorriss.com/"&gt;Jorriss.com&lt;/a&gt; and the technical stuff at &lt;a class="" href="http://jorriss.net/" mce_href="http://jorriss.net/"&gt;Jorriss.net&lt;/a&gt;. The design of the blogs will also be changing over the next few months. Frankly, I have no idea what it's going to look like. Maybe J can help. Anyways brace yourself kids...I'm back. 
&lt;p mce_keep="true"&gt; &lt;/p&gt;&lt;img src="http://www.jorriss.net/blog/jorriss/aggbug/1323.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/jorrissnet?a=pSHxIf"&gt;&lt;img src="http://feeds.feedburner.com/~a/jorrissnet?i=pSHxIf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <dc:creator>Jorriss</dc:creator>
            <guid isPermaLink="false">http://www.jorriss.net/blog/jorriss/archive/2008/03/12/didn-t-think-it-would-happen-did-ya.aspx</guid>
            <pubDate>Wed, 12 Mar 2008 05:05:00 GMT</pubDate>
            <wfw:comment>http://www.jorriss.net/blog/jorriss/comments/1323.aspx</wfw:comment>
            <comments>http://www.jorriss.net/blog/jorriss/archive/2008/03/12/didn-t-think-it-would-happen-did-ya.aspx#feedback</comments>
            <wfw:commentRss>http://www.jorriss.net/blog/jorriss/comments/commentRss/1323.aspx</wfw:commentRss>
            <trackback:ping>http://www.jorriss.net/blog/jorriss/services/trackbacks/1323.aspx</trackback:ping>
        <feedburner:origLink>http://www.jorriss.net/blog/jorriss/archive/2008/03/12/didn-t-think-it-would-happen-did-ya.aspx</feedburner:origLink></item>
    </channel>
</rss>
