<rss version="2.0" 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/">
    <channel>
        <title>Gary Davis' Blog</title>
        <link>http://blogs.webguild.com/Default.aspx</link>
        <description>DotNET/PayPal Development and other Techie Stuff </description>
        <language>en-US</language>
        <copyright>Gary Davis</copyright>
        <generator>Subtext Version 2.5.1.20</generator>
        <image>
            <title>Gary Davis' Blog</title>
            <url>http://blogs.webguild.com/images/RSS2Image.gif</url>
            <link>http://blogs.webguild.com/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>How to recover space from your Android-imaged SDCard</title>
            <link>http://blogs.webguild.com/archive/2012/05/04/wow-to-recover-space-from-your-android-imaged-sdcard.aspx</link>
            <description>&lt;p&gt;When using a (Micro)SDCard created in Windows for an Android boot, partitions are written to it in a Linux format that Windows does not completely understand.&lt;/p&gt;
&lt;p&gt;I did this when rooting my NookColor with CyanogenMod 7. My 8GB card was imaged using the &lt;a target="_blank" href="https://launchpad.net/win32-image-writer"&gt;Win32DiskImager&lt;/a&gt; tool that takes an IMG file and writes it to the card, laying down various partitions, including one standard Windows partition of about 130MB. This basically hides the remainder of the card from Windows but boots up my NookColor into Andriod just fine.&lt;/p&gt;
&lt;p&gt;Well, eventually, you need to recover the card to use in Windows again. You can't use the Windows format command since that will only empty out the small partition. Normally, partitions can be deleted using the Computer Management program (under Disk Management). You select the SDCard volume and right click the partition and delete it.This did not completely work - some partitions did not have the delete option.&lt;/p&gt;
&lt;p&gt;To actually delete the partitions, drop down to the command line (run as administrator, just in case). Run &lt;strong&gt;diskpart&lt;/strong&gt;.When the prompt displays, run these commands.&lt;/p&gt;
&lt;p&gt;DISKPART&amp;gt; &lt;strong&gt;list disk      &lt;/strong&gt;&lt;em&gt;[lists all the disks on the system]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;DISKPART&amp;gt; &lt;strong&gt;select disk &lt;em&gt;n&lt;/em&gt;      &lt;/strong&gt;&lt;em&gt;[carefully select the disk that is the SDCard for the following command]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;DISKPART&amp;gt; &lt;strong&gt;list partition&lt;em&gt;      &lt;/em&gt;&lt;/strong&gt;&lt;em&gt;[lists all the partitions of the selected disk]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;DISKPART&amp;gt; &lt;strong&gt;list disk      &lt;/strong&gt;&lt;em&gt;[lists all the disks on the system]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;DISKPART&amp;gt; &lt;strong&gt;select partition &lt;em&gt;n      &lt;/em&gt;&lt;/strong&gt;&lt;em&gt;[select a partition to delete]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;DISKPART&amp;gt; &lt;strong&gt;delete partition      &lt;/strong&gt;&lt;em&gt;[delete the selected partition]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;[At this point repeat the list, select and delete commands for each partition&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;DISKPART&amp;gt; &lt;strong&gt;exit      &lt;/strong&gt;&lt;em&gt;[exits diskpart]&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;At this point, I used Disk Manager to create a new partition, assign a drive letter and format the partition to FAT32. This can also be done with DISKPART &lt;strong&gt;create partition &lt;/strong&gt;and &lt;strong&gt;assign&lt;/strong&gt; commands.&lt;/p&gt;
&lt;p&gt;&lt;img width="505" hspace="20" height="566" alt="Diskpart commands" src="/images/blogs_webguild_com/gary/DiskPart.png" /&gt;&lt;/p&gt;
&lt;p&gt; References:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt; &lt;a href="http://technet.microsoft.com/en-us/library/cc738489%28WS.10%29.aspx" target="_blank"&gt;Delete a partition or logical drive&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;For NookColor: &lt;a href="http://androidforums.com/nookcolor-all-things-root/327798-guide-how-make-bootable-cwm-3-2-0-1-clockworkmod-twrp-2-1-1-bootable-sd-card-4-22-2012-a.html" target="_blank"&gt;How to make a bootable CWM 3.2.0.1 (ClockWorkMod) or TWRP 2.1.1 bootable sd card&lt;br /&gt;
    &lt;/a&gt;&lt;/li&gt;
    &lt;li&gt; &lt;a href="http://androidforums.com/nookcolor-all-things-root/367116-how-download-install-cm7-run-off-sd-card.html" target="_blank"&gt;Download and Install CM7 to Run Off SD Card&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://blogs.webguild.com/aggbug/41.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gary Davis</dc:creator>
            <guid>http://blogs.webguild.com/archive/2012/05/04/wow-to-recover-space-from-your-android-imaged-sdcard.aspx</guid>
            <pubDate>Fri, 04 May 2012 14:18:44 GMT</pubDate>
            <comments>http://blogs.webguild.com/archive/2012/05/04/wow-to-recover-space-from-your-android-imaged-sdcard.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.webguild.com/comments/commentRss/41.aspx</wfw:commentRss>
        </item>
        <item>
            <title>The Miami's Metrorail App for the Windows Phone 7</title>
            <category>Personal</category>
            <link>http://blogs.webguild.com/archive/2012/02/22/the-miamis-metrorail-app-for-the-windows-phone-7.aspx</link>
            <description>&lt;p&gt;My third WP7 app is now available in the Marketplace. Like the Tri-Rail app I released a few weeks ago, this is a useful app for riders of the Miami-Dade County Commuter Rail system known as &lt;a href="javascript:void(0);/*1329950045759*/"&gt;Miami's Metrorail&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://garz.me/MiamiMetrorail"&gt;&lt;img width="134" height="256" align="left" alt="Miami's Metrorail App Home Screen" border="0" vspace="5" hspace="10" src="/images/blogs_webguild_com/gary/MiamiMetrorail.png" /&gt;&lt;/a&gt;The app will let you locate the nearest stations using the WP7's GeoLocation system to determine your current location. It will show the nearest station North of you and the nearest station to the South including the distance to the stations in miles.&lt;a target="_blank" href="http://garz.me/miamimetrorailapp"&gt;&lt;img width="222" height="54" align="right" alt="Miami's Metrorail App in the Marketplace" border="0" vspace="20" hspace="10" src="/images/blogs_webguild_com/gary/Metrorail-App.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The list of all stations can be displayed and select one to see the details of that station such as the address and the times the trains will arrive during the day. There is a button to click to display directions to the station using Bing to help navigate you there.&lt;/p&gt;
&lt;p&gt;The next arriving Northbound and Southbound trains are displayed with the number of minutes until they arrive. &lt;/p&gt;
&lt;p&gt;Select one of the stops at the station to see information about that train and all its other station stops with arrival times.&lt;/p&gt;
&lt;p&gt;There home screen has a button to display the Metrorail's mobile website which is really nice and adds a lot of useful information. The station information page displays connection informtion to local Metrobuses and the Metromover.&lt;/p&gt;
&lt;p&gt;Finally, there is an info screen that displays some information, web page links and the About screen. &lt;/p&gt;
&lt;p&gt;For more information, click the image to get to the marketplace and the app’s home page.&lt;/p&gt;&lt;img src="http://blogs.webguild.com/aggbug/3.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Blog Author</dc:creator>
            <guid>http://blogs.webguild.com/archive/2012/02/22/the-miamis-metrorail-app-for-the-windows-phone-7.aspx</guid>
            <pubDate>Wed, 22 Feb 2012 05:00:00 GMT</pubDate>
            <comments>http://blogs.webguild.com/archive/2012/02/22/the-miamis-metrorail-app-for-the-windows-phone-7.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.webguild.com/comments/commentRss/3.aspx</wfw:commentRss>
        </item>
        <item>
            <title>The Tri-Rail App for the Windows Phone 7</title>
            <category>Personal</category>
            <link>http://blogs.webguild.com/archive/2012/02/08/the-tri-rail-app-for-the-windows-phone-7.aspx</link>
            <description>&lt;p&gt;Well, I have written my second WP7 app. This is a useful app for riders of the S. Florida Commuter Rail system known as Tri-Rail (see &lt;a href="http://www.tri-rail.com"&gt;http://www.tri-rail.com&lt;/a&gt;). &lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://garz.me/TriRail"&gt;&lt;img width="134" height="258" align="left" alt="Tri-Rail App Station Screen" border="0" vspace="5" hspace="10" src="/images/blogs_webguild_com/gary/Screen.png" /&gt;&lt;/a&gt;The app will let you locate the nearest stations using the WP7's GeoLocation system to determine your current location. It will show the nearest station North of you and the nearest station to the South including the distance to the stations in miles.&lt;a target="_blank" href="http://garz.me/trirailapp"&gt;&lt;img width="222" height="54" align="right" alt="" border="0" vspace="20" hspace="10" src="/images/blogs_webguild_com/gary/DownloadTri-Rail.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The list of all stations can be displayed and select one to see the details of that station such as the address and the times the trains will arrive during the day. There is a button to click to display directions to the station using Bing to help navigate you there.&lt;/p&gt;
&lt;p&gt;The next arriving Northbound and Southbound trains are displayed with the number of minutes until they arrive.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Select one of the stops at the station to see information about that train and all its other station stops with arrival times.&lt;/p&gt;
&lt;p&gt;There is a fare calculator that will determine the fare for the train ride. Fares are based on the distance traveled (by zones), whether it is a weekday or weekend rate and the type of travel (one-way, round trip or one of several other types).&lt;/p&gt;
&lt;p&gt;Finally, there is an info screen that displays some information, web page links and the About screen.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;For more information, click the image to get to the marketplace and the app’s home page.&lt;/p&gt;&lt;img src="http://blogs.webguild.com/aggbug/4.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Blog Author</dc:creator>
            <guid>http://blogs.webguild.com/archive/2012/02/08/the-tri-rail-app-for-the-windows-phone-7.aspx</guid>
            <pubDate>Wed, 08 Feb 2012 05:00:00 GMT</pubDate>
            <comments>http://blogs.webguild.com/archive/2012/02/08/the-tri-rail-app-for-the-windows-phone-7.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.webguild.com/comments/commentRss/4.aspx</wfw:commentRss>
        </item>
        <item>
            <title>The TivoNetRemote App for the Windows Phone 7</title>
            <category>Personal</category>
            <link>http://blogs.webguild.com/archive/2011/10/05/the-tivonetremote-app-for-the-windows-phone-7.aspx</link>
            <description>&lt;p&gt;I have been spending some time lately writing an app for the Windows Phone 7 to remote &lt;a target="_blank" href="http://garz.me/tivonetremote"&gt;&lt;img width="244" height="63" title="TivoNetRemoteMktM" align="right" style="margin: 8px 12px 0px 0px; border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: right; display: inline; background-image: none;" alt="TivoNetRemoteMktM" border="0" src="http://blogs.webguild.com/images/blogs_webguild_com/gary/Windows-Live-Writer/67b7f95c899e_117B7/TivoNetRemoteMktM_3.png" /&gt;&lt;/a&gt;control a TiVo using your home network (not infrared). Today, the app showed up in the marketplace.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.tivonetremote.com/"&gt;&lt;img width="134" height="240" title="TivoNetRemotePhoneS" align="left" style="margin: 2px 10px 0px; border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: left; display: inline; background-image: none;" alt="TivoNetRemotePhoneS" border="0" src="http://blogs.webguild.com/images/blogs_webguild_com/gary/Windows-Live-Writer/67b7f95c899e_117B7/TivoNetRemotePhoneS_3.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The app uses the Mango (7.5) version of the Windows Phone 7 which supports TCP/IP socket communication. As you click the buttons, commands are sent to the TiVo over the connection to tell it to do various things. For example, &lt;strong&gt;IRCODE PAUSE&lt;/strong&gt; is the command to pause the TiVo. TiVo has documented most of the commands. The TiVo Premiere, S3 and TiVo HD support network remote control.&lt;/p&gt;
&lt;p&gt;The app uses some controls from Telerik to improve the user interface such as page transitions, popups for Trial/Purchase notification and the list picker.&lt;/p&gt;
&lt;p&gt;The app has a trial and purchase mode. The trial is free but some functionality is disabled. Purchasing the full version ($1.99) immediately enables the missing functions.&lt;/p&gt;
&lt;p&gt;The app uses the Dotfuscator product from &lt;a target="_blank" href="http://www.preemptive.com/"&gt;Preemptive Solutions&lt;/a&gt; to obfuscate the code to deter reverse engineering and decompiling the app as well as add analytics to track the number of times the app is used by all those that downloaded it.&lt;a target="_blank" href="http://www.webguild.com/Tivo"&gt;&lt;img width="155" height="240" title="TivoRemoteWM6" align="right" style="border-width: 0px; margin: 4px 10px 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: right; display: inline; background-image: none;" alt="TivoRemoteWM6" border="0" src="http://blogs.webguild.com/images/blogs_webguild_com/gary/Windows-Live-Writer/67b7f95c899e_117B7/TivoRemoteWM6_3.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Much of the text and hyperlinks within the app may be updated by me without requiring users to update their app. This is done by the app downloading an XML file containing the text and other properties from a website. I simply update the XML file and users will have the latest text available to them. For example, one of the pages has a list of resources and links to websites. I can easily add or update this list. Also, there is a page of Headline News which I can update periodically with new and interesting tips.&lt;/p&gt;
&lt;p&gt;Development of the app is done using Microsoft’s Visual Studio. The code is C# and WP7 development is in Silverlight (xaml).&lt;/p&gt;
&lt;p&gt;About 9 years ago, I wrote a similar app for the Windows Mobile 6 (image on the right). This app also used network commands but it talked to the old Series 1 TiVo using HTTP protocol to the web server that was set up on the TiVo (TivoWeb).&lt;/p&gt;
&lt;p&gt;For more information, click the images to get to the marketplace and the app’s home page.&lt;/p&gt;&lt;img src="http://blogs.webguild.com/aggbug/5.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Blog Author</dc:creator>
            <guid>http://blogs.webguild.com/archive/2011/10/05/the-tivonetremote-app-for-the-windows-phone-7.aspx</guid>
            <pubDate>Wed, 05 Oct 2011 04:00:00 GMT</pubDate>
            <comments>http://blogs.webguild.com/archive/2011/10/05/the-tivonetremote-app-for-the-windows-phone-7.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.webguild.com/comments/commentRss/5.aspx</wfw:commentRss>
        </item>
        <item>
            <title>How to Enable jQuery Intellisense in Your MVC 3 Razor Code</title>
            <category>Programming</category>
            <link>http://blogs.webguild.com/archive/2011/05/30/how-to-enable-jquery-intellisense-in-your-mvc-3-razor.aspx</link>
            <description>&lt;p&gt;You probably include your &lt;font face="Consolas"&gt;&amp;lt;script&amp;gt;&lt;/font&gt; to pull in the jQuery JavaScript in your layout.cshtml (master page in Razor), perhaps something like this: &lt;/p&gt;
&lt;pre class="csharpcode"&gt;&amp;lt;script src=&lt;span class="str"&gt;"http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.6.2.min.js"&lt;/span&gt; type=&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;pre class="csharpcode"&gt; &lt;/pre&gt;
&lt;p&gt;But your code pages that use jQuery do not show Intellisense. To enable Intellisense, add this to the top of the pages so Visual Studio has a reference to the vsdoc which is hosted by the Microsoft CDN:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;font style="background-color: rgb(255, 255, 0);"&gt;@&lt;/font&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;false&lt;/span&gt;) {&amp;lt;script src=&lt;span class="str"&gt;"http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.6.2.min.js"&lt;/span&gt; type=&lt;span class="str"&gt;"text/javascript" /&lt;/span&gt;&amp;gt;}&lt;/pre&gt;
&lt;pre class="csharpcode"&gt; &lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
]]&gt;&lt;/style&gt;
&lt;p&gt;The if statement will prevent the script tag from being emitted to the browser since it is only needed for Visual Studio development.&lt;a href="http://blogs.webguild.com/images/blogs_webguild_com/gary/Windows-Live-Writer/How-to-enable-Intellisense_EE4A/jquery_2.png"&gt;&lt;img width="459" height="175" title="jquery" style="border-width: 0px; margin: 4px 7px 4px 4px; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: right; display: inline; background-image: none;" alt="jquery" border="0" src="http://blogs.webguild.com/images/blogs_webguild_com/gary/Windows-Live-Writer/How-to-enable-Intellisense_EE4A/jquery_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It is not necessary to specify the path to the vsdoc file since Visual Studio knows to look for the vsdoc in the same location and use it if it finds it.&lt;/p&gt;
&lt;p&gt;The Intellisense is shown based on deleting then typing the open paren at the point indicated.&lt;/p&gt;
&lt;p&gt;BTW, the &lt;strong&gt;&lt;font face="Consolas" style="background-color: rgb(204, 204, 204);"&gt;$(function()&lt;/font&gt;&lt;/strong&gt; at the top of the example is a common shorthand for &lt;strong&gt;&lt;font face="Consolas" style="background-color: rgb(204, 204, 204);"&gt;$(document).ready(function()&lt;/font&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The CDN used is the &lt;a target="_blank" href="http://www.asp.net/ajaxlibrary/cdn.ashx"&gt;Microsoft Ajax Content Delivery Network&lt;/a&gt; and they changed the domain from ajax.microsoft.com to ajax.aspnetcdn.com to improve performance and prevent microsoft.com cookie transmission.&lt;/p&gt;
&lt;p&gt;The CDN also has the files for the jQueryUI .js and .css for the themes.&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&amp;lt;link type=&lt;span class="str"&gt;"text/css"&lt;/span&gt; rel=&lt;span class="str"&gt;"Stylesheet"&lt;/span&gt; &lt;/pre&gt;
&lt;pre class="csharpcode"&gt;    href=&lt;span class="str"&gt;"http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/redmond/jquery-ui.css"&lt;/span&gt; /&amp;gt;&lt;/pre&gt;
&lt;pre class="csharpcode"&gt;&amp;lt;script type=&lt;span class="str"&gt;"text/javascript"&lt;/span&gt; &lt;/pre&gt;
&lt;pre class="csharpcode"&gt;    src=&lt;span class="str"&gt;"http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/jquery-ui.min.js"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;pre class="csharpcode"&gt; &lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[

.csharpcode, .csharpcode pre
{
	font-size: 9px;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;
&lt;p&gt;Note that the current versions of these files at this time is 1.6.2 for jQuery and 1.8.14 for jQueryUI.&lt;/p&gt;&lt;img src="http://blogs.webguild.com/aggbug/6.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Blog Author</dc:creator>
            <guid>http://blogs.webguild.com/archive/2011/05/30/how-to-enable-jquery-intellisense-in-your-mvc-3-razor.aspx</guid>
            <pubDate>Mon, 30 May 2011 04:00:00 GMT</pubDate>
            <comments>http://blogs.webguild.com/archive/2011/05/30/how-to-enable-jquery-intellisense-in-your-mvc-3-razor.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.webguild.com/comments/commentRss/6.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Log Your Website Visitor Out of Facebook</title>
            <category>Programming</category>
            <link>http://blogs.webguild.com/archive/2011/05/26/log-your-website-visitor-out-of-facebook.aspx</link>
            <description>&lt;p&gt;One of my webs lets the user authenticate using the Facebook OAuth 2.0 Graph protocol. When the user clicks the Logout button, a call is made (Http redirect) to Facebook to have it log the user off Facebook and my site and then it returns to my site to display my page with the button now showing &lt;em&gt;Login &lt;/em&gt;instead of &lt;em&gt;Logout&lt;/em&gt;. The user never sees any Facebook page during the logout.&lt;/p&gt;
&lt;p&gt;The way this works is to pass a parameter to Facebook that indicates the url to return to when it is done. A few weeks ago, this stopped working. Instead of returning to the specified url, Facebook logged out the user but displayed its own page. It ignored the return url parameter.&lt;/p&gt;
&lt;p&gt;The return parameter is specified as &lt;strong&gt;next=&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;I posted a &lt;a target="_blank" href="http://bugs.developers.facebook.net/show_bug.cgi?id=17217"&gt;Facebook bug&lt;/a&gt; and someone did reply with a solution. It did not immediately work for me but with some experimentation, I found out the needed syntax.&lt;/p&gt;
&lt;p&gt;This does work if you do it right. I tried some variations and some work and some don't. By "work", I mean the redirect will log you out and it will return to your url in the "next" parameter.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.facebook.com/logout.php?next=[http://www.yoursite.com]&amp;amp;access_token=[current"&gt;&lt;u&gt;&lt;font color="#0066cc" /&gt;&lt;/u&gt;&lt;font color="#0066cc" /&gt;&lt;/a&gt;&lt;font color="#0066cc"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;&lt;a href="https://www.facebook.com/logout.php?next=[http://www.yoursite.com]&amp;amp;access_token=[current"&gt;&lt;strong&gt;https://www.facebook.com/logout.php?next=&lt;font style="background-color: rgb(255, 255, 0);"&gt;[http://www.yoursite.com]&lt;/font&gt;&amp;amp;access_token=&lt;font style="background-color: rgb(255, 255, 0);"&gt;[current&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/u&gt;&lt;strong&gt;&lt;font style="background-color: rgb(255, 255, 0);"&gt;&lt;font color="#000000"&gt;_&lt;/font&gt;token&lt;/font&gt;&lt;/strong&gt;&lt;strong&gt;&lt;font style="background-color: rgb(255, 255, 0);"&gt;]&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;font color="#0066cc"&gt;
&lt;ol&gt;
    &lt;li&gt;Use &lt;strong&gt;https&lt;/strong&gt;, not &lt;strong&gt;http&lt;/strong&gt; - it won't return if you use http (for facebook.com)&lt;/li&gt;
    &lt;li&gt;Supply the &lt;strong&gt;access_token&lt;/strong&gt; parameter - it won't return if omitted&lt;/li&gt;
    &lt;li&gt;Both &lt;strong&gt;www&lt;/strong&gt;.facebook.com and &lt;strong&gt;m&lt;/strong&gt;.facebook.com appear to work&lt;/li&gt;
    &lt;li&gt;Supply or omit the &lt;strong&gt;&amp;amp;confirm=1&lt;/strong&gt; parameter (some folks mentioned it). It worked either way&lt;/li&gt;
    &lt;li&gt;UrlEncode the &lt;strong&gt;next&lt;/strong&gt; parameter if necessary (contains question marks, ampersands, equal signs, etc.)&lt;/li&gt;
    &lt;li&gt;I passed &lt;strong&gt;&amp;amp;next=&lt;/strong&gt;&lt;strong&gt;&lt;font color="#000000"&gt;http://localhost:5000/&lt;/font&gt;&lt;/strong&gt; - final slash is not required but recommended.&lt;/li&gt;
&lt;/ol&gt;
&lt;/font&gt;&lt;img src="http://blogs.webguild.com/aggbug/7.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Blog Author</dc:creator>
            <guid>http://blogs.webguild.com/archive/2011/05/26/log-your-website-visitor-out-of-facebook.aspx</guid>
            <pubDate>Thu, 26 May 2011 04:00:00 GMT</pubDate>
            <comments>http://blogs.webguild.com/archive/2011/05/26/log-your-website-visitor-out-of-facebook.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.webguild.com/comments/commentRss/7.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Fatal Error C0000034 installing Windows 7 SP1</title>
            <category>Personal</category>
            <link>http://blogs.webguild.com/archive/2011/02/23/fatal-error-c0000034-installing-windows-7-sp1.aspx</link>
            <description>&lt;p&gt;&lt;span name="subject"&gt;I attempted installation of SP1 for Windows 7 on an Acer (&lt;font face=""&gt;Aspire Revo 3610&lt;/font&gt;) PC running 64-bit Windows 7. The PC runs as a home server and I started the install while remotely connected. Once it completed the install (with about 5 other Windows updates), I allowed it to reboot. &lt;img alt="" align="right" width="163" height="175" src="/images/blogs_webguild_com/gary/Acer.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span name="subject"&gt;I eventually noticed that it never came back up (I was unable to ping it) so I went to the console (my TV monitor) and it displayed no signal. The power light was on so I left it alone incase it was just a really long install. I actually installed the SP1 on my desktop, also running 64-bit and though it took a long time (maybe an hour), it did complete and start up OK.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span name="subject"&gt;I then powered the Acer off and on and it started a reboot which displayed on the console. It indicated it had a problem and offered a recovery or continue the boot normally. I opted to continue the normal boot. It displayed the bootup graphic and started a count-up of the dlls it was updating similar to my successful install. However, it stopped early and displayed a fatal error:&lt;/span&gt;&lt;/p&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;p&gt;&lt;span name="subject"&gt;&lt;font face="Courier New"&gt;Fatal Error C0000034 applying update operation (Update 282 of 103814)&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span name="subject"&gt;I searched the web and did not get many hits on this error and none very helpful other than to recover from a backup or checkpoint.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;So, I rebooted again, this time choosing to recover from the last good boot. This also took a while - maybe 1/2 an hour but was successful. &lt;/p&gt;
&lt;p&gt;I will reattempt the SP1 install when I can get more information on this error and its resolution.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt; (from &lt;a target="_blank" href="http://social.technet.microsoft.com/Forums/en-US/w7itprogeneral/thread/608ecca8-b815-4ff6-8f3c-a828518434a7"&gt;this&lt;/a&gt;) - Once you are recovered, provide your logs to Microsoft&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Go to the folder &lt;strong&gt;C:\Windows\Logs\CBS\&lt;/strong&gt; and copy all files to your document folder, also copy the setupapi logs from the folder &lt;strong&gt;C:\Windows\Inf&lt;/strong&gt; and the file &lt;strong&gt;C:\Windows\winsxs\poqexec.log&lt;/strong&gt; to your document folder. Zip all files into 1 Zip file and upload the Zip file to your SkyDrive and post a link &lt;/em&gt;&lt;em&gt;here: &lt;font face=""&gt;&lt;a target="_blank" href="http://social.technet.microsoft.com/Forums/en-US/w7itproui/thread/4fc10639-02db-4665-993a-08d865088d65"&gt;http://social.technet.microsoft.com/Forums/en-US/w7itproui/thread/4fc10639-02db-4665-993a-08d865088d65&lt;/a&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UPDATE 2&lt;/strong&gt; (A reported solution from &lt;strong&gt;thiswoot&lt;/strong&gt;: &lt;a target="_blank" href="http://social.technet.microsoft.com/Forums/en-US/w7itproinstall/thread/1c9a7151-b48c-4a98-aae7-a4b82682ea8e/#bcabda57-7338-499f-aee2-d708e76df315"&gt;here&lt;/a&gt;) - Basically, select Launch Startup Repair; follow the steps to get to the command line; run &lt;strong&gt;notepad.exe c:\windows\winsxs\pending.xml&lt;/strong&gt;; reboot and wait about 15 minutes and the SP1 will complete its install.&lt;/p&gt;
&lt;img src="http://blogs.webguild.com/aggbug/10.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gary Davis</dc:creator>
            <guid>http://blogs.webguild.com/archive/2011/02/23/fatal-error-c0000034-installing-windows-7-sp1.aspx</guid>
            <pubDate>Wed, 23 Feb 2011 05:00:00 GMT</pubDate>
            <comments>http://blogs.webguild.com/archive/2011/02/23/fatal-error-c0000034-installing-windows-7-sp1.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.webguild.com/comments/commentRss/10.aspx</wfw:commentRss>
        </item>
        <item>
            <title>How I Upgraded my Tivo Premiere from 47 to 317 Hours</title>
            <category>Personal</category>
            <link>http://blogs.webguild.com/archive/2010/11/06/how-i-upgraded-my-tivo-premiere-from-47-to-317.aspx</link>
            <description>&lt;p&gt;I posted over three years ago about my experiences in upgrading my HD Tivo (&lt;a id="ctl06_TitleUrl" title="Title of this entry." href="http://blogs.webguild.com/gary/archive/2007/08/18/how-i-upgraded-my-hd-tivo-from-20-to-98.aspx"&gt;&lt;u&gt;&lt;font color="#800080"&gt;How I Upgraded my HD Tivo from 20 to 98 hours&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;) and since then, I moved my family room HD Tivo to the bedroom and replaced it with a Tivo Premiere. Well, I started running low on space so it is upgrade time again. &lt;/p&gt;  &lt;p&gt;There are new tools to do the easy upgrade which I did yesterday. The upgrade took four hours of which three hours were waiting for the disk-to-disk copy to complete. Also, I recorded the project for YouTube. See details at my &lt;a href="http://DIYClinic.webguild.com/" target="_blank"&gt;DIYClinic&lt;/a&gt; website.&lt;/p&gt;
&lt;img src="http://blogs.webguild.com/aggbug/34.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gary Davis</dc:creator>
            <guid>http://blogs.webguild.com/archive/2010/11/06/how-i-upgraded-my-tivo-premiere-from-47-to-317.aspx</guid>
            <pubDate>Sat, 06 Nov 2010 04:00:00 GMT</pubDate>
            <comments>http://blogs.webguild.com/archive/2010/11/06/how-i-upgraded-my-tivo-premiere-from-47-to-317.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.webguild.com/comments/commentRss/34.aspx</wfw:commentRss>
        </item>
        <item>
            <title>How to Suppress Google AdSense (Syndication) for SSL Https Pages</title>
            <category>Programming</category>
            <link>http://blogs.webguild.com/archive/2010/09/03/how-to-suppress-google-adsense-syndication-for-ssl-https-pages.aspx</link>
            <description>&lt;p&gt;Google AdSense is not supported for https (&lt;a target="_blank" href="https://www.google.com/adsense/support/bin/answer.py?hl=en&amp;amp;answer=10528"&gt;see here&lt;/a&gt;). If you attempt to use it on an SSL page, you will see this warning in IE8.&lt;a href="http://blogs.webguild.com/images/blogs_webguild_com/gary/WindowsLiveWriter/HowtoSuppressGoogleAdsenseSyndicationfor_B0ED/Image1_2.png"&gt;&lt;img width="397" height="159" title="Image1" align="right" style="margin: 5px 0px 0px 4px; border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" alt="Image1" border="0" src="http://blogs.webguild.com/images/blogs_webguild_com/gary/WindowsLiveWriter/HowtoSuppressGoogleAdsenseSyndicationfor_B0ED/Image1_thumb.png" /&gt;&lt;/a&gt; The user would have to click No to allow the request (for a .js file in this case) to complete. Answering Yes will block it (the wording seems backwards from what you’d expect).&lt;/p&gt;
&lt;p&gt;Some postings I saw said to change the .js url in the script to use https://pagead2.&lt;wbr /&gt;googleadservices.com/pagead/&lt;wbr /&gt;show_ads.js but while this will work for this one .js file, the script then attempts to pull in other .js files using http so you still get the warning popup.&lt;/p&gt;
&lt;p&gt;The best solution is to not let the warning pop up on your secure pages.&lt;/p&gt;
&lt;p&gt;This is the standard AdSense code:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font face="Consolas"&gt;&amp;lt;script type="text/javascript"&amp;gt; &lt;br /&gt;
    if ("http:" == document.location.protocol) { &lt;br /&gt;
     google_ad_client = "pub-1234567890123456"; &lt;br /&gt;
     google_ad_slot = "1234567890"; &lt;br /&gt;
     google_ad_width = 728; &lt;br /&gt;
     google_ad_height = 90; &lt;br /&gt;
     google_ad_format = "728x90_as"; &lt;br /&gt;
    } &lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas"&gt;&amp;lt;script type="text/javascript" src="&lt;/font&gt;&lt;a href="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;font face="Consolas"&gt;http://pagead2.googlesyndication.com/pagead/show_ads.js&lt;/font&gt;&lt;/a&gt;&lt;font face="Consolas"&gt;"&amp;gt;&amp;lt;/script&amp;gt; &lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is the new version that will suppress the AdSense code and prevent the popup on your SSL pages. Simply insert the &lt;strong&gt;document.write &lt;/strong&gt;statement and remove the second script.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font face="Consolas"&gt;&amp;lt;script type="text/javascript"&amp;gt; &lt;br /&gt;
    if ("http:" == document.location.protocol) { &lt;br /&gt;
     google_ad_client = "pub-1234567890123456"; &lt;br /&gt;
     google_ad_slot = "1234567890"; &lt;br /&gt;
     google_ad_width = 728; &lt;br /&gt;
     google_ad_height = 90; &lt;br /&gt;
     google_ad_format = "728x90_as"; &lt;br /&gt;
     document.write(unescape( &lt;br /&gt;
        "%3Cscript src='http://pagead2.googlesyndication.com/pagead/show_ads.js' type='text/javascript' %3E%3C/script%3E")); &lt;br /&gt;
    } &lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This fix uses the existing conditional block for non-SSL pages that initializes some google_ad variables to also emit a &amp;lt;script&amp;gt; element to pull in the necessary show_ads.js file. For SSL pages, the variables will not be initialized and the script will not be emitted for the page.&lt;/p&gt;
&lt;div /&gt;&lt;img src="http://blogs.webguild.com/aggbug/8.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Blog Author</dc:creator>
            <guid>http://blogs.webguild.com/archive/2010/09/03/how-to-suppress-google-adsense-syndication-for-ssl-https-pages.aspx</guid>
            <pubDate>Fri, 03 Sep 2010 04:00:00 GMT</pubDate>
            <comments>http://blogs.webguild.com/archive/2010/09/03/how-to-suppress-google-adsense-syndication-for-ssl-https-pages.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.webguild.com/comments/commentRss/8.aspx</wfw:commentRss>
        </item>
        <item>
            <title>How I Redeemed a PayPal Plus Rewards Voucher</title>
            <category>Personal</category>
            <link>http://blogs.webguild.com/archive/2010/09/01/how-i-redeemed-a-paypal-plus-rewards-voucher.aspx</link>
            <description>&lt;p&gt;I signed up with a PayPal Plus MasterCard some time ago and started to accumulate some rewards points. When I went to investigate how to redeem my points, I found out there were some pretty unusual restrictions. Instead of buying an item from a catalog and applying the points, the PayPal credit card rewards is based on vouchers that may be redeemed during some site’s PayPal checkout process. There are three vouchers – $7 to be applied to shipping for 1000 points; $25 for an item for 2500 points and $100 for an item for 9500 points.&lt;/p&gt;  &lt;p&gt;Vouchers must be used within 60 days or you lose them. Also, not all websites that take PayPal support payment via voucher. Searching the Internet, I saw may postings about people having trouble finding out how and where to redeem these vouchers. It turns out that a website that I am familiar with does work with the vouchers. It is &lt;a href="http://www.blowitoutahere.com"&gt;www.blowitoutahere.com&lt;/a&gt; which sells CDs, DVDs, games and accessories which is a great way to use your rewards and not lose out of your redeemed voucher value.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.webguild.com/images/blogs_webguild_com/gary/WindowsLiveWriter/2e75b368ab0a_F182/bioh0_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="bioh0" border="0" alt="bioh0" align="left" src="http://blogs.webguild.com/images/blogs_webguild_com/gary/WindowsLiveWriter/2e75b368ab0a_F182/bioh0_thumb.png" width="432" height="286" /&gt;&lt;/a&gt;Basically, you first go to the PayPal site, log on, click on the &lt;strong&gt;View card details&lt;/strong&gt; link on your My Account Overview page. Click on the Rewards link on the left to select the voucher you want. In this example, I plan to buy Avatar on Blu Ray with a $25 voucher.&lt;/p&gt;  &lt;p&gt;Once you get the voucher, the 60-day count-down starts. The voucher is not something you see, or a number you have to copy down. It is tied to your PayPal account and will be available for you to apply during checkout. &lt;/p&gt;  &lt;p&gt;I had heard there was a delay in being able to use the voucher but in this case, I was able to complete my checkout immediately using the voucher.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.webguild.com/images/blogs_webguild_com/gary/WindowsLiveWriter/2e75b368ab0a_F182/bioh1_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="bioh1" border="0" alt="bioh1" align="right" src="http://blogs.webguild.com/images/blogs_webguild_com/gary/WindowsLiveWriter/2e75b368ab0a_F182/bioh1_thumb.png" width="422" height="267" /&gt;&lt;/a&gt;&lt;/p&gt;        &lt;p&gt;Now that you have the voucher, go to the &lt;a href="http://www.blowitoutahere.com/" target="_blank"&gt;BIOH&lt;/a&gt; website. Search for the item(s) you want and add them to the cart. The voucher will be used up in this purchase so you want to make sure your cart has enough stuff in it so you don’t lose any value from your voucher. Any amount over the voucher value will come from another PayPal funding source like your PayPal balance. This includes shipping and sales tax. &lt;/p&gt;  &lt;p&gt;Click to checkout and when you see the PayPal Express Checkout button on the second checkout page, click it instead (see image on right) of entering you address information and going through with the standard checkout. Standard checkout will not give you the opportunity to use your voucher but Express Checkout will. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.webguild.com/images/blogs_webguild_com/gary/WindowsLiveWriter/2e75b368ab0a_F182/bioh2_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="bioh2" border="0" alt="bioh2" align="left" src="http://blogs.webguild.com/images/blogs_webguild_com/gary/WindowsLiveWriter/2e75b368ab0a_F182/bioh2_thumb.png" width="424" height="380" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will now be redirected to PayPal to log on and select the shipping address and payment information.&lt;/p&gt;  &lt;p&gt;When you have the opportunity to select the payment method, click the link to &lt;strong&gt;Enter gift certificate, reward or discount &lt;/strong&gt;as shown on the left. This will open up the entry panel and you now click on &lt;strong&gt;select from this list&lt;/strong&gt;. Your voucher(s) will show up to allow you to make your selection and click the Apply button.&lt;/p&gt;  &lt;p&gt;At this point, you will continue with the checkout process at the BIOH website.&lt;/p&gt;  &lt;p&gt;You can go back to your PayPal account and see details of the transaction such as the amount redeemed from the voucher (hopefully all of it) and any balance pulled from your PayPal account or other funding source.&lt;/p&gt;  &lt;p&gt;I understand that the PayPal Plus credit card may be changing the rewards program to use a more traditional approach rather than the voucher system. I am not sure if existing accounts will be changed over or how this is to be implemented.&lt;/p&gt;  &lt;p&gt;In any case, this is one place that you can use your rewards. Other sites that offer Express Checkout probably also will work just fine. Please leave comments on other sites that can be used for reward redemption.&lt;/p&gt;
&lt;img src="http://blogs.webguild.com/aggbug/33.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gary Davis</dc:creator>
            <guid>http://blogs.webguild.com/archive/2010/09/01/how-i-redeemed-a-paypal-plus-rewards-voucher.aspx</guid>
            <pubDate>Wed, 01 Sep 2010 04:00:00 GMT</pubDate>
            <comments>http://blogs.webguild.com/archive/2010/09/01/how-i-redeemed-a-paypal-plus-rewards-voucher.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.webguild.com/comments/commentRss/33.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>
