<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">inventive title</title><subtitle type="html">News, samples, tips and tricks for Windows Mobile, SharePoint, ASP.NET and the Ajax Control Toolkit</subtitle><id>http://blogs.msdn.com/rbuckton/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rbuckton/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/rbuckton/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2007-08-22T21:23:42Z</updated><entry><title>TFS Walkthrough Series: Part 3 - Opening the Source Control Explorer</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rbuckton/archive/2009/09/07/tfs-walkthrough-series-part-3-opening-the-source-control-explorer.aspx" /><id>http://blogs.msdn.com/rbuckton/archive/2009/09/07/tfs-walkthrough-series-part-3-opening-the-source-control-explorer.aspx</id><published>2009-09-07T15:43:00Z</published><updated>2009-09-07T15:43:00Z</updated><content type="html">&lt;OL&gt;
&lt;LI&gt;Open Microsoft Visual Studio 2008 &lt;/LI&gt;
&lt;LI&gt;Ensure you have an active connection to Team Foundation Server (see &lt;EM&gt;Walkthrough: &lt;A href="http://blogs.msdn.com/rbuckton/archive/2009/09/06/tfs-walkthrough-series-part-1-connecting-to-team-foundation-server.aspx" mce_href="http://blogs.msdn.com/rbuckton/archive/2009/09/06/tfs-walkthrough-series-part-1-connecting-to-team-foundation-server.aspx"&gt;Connecting to Team Foundation Server&lt;/A&gt;&lt;/EM&gt;) &lt;/LI&gt;
&lt;LI&gt;In the "Team Explorer" task pane, expand the Team Project &lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;Double-click on the &lt;STRONG&gt;Source Control&lt;/STRONG&gt; folder. &lt;/DIV&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/rbuckton/090509_1243_TFSWalkthro1.png" mce_src="http://blogs.msdn.com/blogfiles/rbuckton/090509_1243_TFSWalkthro1.png"&gt; &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Arial Narrow; FONT-SIZE: 8pt"&gt;Figure 8 - Source Control Explorer &lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9891763" width="1" height="1"&gt;</content><author><name>rbuckton</name><uri>http://blogs.msdn.com/members/rbuckton.aspx</uri></author><category term="tfs" scheme="http://blogs.msdn.com/rbuckton/archive/tags/tfs/default.aspx" /><category term="walkthrough" scheme="http://blogs.msdn.com/rbuckton/archive/tags/walkthrough/default.aspx" /></entry><entry><title>TFS Walkthrough Series: Part 2 - Viewing Work Items</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rbuckton/archive/2009/09/06/tfs-walkthrough-series-part-2-viewing-work-items.aspx" /><id>http://blogs.msdn.com/rbuckton/archive/2009/09/06/tfs-walkthrough-series-part-2-viewing-work-items.aspx</id><published>2009-09-06T19:42:00Z</published><updated>2009-09-06T19:42:00Z</updated><content type="html">&lt;OL&gt;
&lt;LI&gt;Open Microsoft Visual Studio 2008 &lt;/LI&gt;
&lt;LI&gt;Ensure you have an active connection to Team Foundation Server (see &lt;EM&gt;Walkthrough: &lt;A href="http://blogs.msdn.com/rbuckton/archive/2009/09/06/tfs-walkthrough-series-part-1-connecting-to-team-foundation-server.aspx" mce_href="http://blogs.msdn.com/rbuckton/archive/2009/09/06/tfs-walkthrough-series-part-1-connecting-to-team-foundation-server.aspx"&gt;Connecting to Team Foundation Server&lt;/A&gt;&lt;/EM&gt;) &lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;In the "Team Explorer" task pane, expand the Team Project (in this example: &lt;STRONG&gt;&lt;EM&gt;TeamProject&lt;/EM&gt;&lt;/STRONG&gt;) to the following folder: &lt;STRONG&gt;&lt;EM&gt;TeamProject&lt;/EM&gt; \ Work Items \ Team Queries&lt;/STRONG&gt; &lt;/DIV&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/rbuckton/090509_1242_TFSWalkthro1.png" mce_src="http://blogs.msdn.com/blogfiles/rbuckton/090509_1242_TFSWalkthro1.png"&gt; &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Arial Narrow; FONT-SIZE: 8pt"&gt;Figure 6 - Work Item Queries &lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;Double-click on a Team Query. This will open the list of work items that match the query. &lt;/DIV&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/rbuckton/090509_1242_TFSWalkthro2.png" mce_src="http://blogs.msdn.com/blogfiles/rbuckton/090509_1242_TFSWalkthro2.png"&gt; &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Arial Narrow; FONT-SIZE: 8pt"&gt;Figure 7 - Example Work Item Query &lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;Review or make any necessary changes and click &lt;STRONG&gt;Save&lt;/STRONG&gt; (from the File menu or the disk icon, or press &lt;STRONG&gt;Ctrl+S&lt;/STRONG&gt;) to update the server. &lt;/LI&gt;&lt;/OL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9891762" width="1" height="1"&gt;</content><author><name>rbuckton</name><uri>http://blogs.msdn.com/members/rbuckton.aspx</uri></author><category term="tfs" scheme="http://blogs.msdn.com/rbuckton/archive/tags/tfs/default.aspx" /><category term="walkthrough" scheme="http://blogs.msdn.com/rbuckton/archive/tags/walkthrough/default.aspx" /></entry><entry><title>TFS Walkthrough Series: Part 1 - Connecting to Team Foundation Server</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rbuckton/archive/2009/09/06/tfs-walkthrough-series-part-1-connecting-to-team-foundation-server.aspx" /><id>http://blogs.msdn.com/rbuckton/archive/2009/09/06/tfs-walkthrough-series-part-1-connecting-to-team-foundation-server.aspx</id><published>2009-09-06T15:14:00Z</published><updated>2009-09-06T15:14:00Z</updated><content type="html">&lt;OL&gt;
&lt;LI&gt;Open Microsoft Visual Studio 2008 &lt;/LI&gt;
&lt;LI&gt;In Visual Studio 2008, click the menu: &lt;STRONG&gt;Tools / Connect to Team Foundation Server&lt;/STRONG&gt; &lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;In the "Connect to Team Foundation Server" dialog, click the button: &lt;STRONG&gt;Servers…&lt;/STRONG&gt; &lt;/DIV&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/rbuckton/090509_1241_TFSWalkthro1.png" mce_src="http://blogs.msdn.com/blogfiles/rbuckton/090509_1241_TFSWalkthro1.png"&gt; &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Arial Narrow; FONT-SIZE: 8pt"&gt;Figure 3 - Connecting to a Team Foundation Server &lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;In the "Add/Remove Team Foundation Server" dialog, click the button: &lt;STRONG&gt;Add…&lt;/STRONG&gt; &lt;/DIV&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/rbuckton/090509_1241_TFSWalkthro2.png" mce_src="http://blogs.msdn.com/blogfiles/rbuckton/090509_1241_TFSWalkthro2.png"&gt; &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Arial Narrow; FONT-SIZE: 8pt"&gt;Figure 4 - Managing the list of Team Foundation Servers &lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;In the "Add Team Foundation Server" dialog, enter the server name and click the button: &lt;STRONG&gt;OK&lt;/STRONG&gt; &lt;/DIV&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/rbuckton/090509_1241_TFSWalkthro3.png" mce_src="http://blogs.msdn.com/blogfiles/rbuckton/090509_1241_TFSWalkthro3.png"&gt; &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Arial Narrow; FONT-SIZE: 8pt"&gt;Figure 5 - Adding a Team Foundation Server &lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;In the "Add/Remove Team Foundation Server" dialog, click the button: &lt;STRONG&gt;Close&lt;/STRONG&gt; &lt;/LI&gt;
&lt;LI&gt;In the "Connect to Team Foundation Server" dialog, check each of the projects you wish to view and click: &lt;STRONG&gt;OK&lt;/STRONG&gt; &lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;The "Team Explorer" tool pane should open for you to browse the Team Project. &lt;/DIV&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/rbuckton/090509_1241_TFSWalkthro4.png" mce_src="http://blogs.msdn.com/blogfiles/rbuckton/090509_1241_TFSWalkthro4.png"&gt; &lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9891761" width="1" height="1"&gt;</content><author><name>rbuckton</name><uri>http://blogs.msdn.com/members/rbuckton.aspx</uri></author><category term="tfs" scheme="http://blogs.msdn.com/rbuckton/archive/tags/tfs/default.aspx" /><category term="walkthrough" scheme="http://blogs.msdn.com/rbuckton/archive/tags/walkthrough/default.aspx" /></entry><entry><title>Team Foundation Server Walkthrough Series: Introduction</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rbuckton/archive/2009/09/05/team-foundation-server-walkthrough-series-introduction.aspx" /><id>http://blogs.msdn.com/rbuckton/archive/2009/09/05/team-foundation-server-walkthrough-series-introduction.aspx</id><published>2009-09-05T15:38:53Z</published><updated>2009-09-05T15:38:53Z</updated><content type="html">&lt;p&gt;The following is a series of walkthroughs for Microsoft Visual Studio 2008 Team Foundation Server.  They range from simply making a TFS connection to setting up build configurations and branching scenarios.
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Connecting to Team Foundation Server
&lt;/li&gt;&lt;li&gt;Viewing Work Items
&lt;/li&gt;&lt;li&gt;Opening the Source Control Explorer
&lt;/li&gt;&lt;li&gt;Creating Workspaces
&lt;/li&gt;&lt;li&gt;Checking in Pending Changes
&lt;/li&gt;&lt;li&gt;Creating a DEVELOPMENT branch
&lt;/li&gt;&lt;li&gt;Creating a PRODUCTION branch
&lt;/li&gt;&lt;li&gt;Forward Integration from MAIN to DEVELOPMENT
&lt;/li&gt;&lt;li&gt;Forward Integration from MAIN to PRODUCTION
&lt;/li&gt;&lt;li&gt;Reverse Integration from DEVELOPMENT to MAIN
&lt;/li&gt;&lt;li&gt;Creating a Build Definition
&lt;/li&gt;&lt;li&gt;Queuing a Build
&lt;/li&gt;&lt;li&gt;Managing Build Quality
&lt;/li&gt;&lt;li&gt;Fixing issues in a PRODUCTION release
&lt;/li&gt;&lt;li&gt;Performing a Baseless Merge
&lt;/li&gt;&lt;li&gt;Sample Peer Code Review Process using Shelvesets&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9891760" width="1" height="1"&gt;</content><author><name>rbuckton</name><uri>http://blogs.msdn.com/members/rbuckton.aspx</uri></author><category term="tfs" scheme="http://blogs.msdn.com/rbuckton/archive/tags/tfs/default.aspx" /><category term="walkthrough" scheme="http://blogs.msdn.com/rbuckton/archive/tags/walkthrough/default.aspx" /></entry><entry><title>TFS Quick Tips: #1 Adding a screenshot to a work item</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rbuckton/archive/2008/07/23/tfs-quick-tips-1-adding-a-screenshot-to-a-work-item.aspx" /><id>http://blogs.msdn.com/rbuckton/archive/2008/07/23/tfs-quick-tips-1-adding-a-screenshot-to-a-work-item.aspx</id><published>2008-07-23T21:43:10Z</published><updated>2008-07-23T21:43:10Z</updated><content type="html">&lt;p&gt;The Team Explorer in Visual Studio provides a quick (and not exactly obvious) method for attaching a screenshot or other content to a Work Item.&lt;/p&gt;  &lt;h4&gt;Screenshots&lt;/h4&gt;  &lt;p&gt;To quickly add a screenshot do the following:&lt;/p&gt;  &lt;p&gt;1. Press PrtScrn or Alt+PrntScrn (Captures only the currently active window)&lt;/p&gt;  &lt;p&gt;2. Open a Work Item (Bug, Task, etc) in team explorer&lt;/p&gt;  &lt;p&gt;3. Click &amp;#8220;File Attachments&amp;#8221;&lt;/p&gt;  &lt;p&gt;4. Press Ctrl+V (Paste)&lt;/p&gt;  &lt;p&gt;A file called &amp;#8220;Screenshot.png&amp;#8221; is automatically attached to the work item.&lt;/p&gt;  &lt;h4&gt;Copied Text&lt;/h4&gt;  &lt;p&gt;To quickly add any copied text as an attachment to a work item do the following:&lt;/p&gt;  &lt;p&gt;1. Select the text to copy (or press Ctrl+A to select all text in the active input area like a page or document)&lt;/p&gt;  &lt;p&gt;2. Open a Work Item (Bug, Task, etc) in team explorer&lt;/p&gt;  &lt;p&gt;3. Click &amp;#8220;File Attachments&amp;#8221;&lt;/p&gt;  &lt;p&gt;4. Press Ctrl+V (Paste)&lt;/p&gt;  &lt;p&gt;A file called &amp;#8220;PastedText.txt&amp;#8221; is automatically attached to the work item.&lt;/p&gt;  &lt;h4&gt;Copied Files&lt;/h4&gt;  &lt;p&gt;You can also quickly add a file from your desktop as an attachment using the same steps as above:&lt;/p&gt;  &lt;p&gt;1. Select the files to copy&lt;/p&gt;  &lt;p&gt;2. Open a Work Item (Bug, Task, etc) in team explorer&lt;/p&gt;  &lt;p&gt;3. Click &amp;#8220;File Attachments&amp;#8221;&lt;/p&gt;  &lt;p&gt;4. Press Ctrl+V (Paste)&lt;/p&gt;  &lt;p&gt;Each of the files selected is now attached to the work item.&lt;/p&gt;  &lt;h4&gt;Bonus Tip &amp;#8211; Copy and Paste Text from an Alert&lt;/h4&gt;  &lt;p&gt;If you get an alert in a page like so:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="126" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/rbuckton/WindowsLiveWriter/TFSQuickTips1Addingascreenshottoaworkite_CEFC/clip_image002_3.jpg" width="189" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;Simply press Ctrl+C (Copy) to copy the contents of the dialog into the clipboard. To paste the text you can just use Ctrl+V:&lt;/p&gt;  &lt;p&gt;---------------------------&lt;/p&gt;  &lt;p&gt;Windows Internet Explorer&lt;/p&gt;  &lt;p&gt;---------------------------&lt;/p&gt;  &lt;p&gt;You can copy this&lt;/p&gt;  &lt;p&gt;---------------------------&lt;/p&gt;  &lt;p&gt;OK&lt;/p&gt;  &lt;p&gt;---------------------------&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8767518" width="1" height="1"&gt;</content><author><name>rbuckton</name><uri>http://blogs.msdn.com/members/rbuckton.aspx</uri></author><category term="vs2008" scheme="http://blogs.msdn.com/rbuckton/archive/tags/vs2008/default.aspx" /><category term="tfs" scheme="http://blogs.msdn.com/rbuckton/archive/tags/tfs/default.aspx" /></entry><entry><title>"Wheel of Time" author James Oliver Rigney, Jr. aka "Robert Jordan" passes away at 58</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rbuckton/archive/2007/09/17/wheel-of-time-author-james-oliver-rigney-jr-aka-robert-jordan-passes-away-at-58.aspx" /><id>http://blogs.msdn.com/rbuckton/archive/2007/09/17/wheel-of-time-author-james-oliver-rigney-jr-aka-robert-jordan-passes-away-at-58.aspx</id><published>2007-09-17T20:54:28Z</published><updated>2007-09-17T20:54:28Z</updated><content type="html">&lt;p&gt;From the official website:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;i&gt;New York Times&lt;/i&gt; #1 best-selling author Robert Jordan passed away on Sunday September 16th at 2:45 PM EST. His passing was announced by his cousin Wilson on his official blog, hosted &lt;a href="http://www.dragonmount.com/" target="_blank"&gt;here&lt;/a&gt;.&lt;br&gt;[&lt;a title="http://www.dragonmount.com/" href="http://www.dragonmount.com/"&gt;http://www.dragonmount.com/&lt;/a&gt;]&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;I've been reading Robert Jordan's novels for a long time and have all of the available "Wheel of Time" books featured prominently on my bookshelves at home.&amp;nbsp; His fantasy writings were complex and emotional, weaving together the lives of many characters through dark and trying times.&amp;nbsp; He died before completing the 12th and final volume of the "Wheel of Time" series although currently it is believed that enough of the final volume has been penned to be able to complete the series, although the exact time frame for the final volume is still unknown.&amp;nbsp; &lt;/p&gt; &lt;p&gt;The story is on &lt;a href="http://www.cnn.com/2007/SHOWBIZ/books/09/17/obit.jordan.ap/index.html?iref=newssearch" target="_blank"&gt;CNN&lt;/a&gt; and additional information is available at the following fan sites:&lt;/p&gt; &lt;li&gt;&lt;a href="http://www.wotmania.com"&gt;wotmania.com&lt;/a&gt; &lt;li&gt;&lt;a href="http://www.tarvalon.net"&gt;TarValon.net&lt;/a&gt; &lt;li&gt;&lt;a href="http://www.theoryland.com"&gt;Theoryland.com&lt;/a&gt;&lt;/li&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4960079" width="1" height="1"&gt;</content><author><name>rbuckton</name><uri>http://blogs.msdn.com/members/rbuckton.aspx</uri></author></entry><entry><title>Visual Studio "Browse with..." multiple browsers</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rbuckton/archive/2007/09/12/visual-studio-browse-with-multiple-browsers.aspx" /><id>http://blogs.msdn.com/rbuckton/archive/2007/09/12/visual-studio-browse-with-multiple-browsers.aspx</id><published>2007-09-12T18:41:14Z</published><updated>2007-09-12T18:41:14Z</updated><content type="html">&lt;p&gt;Here's a tip if you're doing a lot of cross browser ASP.NET or AJAX development in Visual Studio:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Right click an .aspx file and choose "Browse with..."&lt;br&gt;&lt;br&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="241" alt="image" src="http://blogs.msdn.com/blogfiles/rbuckton/WindowsLiveWriter/VisualStudioBrowsewith.multiplebrowsers_A43A/image_3.png" width="320" border="0"&gt; &lt;br&gt; &lt;li&gt;If you're like me you've probably added some additional browsers to your "Browse with" list like FireFox, Opera and Safari.&amp;nbsp; If you want to view the page in multiple browsers, CTRL+click each item:&lt;br&gt;&lt;br&gt;&lt;img height="242" alt="image" src="http://blogs.msdn.com/blogfiles/rbuckton/WindowsLiveWriter/VisualStudioBrowsewith.multiplebrowsers_A43A/image_8.png" width="320" border="0"&gt; &lt;br&gt; &lt;li&gt;Hit "Browse" and all of the browsers will open for the specified page.  &lt;li&gt;If you want to open multiple browsers &lt;strong&gt;every&lt;/strong&gt; time, click "Set as Default":&lt;br&gt;&lt;br&gt;&lt;img height="241" alt="image" src="http://blogs.msdn.com/blogfiles/rbuckton/WindowsLiveWriter/VisualStudioBrowsewith.multiplebrowsers_A43A/image_11.png" width="320" border="0"&gt; &lt;br&gt; &lt;li&gt;Now all of the browsers will open whenever you choose "Browse" from the context menu.&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4881061" width="1" height="1"&gt;</content><author><name>rbuckton</name><uri>http://blogs.msdn.com/members/rbuckton.aspx</uri></author><category term="ajax" scheme="http://blogs.msdn.com/rbuckton/archive/tags/ajax/default.aspx" /><category term="vs2005" scheme="http://blogs.msdn.com/rbuckton/archive/tags/vs2005/default.aspx" /><category term="vs2008" scheme="http://blogs.msdn.com/rbuckton/archive/tags/vs2008/default.aspx" /><category term="asp.net" scheme="http://blogs.msdn.com/rbuckton/archive/tags/asp.net/default.aspx" /></entry><entry><title>DOM Event inconsistencies between browsers</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rbuckton/archive/2007/09/11/dom-event-inconsistencies-between-browsers.aspx" /><id>http://blogs.msdn.com/rbuckton/archive/2007/09/11/dom-event-inconsistencies-between-browsers.aspx</id><published>2007-09-11T23:48:33Z</published><updated>2007-09-11T23:48:33Z</updated><content type="html">&lt;p&gt;I've been working on some bugs in the &lt;a href="http://ajax.asp.net/ajaxtoolkit/calendar" target="_blank"&gt;Calendar&lt;/a&gt; extender from the &lt;a href="http://ajax.asp.net/ajaxtoolkit" target="_blank"&gt;ASP.NET AJAX Control Toolkit&lt;/a&gt; and have been resolving some of the focus/blur events.&amp;nbsp; I've been trying to make the calendar work consistently across all of the browsers and found some frustrating differences in event firing order between the browsers.&lt;/p&gt; &lt;p&gt;Here are a list of some of the DOM events supported by the various browsers I tested:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h5&gt;&lt;/h5&gt; &lt;h4&gt;Table 1 - DOM Events by Browser&lt;/h4&gt; &lt;table cellspacing="0" cellpadding="2" width="418" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td width="122"&gt;Event&lt;/td&gt; &lt;td align="middle" width="69"&gt;DOM Level&lt;/td&gt; &lt;td align="middle" width="53"&gt;IE&lt;/td&gt; &lt;td align="middle" width="55"&gt;FF&lt;/td&gt; &lt;td align="middle" width="56"&gt;OP&lt;/td&gt; &lt;td align="middle" width="61"&gt;SF&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="122"&gt;DOMActivate&lt;/td&gt; &lt;td align="middle" width="69"&gt;Level 2&lt;/td&gt; &lt;td align="middle" width="53"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="55"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="56"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="61"&gt;*&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="122"&gt;activate&lt;/td&gt; &lt;td align="middle" width="69"&gt;&lt;sup&gt;&lt;i&gt;2&lt;/i&gt;&lt;/sup&gt;&lt;/td&gt; &lt;td align="middle" width="53"&gt;*&lt;/td&gt; &lt;td align="middle" width="55"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="56"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="61"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="122"&gt;DOMFocusIn&lt;/td&gt; &lt;td align="middle" width="69"&gt;Level 2&lt;/td&gt; &lt;td align="middle" width="53"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="55"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="56"&gt;&lt;sup&gt;&lt;i&gt;1&lt;/i&gt;&lt;/sup&gt;&lt;/td&gt; &lt;td align="middle" width="61"&gt;&lt;sup&gt;&lt;i&gt;1&lt;/i&gt;&lt;/sup&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="122"&gt;focusin&lt;/td&gt; &lt;td align="middle" width="69"&gt;&lt;sup&gt;&lt;i&gt;2&lt;/i&gt;&lt;/sup&gt;&lt;/td&gt; &lt;td align="middle" width="53"&gt;*&lt;/td&gt; &lt;td align="middle" width="55"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="56"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="61"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="122"&gt;focus&lt;/td&gt; &lt;td align="middle" width="69"&gt;Level 0&lt;/td&gt; &lt;td align="middle" width="53"&gt;*&lt;/td&gt; &lt;td align="middle" width="55"&gt;&lt;sup&gt;&lt;i&gt;1&lt;/i&gt;&lt;/sup&gt;&lt;/td&gt; &lt;td align="middle" width="56"&gt;&lt;sup&gt;&lt;i&gt;1&lt;/i&gt;&lt;/sup&gt;&lt;/td&gt; &lt;td align="middle" width="61"&gt;&lt;sup&gt;&lt;i&gt;1&lt;/i&gt;&lt;/sup&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="122"&gt;DOMDeactivate&lt;/td&gt; &lt;td align="middle" width="69"&gt;Level 2&lt;/td&gt; &lt;td align="middle" width="53"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="55"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="56"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="61"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="122"&gt;deactivate&lt;/td&gt; &lt;td align="middle" width="69"&gt;&lt;sup&gt;&lt;i&gt;2&lt;/i&gt;&lt;/sup&gt;&lt;/td&gt; &lt;td align="middle" width="53"&gt;*&lt;/td&gt; &lt;td align="middle" width="55"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="56"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="61"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="122"&gt;DOMFocusOut&lt;/td&gt; &lt;td align="middle" width="69"&gt;Level 2&lt;/td&gt; &lt;td align="middle" width="53"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="55"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="56"&gt;&lt;sup&gt;&lt;i&gt;1&lt;/i&gt;&lt;/sup&gt;&lt;/td&gt; &lt;td align="middle" width="61"&gt;&lt;sup&gt;&lt;i&gt;1&lt;/i&gt;&lt;/sup&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="122"&gt;focusout&lt;/td&gt; &lt;td align="middle" width="69"&gt;&lt;sup&gt;&lt;i&gt;2&lt;/i&gt;&lt;/sup&gt;&lt;/td&gt; &lt;td align="middle" width="53"&gt;*&lt;/td&gt; &lt;td align="middle" width="55"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="56"&gt;&amp;nbsp;&lt;/td&gt; &lt;td align="middle" width="61"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="122"&gt;blur&lt;/td&gt; &lt;td align="middle" width="69"&gt;Level 0&lt;/td&gt; &lt;td align="middle" width="53"&gt;*&lt;/td&gt; &lt;td align="middle" width="55"&gt;&lt;sup&gt;&lt;i&gt;1&lt;/i&gt;&lt;/sup&gt;&lt;/td&gt; &lt;td align="middle" width="56"&gt;&lt;sup&gt;&lt;i&gt;1&lt;/i&gt;&lt;/sup&gt;&lt;/td&gt; &lt;td align="middle" width="61"&gt;&lt;sup&gt;&lt;i&gt;1&lt;/i&gt;&lt;/sup&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="122"&gt;mousedown&lt;/td&gt; &lt;td align="middle" width="69"&gt;Level 0&lt;/td&gt; &lt;td align="middle" width="53"&gt;*&lt;/td&gt; &lt;td align="middle" width="55"&gt;*&lt;/td&gt; &lt;td align="middle" width="56"&gt;*&lt;/td&gt; &lt;td align="middle" width="61"&gt;*&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="122"&gt;mouseup&lt;/td&gt; &lt;td align="middle" width="69"&gt;Level 0&lt;/td&gt; &lt;td align="middle" width="53"&gt;*&lt;/td&gt; &lt;td align="middle" width="55"&gt;*&lt;/td&gt; &lt;td align="middle" width="56"&gt;*&lt;/td&gt; &lt;td align="middle" width="61"&gt;*&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="122"&gt;click&lt;/td&gt; &lt;td align="middle" width="69"&gt;Level 0&lt;/td&gt; &lt;td align="middle" width="53"&gt;*&lt;/td&gt; &lt;td align="middle" width="55"&gt;*&lt;/td&gt; &lt;td align="middle" width="56"&gt;*&lt;/td&gt; &lt;td align="middle" width="61"&gt;*&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p style="font-size: x-small"&gt;&lt;i&gt;IE: Internet Explorer 7.0&lt;br&gt;FF: Firefox 2.0.0.6&lt;br&gt;OP: Opera 9.23&lt;br&gt;SF: Safari 3.03 Beta (Windows)&lt;br&gt;*: Implemented on any element&lt;br&gt;1: Implemented only on specific elements&lt;br&gt;2: IE-only implementation&lt;br&gt;&lt;/i&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Internet Explorer uses activate/focusin/focusout instead of DOMActivate/DOMFocusIn/DOMFocusOut for events.&amp;nbsp; Interestingly only IE and Safari support DOMActivate/activate on any element.&amp;nbsp; Another thing I saw was that IE is the only browser which fires focus/blur events for any element.&amp;nbsp; Other browsers can support the focus/blur events on any element that has a tab index however.&lt;/p&gt; &lt;p&gt;The next version of Calendar needs to support the following activation scenarios depending on whether it is also associated with a button:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;No Button&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Show Popup when textbox receives focus&lt;/li&gt; &lt;li&gt;Show Popup when textbox is clicked &lt;/li&gt; &lt;li&gt;Hide Popup when textbox loses focus&lt;/li&gt; &lt;li&gt;Hide Popup when textbox receives ESC keypress&lt;/li&gt; &lt;li&gt;Hide Popup when a date is selected&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Button&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Show Popup when the button is clicked&lt;/li&gt; &lt;li&gt;Hide Popup when the button loses focus&lt;/li&gt; &lt;li&gt;Hide Popup when the button receives ESC keypress&lt;/li&gt; &lt;li&gt;Hide Popup when a date is selected&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt; &lt;p&gt;The issue is that when the textbox or button loses focus the popup should hide &lt;strong&gt;unless &lt;/strong&gt;the focus is being directed at the popup itself.&amp;nbsp; The problem is that only IE recognizes a &lt;em&gt;focus&lt;/em&gt; event on the popup's DIV tag when the popup is not part of the tab order (and we don't want the popup in the tab order). I was curious the order of DOM events fired in each browser so I wrote a small test page and stepped through for each.&amp;nbsp; The results are as follows:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h4&gt;Table 2 - DOM Event Order by browser&lt;/h4&gt; &lt;table cellspacing="0" cellpadding="2" width="764" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="191"&gt;IE&lt;/td&gt; &lt;td valign="top" width="187"&gt;FF&lt;/td&gt; &lt;td valign="top" width="187"&gt;OP&lt;/td&gt; &lt;td valign="top" width="197"&gt;SF&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="190"&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;// click on INPUT&lt;/strong&gt;  &lt;li&gt;INPUT: mousedown  &lt;li&gt;INPUT: activate  &lt;li&gt;INPUT: focusin  &lt;li&gt;INPUT: focus  &lt;li&gt;INPUT: mouseup  &lt;li&gt;INPUT: click  &lt;li&gt;&lt;strong&gt;// click on DIV&lt;/strong&gt;  &lt;li&gt;DIV: mousedown  &lt;li&gt;INPUT: deactivate  &lt;li&gt;INPUT: focusout  &lt;li&gt;DIV: activate  &lt;li&gt;DIV: focusin  &lt;li&gt;INPUT: blur  &lt;li&gt;DIV: focus  &lt;li&gt;DIV: mouseup  &lt;li&gt;DIV: click  &lt;li&gt;&lt;strong&gt;// click away&lt;/strong&gt;  &lt;li&gt;DIV: deactivate  &lt;li&gt;DIV: focusout  &lt;li&gt;DIV: blur&lt;/li&gt;&lt;/ol&gt;&lt;/td&gt; &lt;td valign="top" width="187"&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;// click on INPUT&lt;/strong&gt;  &lt;li&gt;INPUT: mousedown  &lt;li&gt;INPUT: focus  &lt;li&gt;INPUT: mouseup  &lt;li&gt;INPUT: click  &lt;li&gt;&lt;strong&gt;// click on DIV&lt;/strong&gt;  &lt;li&gt;DIV: mousedown  &lt;li&gt;INPUT: blur  &lt;li&gt;DIV: mouseup  &lt;li&gt;DIV: click  &lt;li&gt;&lt;strong&gt;// click away&lt;/strong&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/td&gt; &lt;td valign="top" width="188"&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;// click on INPUT&lt;/strong&gt;  &lt;li&gt;INPUT: focus  &lt;li&gt;INPUT: DOMFocusIn  &lt;li&gt;INPUT: mousedown  &lt;li&gt;INPUT: mouseup  &lt;li&gt;INPUT: click  &lt;li&gt;&lt;strong&gt;// click on DIV&lt;/strong&gt;  &lt;li&gt;INPUT: blur  &lt;li&gt;INPUT: DOMFocusOut  &lt;li&gt;DIV: mousedown  &lt;li&gt;DIV: mouseup  &lt;li&gt;DIV: click  &lt;li&gt;&lt;strong&gt;// click away&lt;/strong&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/td&gt; &lt;td valign="top" width="197"&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;// click on INPUT&lt;/strong&gt;  &lt;li&gt;INPUT: mousedown  &lt;li&gt;INPUT: focus  &lt;li&gt;INPUT: DOMFocusIn  &lt;li&gt;INPUT: mouseup  &lt;li&gt;INPUT: click  &lt;li&gt;INPUT: DOMActivate  &lt;li&gt;&lt;strong&gt;// click on DIV&lt;/strong&gt;  &lt;li&gt;DIV: mousedown  &lt;li&gt;INPUT: blur  &lt;li&gt;INPUT: DOMFocusOut  &lt;li&gt;DIV: mouseup  &lt;li&gt;DIV: click  &lt;li&gt;DIV: DOMActivate  &lt;li&gt;&lt;strong&gt;// click away&lt;/strong&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Immediately a few things become obvious. First, I obviously cannot rely on focus/blur on the other browsers. IE would allow me to capture &lt;em&gt;focusin &lt;/em&gt;on the DIV before the &lt;em&gt;blur&lt;/em&gt; fires on the INPUT but that's just IE. Second, on all browsers except Opera the &lt;em&gt;mousedown&lt;/em&gt; event of the DIV fires &lt;strong&gt;before&lt;/strong&gt; the &lt;em&gt;blur&lt;/em&gt; event of the INPUT. There's no clean sequential way to handle the focus transition in all browsers.&lt;/p&gt; &lt;p&gt;In the current version of Calendar we're making use of a "threading" class I created for the toolkit called DeferredOperation.&amp;nbsp; DeferredOperation wraps a delegate and executes it asynchronously using setTimout.&amp;nbsp; It has some built-in synchronization semantics and was used to handle the focus changes while the popup DIV was part of the tab order (which again, we don't really want). This introduces a subtle delay between activation requests and is problematic on Safari (we had to wait a full second before processing the deferred operation to let safari to catch up).&lt;/p&gt; &lt;p&gt;What I've opted for now is to do the best I can in three out of four of the browsers.&amp;nbsp; I track &lt;em&gt;mousedown/mouseup&lt;/em&gt; using a flag and in Internet Explorer, Firefox, and Safari and monitor the flag in the &lt;em&gt;blur&lt;/em&gt; event of the textbox. To handle the Opera inconsistency I again use a DeferredOperation to asynchronously handle the &lt;em&gt;blur&lt;/em&gt; event which fixes the issue in that browser.&lt;/p&gt; &lt;p&gt;The final issue I discovered was that in all browsers, clicking on the popup causes the textbox (or button) to lose focus which again causes problems with the tab order.&amp;nbsp; On the new Calendar I reset the focus to the textbox (or button) on &lt;em&gt;mouseup&lt;/em&gt; on the popup.&lt;/p&gt; &lt;p&gt;Hopefully these changes should make the next toolkit release so keep an eye out for the next update.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4869814" width="1" height="1"&gt;</content><author><name>rbuckton</name><uri>http://blogs.msdn.com/members/rbuckton.aspx</uri></author><category term="ajax" scheme="http://blogs.msdn.com/rbuckton/archive/tags/ajax/default.aspx" /><category term="scripting" scheme="http://blogs.msdn.com/rbuckton/archive/tags/scripting/default.aspx" /><category term="ajax.toolkit.calendar" scheme="http://blogs.msdn.com/rbuckton/archive/tags/ajax.toolkit.calendar/default.aspx" /><category term="ajax.toolkit" scheme="http://blogs.msdn.com/rbuckton/archive/tags/ajax.toolkit/default.aspx" /></entry><entry><title>Visual Studio Macro to collapse function and prototype blocks</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rbuckton/archive/2007/08/26/visual-studio-macro-to-collapse-function-and-prototype-blocks.aspx" /><id>http://blogs.msdn.com/rbuckton/archive/2007/08/26/visual-studio-macro-to-collapse-function-and-prototype-blocks.aspx</id><published>2007-08-26T07:29:37Z</published><updated>2007-08-26T07:29:37Z</updated><content type="html">&lt;p&gt;I usually use the handy VS macro "Hide Selection" (Ctrl+M,H) to collapse function and prototype blocks when doing Ajax development on a large script file. While it may not be the most efficient implementation at current, it gets the job done.&lt;/p&gt; &lt;div style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; position: relative; height: 66px; background-color: #ffffff" frameborder="0" marginwidth="0" marginheight="0"&gt;&lt;span style="cursor: pointer"&gt;&lt;a title="Open JsUtilities.vb" href="http://cid-8bee315d5fdfe22b.skydrive.live.com/self.aspx/Public/Development/Utilities/Scripting/Macros/JsUtilities.vb" target="_top"&gt;&lt;img style="border-right: 0px; border-top: 0px; left: 0px; border-left: 0px; width: 240px; border-bottom: 0px; position: absolute; top: 0px; height: 66px" alt="Open JsUtilities.vb" src="http://skydrive.live.com/images/ecRowDet_bg.png"&gt; &lt;/a&gt;&lt;a title="Open JsUtilities.vb" href="http://cid-8bee315d5fdfe22b.skydrive.live.com/self.aspx/Public/Development/Utilities/Scripting/Macros/JsUtilities.vb" target="_top"&gt;&lt;img style="border-right: 0px; border-top: 0px; left: 5px; border-left: 0px; width: 54px; border-bottom: 0px; position: absolute; top: 6px; height: 54px" alt="Open JsUtilities.vb" src="http://sc.services.skydrive.live.com/images/icons/EmbedSmall/default.png"&gt;&lt;/a&gt; &lt;a style="text-decoration: none" href="http://cid-8bee315d5fdfe22b.skydrive.live.com/self.aspx/Public/Development/Utilities/Scripting/Macros/JsUtilities.vb" target="_top"&gt;&lt;span style="font-size: 0.75em; left: 67px; overflow: hidden; width: 167px; color: #555555; margin-right: 5px; white-space: nowrap; position: absolute; top: 11px; text-overflow: ellipsis; text-wrap: suppress"&gt;&lt;span style="display: block; visibility: hidden"&gt;JsUtilities.vb&lt;/span&gt; &lt;span title="Open JsUtilities.vb" style="display: block; font-size: 0.94em; cursor: pointer; line-height: 1.18em; padding-top: 2px"&gt;VB File&lt;br&gt;8.9 KB&lt;/span&gt; &lt;/span&gt;&lt;/a&gt;&lt;a class="skyd_embd_dlnk" title="" style="font-size: 0.75em; left: 67px; overflow: hidden; width: 167px; color: #0066a7; margin-right: 5px; white-space: nowrap; position: absolute; top: 11px; text-overflow: ellipsis; text-wrap: suppress" href="http://qou5lq.bay.livefilestore.com/y1pdC9tqQ3B61CmNCHAeHwbKfnfraVDf3HQAac6XbaifR573lJs1RbBIrerYZmKDyZ_hfCOWNrZau4p4lbhh7zcdw/JsUtilities.vb?download" target="_top"&gt;JsUtilities.vb&lt;/a&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;All content is provided "AS IS" and confers no warranties or rights.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4569422" width="1" height="1"&gt;</content><author><name>rbuckton</name><uri>http://blogs.msdn.com/members/rbuckton.aspx</uri></author></entry><entry><title>Skinning model for Calendar and Tabs in Ajax Control Toolkit</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rbuckton/archive/2007/08/24/skinning-model-for-calendar-and-tabs-in-ajax-control-toolkit.aspx" /><id>http://blogs.msdn.com/rbuckton/archive/2007/08/24/skinning-model-for-calendar-and-tabs-in-ajax-control-toolkit.aspx</id><published>2007-08-25T05:53:26Z</published><updated>2007-08-25T05:53:26Z</updated><content type="html">&lt;p&gt;This article was originally posted on 2/2/2007. The original host of the article is no longer available.&amp;nbsp; Due to the high demand for the content I am reproducing it in its entirety.&amp;nbsp; Click below for the full article.&lt;/p&gt; &lt;p&gt;&lt;a title="Skinning model for Calendar and Tabs in Ajax Control Toolkit" href="http://blogs.msdn.com/rbuckton/pages/ajaxskinning.aspx"&gt;Read 'Skinning model for Calendar and Tabs in Ajax Control Toolkit'...&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4551898" width="1" height="1"&gt;</content><author><name>rbuckton</name><uri>http://blogs.msdn.com/members/rbuckton.aspx</uri></author><category term="ajax" scheme="http://blogs.msdn.com/rbuckton/archive/tags/ajax/default.aspx" /><category term="asp.net" scheme="http://blogs.msdn.com/rbuckton/archive/tags/asp.net/default.aspx" /><category term="ajax.toolkit.calendar" scheme="http://blogs.msdn.com/rbuckton/archive/tags/ajax.toolkit.calendar/default.aspx" /><category term="ajax.toolkit" scheme="http://blogs.msdn.com/rbuckton/archive/tags/ajax.toolkit/default.aspx" /><category term="ajax.toolkit.dropdown" scheme="http://blogs.msdn.com/rbuckton/archive/tags/ajax.toolkit.dropdown/default.aspx" /></entry><entry><title>Where have I been?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rbuckton/archive/2007/08/22/where-have-i-been.aspx" /><id>http://blogs.msdn.com/rbuckton/archive/2007/08/22/where-have-i-been.aspx</id><published>2007-08-23T04:23:42Z</published><updated>2007-08-23T04:23:42Z</updated><content type="html">&lt;p&gt;Finally back on the blogging scene.&amp;nbsp; A lot has happened in the last 6 months and now that things are settling down I finally have a chance to start putting some content on my blog.&lt;/p&gt; &lt;p&gt;First, a little about me.&amp;nbsp; My name is&amp;nbsp;Ron Buckton and I am a Senior Consultant for Microsoft Services in the Federal District, Public Sector.&amp;nbsp; What this means is that I work primarily with Public Sector government contracts for MCS.&amp;nbsp; I started with Microsoft back in May after a number of interviews and trips back and forth to Redmond, WA&amp;nbsp;and Washington, DC.&amp;nbsp; Prior to joining Microsoft I was working for a Microsoft partner in Cleveland, OH where I previously did most of my blogging.&lt;/p&gt; &lt;p&gt;Back in 2006 I joined the Ajax Control Toolkit as a contributor and among my contributions number the Calendar, Tabs, DropDown, and a number of other smaller extenders and numerous architectural features within the toolkit such as ScriptControl and ScriptUserControl.&amp;nbsp; I had a number of useful blog posts about the toolkit on my former blog but unfortunately the blog was taken down shortly after I left and I have yet to have the time to pull those posts out of my archives to republish here.&lt;/p&gt; &lt;p&gt;A number of people on the ASP.Net forums have been asking for me to republish the content in some form, specifically the posts revolving around skinning the Calendar and&amp;nbsp;Tabs controls using CSS.&amp;nbsp; I plan on having those posts cleaned up and published as articles on this blog before too much longer.&lt;/p&gt; &lt;p&gt;Aside from the Toolkit and my original ASP.Net development focus I am now very heavily involved in mobile device development.&amp;nbsp; As a result you'll see a fair amount of mobility content in addition to some of my other favorite topics.&lt;/p&gt; &lt;p&gt;Other than this introductory post I'll try to keep the signal very high and the content coming as frequently as I can. Here's what to expect in the coming weeks assuming I can find the time between a heavy workload, family, and other obligations:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Ajax&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Skinning Calendar and Tabs (redux)&lt;/li&gt; &lt;li&gt;Upcoming Calendar and Tabs bugfixes and enhancements&lt;/li&gt; &lt;li&gt;My mile-long wishlist of control/extender ideas after I get my bug-count down&lt;/li&gt; &lt;li&gt;Ajax unit testing&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Mobile&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Mobile UI wizardry&lt;/li&gt; &lt;li&gt;BackgroundWorker for Compact Framework&lt;/li&gt; &lt;li&gt;Mobile unit testing with Visual Studio 2008&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Workflow&lt;/li&gt; &lt;li&gt;WPF&lt;/li&gt; &lt;li&gt;Silverlight&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;If any of this interests you, subscribe and comment. Until then, happy coding.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4518201" width="1" height="1"&gt;</content><author><name>rbuckton</name><uri>http://blogs.msdn.com/members/rbuckton.aspx</uri></author><category term="ajax" scheme="http://blogs.msdn.com/rbuckton/archive/tags/ajax/default.aspx" /><category term="asp.net" scheme="http://blogs.msdn.com/rbuckton/archive/tags/asp.net/default.aspx" /><category term="windowsmobile" scheme="http://blogs.msdn.com/rbuckton/archive/tags/windowsmobile/default.aspx" /><category term="compactframework" scheme="http://blogs.msdn.com/rbuckton/archive/tags/compactframework/default.aspx" /><category term="scripting" scheme="http://blogs.msdn.com/rbuckton/archive/tags/scripting/default.aspx" /><category term="silverlight" scheme="http://blogs.msdn.com/rbuckton/archive/tags/silverlight/default.aspx" /><category term="testing" scheme="http://blogs.msdn.com/rbuckton/archive/tags/testing/default.aspx" /><category term="ajax.toolkit" scheme="http://blogs.msdn.com/rbuckton/archive/tags/ajax.toolkit/default.aspx" /></entry></feed>