<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6954742</id><updated>2011-12-08T23:05:53.486-08:00</updated><category term='facebook'/><title type='text'>just wonky</title><subtitle type='html'>Primarily discussing doing and managing software development - emphasis on .NET and SOA. 
Other posts about things that are on my mind in true blog style.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default?start-index=101&amp;max-results=100'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>183</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6954742.post-4249215593453475872</id><published>2010-09-10T13:26:00.001-07:00</published><updated>2010-09-10T13:26:34.358-07:00</updated><title type='text'>Google Instant: because they can</title><content type='html'>&lt;p&gt;Google Instant has caused a wave of news this week, from people raving about the impact, to those that are worried it will change online marketing forever (for the worse) by further increasing the demand to be the top search result.&lt;/p&gt;  &lt;p&gt;One aspect that struck me as very interesting is that this move significantly increases the number of search results Google will have to handle.&amp;#160;&amp;#160; Is this truely a feature to save people time, or is it also a push to leverage their size to create distance from the competition by doing something that isn’t feasible unless you have the engineering and server resources of Google?&lt;/p&gt;  &lt;p&gt;&lt;a title="http://googleblog.blogspot.com/2010/09/google-instant-behind-scenes.html" href="http://googleblog.blogspot.com/2010/09/google-instant-behind-scenes.html"&gt;http://googleblog.blogspot.com/2010/09/google-instant-behind-scenes.html&lt;/a&gt; covers some of the work that went into the effort – handling about 7 times more search queries without having to have 7 times more infrastructure.&lt;/p&gt;  &lt;p&gt;Competitors take heed: Google feels the pressure building and isn’t ready to give up any search share anytime soon.&amp;#160; Competitors will need to let Google take the lead on this one and see if it will move the needle on search share before trying to follow suit as this will take a large investment and the value to users seems to be questionable.&lt;/p&gt;  &lt;p&gt;For me Google Instant Search is irrelevant as 99% of the time I search from the Omnibar in Chrome or the search box in Firefox or IE, and until the feature comes to those search boxes I won’t see it unless I go looking for it.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-4249215593453475872?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/4249215593453475872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=4249215593453475872&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/4249215593453475872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/4249215593453475872'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2010/09/google-instant-because-they-can.html' title='Google Instant: because they can'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-9111323625983724571</id><published>2010-09-07T06:10:00.000-07:00</published><updated>2010-09-07T06:29:57.530-07:00</updated><title type='text'>Updated: Embeding Flash in Facebook Dialog box</title><content type='html'>&lt;p&gt;Previously I wrote about embedding flash in a facebook dialog box.  However the technique used doesn't work anymore - the fb:js-string tags aren't working reliably, and when they do their is some new "features" to the dialog box that is preventing my previous code from working in all browsers.&lt;/p&gt;&lt;p&gt;I've whipped up a new approach, and tested it in IE8, IE8 in Compatibility View, Chrome 6, and Firefox 3.6.6.  This should work in other browsers as well, though its important to note that Facebook has announced that FBML is going away; at the end of this year no new FBML apps can be created.&lt;/p&gt;&lt;p&gt;This version starts with going back to the fb:dialog tag in FBML instead of using the FBJS new Dialog(). The most important part of using this is creating an id in the body of the dialog we can find via javascript once the dialog is open.&lt;/p&gt;&lt;p&gt;This is triggered by the typical clicktoshowdialog="mydialog" attribute on a link, however at the same time we also put a onclick event on the same link.  This fires and we leverage javascript to find the placeholder in the dialog, create a swf object and inject it into the dialog, then back track and change the dialog title.   Only one fb:dialog is used for however many dialogs you actually want.&lt;/p&gt;Here's the code:&lt;br/&gt;&lt;textarea cols="80" rows="14"&gt;&lt;script language="javascript"&gt;  function myDialog(title,videoUrl) {      var swfObj = document.createElement('fb:swf');      swfObj.setId('video');      swfObj.setWidth('230');      swfObj.setHeight('154');      swfObj.setSWFSrc(videoUrl);      swfObj.loop = false;    var placeHolderObj = document.getElementById("placeHolder");    placeHolderObj.setInnerXHTML("&lt;div&gt;.&lt;/div");    placeHolderObj.appendChild(swfObj);          var h2span = placeHolderObj.getParentNode().getParentNode().getElementsByTagName('h2')[0];    h2span.setInnerXHTML('&lt;span&gt;' +title + '&lt;/span&gt;');      return false;}&lt;/script&gt;&lt;div id="linkSection"&gt;  &lt;a href="#"  clicktoshowdialog="my_dialog" onClick="myDialog('pork and beans','http://www.youtube.com/v/PQHPYelqr0E?fs=1&amp;amp;hl=en_US')"&gt;click for video 1&lt;/a&gt;  &lt;br/&gt;  &lt;a href="#"  clicktoshowdialog="my_dialog" onClick="myDialog('feels good', 'http://www.youtube.com/v/8u84d7nY8pQ?fs=1&amp;amp;hl=en_US')"&gt;click for video 2&lt;/a&gt;  &lt;br/&gt;&lt;/div&gt;&lt;fb:dialog id="my_dialog"&gt;  &lt;fb:dialog-title&gt;My Dialog&lt;/fb:dialog-title&gt;   &lt;fb:dialog-content&gt;     &lt;div id="placeHolder"&gt;.&lt;/div&gt;  &lt;/fb:dialog-content&gt;  &lt;fb:dialog-button type="button" value="close" close_dialog="true" /&gt; &lt;/fb:dialog&gt;&lt;/textarea&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-9111323625983724571?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/9111323625983724571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=9111323625983724571&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/9111323625983724571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/9111323625983724571'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2010/09/updated-embeding-flash-in-facebook.html' title='Updated: Embeding Flash in Facebook Dialog box'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-2972924407807042067</id><published>2010-05-09T19:21:00.001-07:00</published><updated>2010-05-09T19:40:13.939-07:00</updated><title type='text'>Embeding an iFrame in a Facebook Tab</title><content type='html'>&lt;p&gt;The following example embeds an iframe in a facebook tab.&amp;#160; This example will work in a StaticFBML tab, or in a custom application tab.&lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;&amp;lt;style&amp;gt;&lt;br /&gt;#myFrame {&lt;br /&gt;width: 760px; &lt;br /&gt;height: 680px;&lt;br /&gt;border: none;&lt;br /&gt;}&lt;br /&gt;img { border: none; }&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;contentzone&amp;quot; &amp;gt;&lt;br /&gt;&amp;lt;a href=&amp;quot;#&amp;quot; onclick=&amp;quot;loadContent(); return false;&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;img src=&amp;quot;http://url_of_item_to_click_on&amp;quot; alt=&amp;quot;Click here to see the iframe&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script language=&amp;quot; javascript&amp;quot;&amp;gt;&lt;br /&gt;var myiframevar = &amp;quot;&amp;lt;iframe id='myFrame' src='http://google.com'&amp;gt;&amp;lt;/iframe&amp;gt;&amp;quot;;&lt;br /&gt;&lt;br /&gt;function loadContent() {&lt;br /&gt;document.getElementById('contentzone'). setInnerXHTML(myiframevar);&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;A few things here that are not obvious:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;iframe width and height must be set via CSS, attributes on the iframe tag do not work&lt;/li&gt;&lt;li&gt;formerly fb:js-string could be used (with some side effects) but it appears to no longer work (&lt;a href="http://bugs.developers.facebook.com/show_bug.cgi?id=9088"&gt;see this bug&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;getElementById does work, despite FB prefixing the id’s with the app identifier.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-2972924407807042067?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/2972924407807042067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=2972924407807042067&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/2972924407807042067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/2972924407807042067'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2010/05/embeding-iframe-in-facebook-tab.html' title='Embeding an iFrame in a Facebook Tab'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-6399237578060744941</id><published>2010-04-20T06:01:00.000-07:00</published><updated>2010-04-20T06:40:45.346-07:00</updated><title type='text'>Facebook News - the follow up post</title><content type='html'>So much news yesterday on the social front, particularly on Facebook (though I didn't miss the Xauth pieces).&lt;br /&gt;&lt;br /&gt;I posted a collection of links to a number of pieces that seemed worth reading yesterday.  Here's is my analysis.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Facebook v. Twitter&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://techcrunch.com/2010/04/19/facebook-borrows-another-feature-from-twitter-or-was-it-friendfeed-the-hovercard/"&gt;Facebook Borrows Another Feature From Twitter: The Hovercard&lt;/a&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;Feature wise there is a lot of "borrowing" going on.  But the primary reason for this is actual UI Richness and dealing with information density.  Users are gaining sophistication and ease of use is critical for keeping users engaged.  But how to accommodate lots of data without going for clutter?  One answer is layering information via  on screen pop ups and overlays, which apparently Facebook is going to be doing a lot more of.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://techcrunch.com/2010/04/19/facebook-twitter-interests/"&gt;Facebook to Twitter: Back Off, We Own People’s Interest&lt;/a&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt; Facebook and Twitter are both trying to understand what their users are interested in and capitalizing on that information in the form of targeted advertising.  Facebook is expanding capabilities and data richness around interests that people explicitly declare, taking advantage of  existing profile data.  Twitter is doing so via analysis of tweet and retweet activity.  Twitter is a more technically advanced, algorithmic approach, while Facebook capitalizes on their size with more of a brute force method.  In the end, advertisers win, more choices to advertise to highly specific audiences.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Community Pages:&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.insidefacebook.com/2010/04/19/in-big-new-product-push-facebook-set-to-launch-6-5-million-new-community-pages/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+InsideFacebook+(Inside+Facebook)"&gt;In Big New Product Push, Facebook Set to Launch 6.5 Million New Community Pages&lt;/a&gt;&lt;br/&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.allfacebook.com/2010/04/facebook-launches-community-pages-and-basis-of-open-graph-api/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+allfacebook+(Facebook+Blog)"&gt;Facebook Launches Community Pages and Basis of Open Graph API&lt;/a&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mashable.com/2010/04/19/facebook-pages/?utm_source=twitterfeed&amp;amp;utm_medium=twitter&amp;amp;utm_campaign=Feed:+Mashable+(Mashable)"&gt;Facebook to Link Profiles and Pages&lt;/a&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;Community Pages lead to making facebook profiles more dynamic, and in someways is more Wikipedia like than anything else.  Community pages pull in info from Wikipedia even!  The additionally pull in status updates algorithmically matched to the page but don't feed into the news feed.  This enriches experiences for users and gives Facebook great data, but opens up a lot more security considerations.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Security/Privacy&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.insidefacebook.com/2010/04/19/if-you-link-your-profile-data-to-pages-then-you-make-that-information-public-by-default/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+InsideFacebook+(Inside+Facebook)"&gt;If You Link Your Facebook Profile Data to Pages, the You Make that Information Public by Default&lt;/a&gt;&lt;br/&gt;&lt;br /&gt;&lt;a href="http://techcrunch.com/2010/04/19/facebook-launches-new-privacy-section-that-may-make-your-head-hurt/"&gt;Facebook Launches New Privacy Section That May Make Your Head Hurt&lt;/a&gt;&lt;br/&gt; &lt;br /&gt;&lt;br /&gt;Privacy just got even harder.  "Liking" and therefore contributing to community pages is public by default.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;“Like”&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.allfacebook.com/2010/04/facebooks-new-like-button-will-power-a-behavioral-ad-network/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+allfacebook+(Facebook+Blog)"&gt;Facebook’s New Like Button Will Power A Behavioral Ad Network&lt;/a&gt;&lt;br/&gt;&lt;br /&gt;&lt;a href="http://www.allfacebook.com/2010/04/facebooks-become-a-fan-officially-switches-to-like/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+allfacebook+(Facebook+Blog)"&gt;Facebook’s “Become A Fan” Officially Switches to “Like”&lt;/a&gt;&lt;br/&gt;  &lt;br /&gt;&lt;a href="http://www.allfacebook.com/2010/04/facebooks-new-like-button-and-the-anonymized-like-stream/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+allfacebook+(Facebook+Blog)"&gt;Facebook’s New “Like” Button and The Anonymized “Like” Stream&lt;/a&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;A transition marketers are going to have to help manage:  users now will "Like" brands instead of "Become a Fan".  "Like" is not like the share functionality of "Like" on someone's status update. (Confusing)&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;The assumption is clearly that the new behavioral data being collected is going to lead new advertizing capabilities, but that isn't being announced at this time.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Ads&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.insidefacebook.com/2010/04/19/adparlor-introduces-facebook-ads-api-service-for-cpi-advertisers/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+InsideFacebook+(Inside+Facebook)"&gt;AdParlor Introduces Facebook Ads API Service for CPI Advertisers&lt;/a&gt;&lt;br/&gt; &lt;br /&gt;New product offering from existing facebook advertising service provider.  Using Facebook Ads API, AdParolor's product is an optimization engine that adjusts bids across ads to bring in higher quality results at lower rates that other options.  Not a self serve product.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-6399237578060744941?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/6399237578060744941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=6399237578060744941&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/6399237578060744941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/6399237578060744941'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2010/04/facebook-news-follow-up-post.html' title='Facebook News - the follow up post'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-7654554833611753086</id><published>2010-04-19T19:36:00.001-07:00</published><updated>2010-04-19T19:36:50.098-07:00</updated><title type='text'>Facebook News</title><content type='html'>&lt;p&gt;Lots of news on the Facebook front today.&amp;#160; Here’s a round up of the articles I’m still going through, I’ll be posting a summary tomorrow.&lt;/p&gt;  &lt;p&gt;Facebook v. Twitter&lt;/p&gt;  &lt;p&gt;&lt;a href="http://techcrunch.com/2010/04/19/facebook-borrows-another-feature-from-twitter-or-was-it-friendfeed-the-hovercard/"&gt;Facebook Borrows Another Feature From Twitter: The Hovercard&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://techcrunch.com/2010/04/19/facebook-twitter-interests/"&gt;Facebook to Twitter: Back Off, We Own People’s Interest&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Community Pages:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.insidefacebook.com/2010/04/19/in-big-new-product-push-facebook-set-to-launch-6-5-million-new-community-pages/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+InsideFacebook+(Inside+Facebook)"&gt;In Big New Product Push, Facebook Set to Launch 6.5 Million New Community Pages&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.allfacebook.com/2010/04/facebook-launches-community-pages-and-basis-of-open-graph-api/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+allfacebook+(Facebook+Blog)"&gt;Facebook Launches Community Pages and Basis of Open Graph API&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://mashable.com/2010/04/19/facebook-pages/?utm_source=twitterfeed&amp;amp;utm_medium=twitter&amp;amp;utm_campaign=Feed:+Mashable+(Mashable)"&gt;Facebook to Link Profiles and Pages&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Security/Privacy&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.insidefacebook.com/2010/04/19/if-you-link-your-profile-data-to-pages-then-you-make-that-information-public-by-default/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+InsideFacebook+(Inside+Facebook)"&gt;If You Link Your Facebook Profile Data to Pages, the You Make that Information Public by Default&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://techcrunch.com/2010/04/19/facebook-launches-new-privacy-section-that-may-make-your-head-hurt/"&gt;Facebook Launches New Privacy Section That May Make Your Head Hurt&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;“Like”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.allfacebook.com/2010/04/facebooks-new-like-button-will-power-a-behavioral-ad-network/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+allfacebook+(Facebook+Blog)"&gt;Facebook’s New Like Button Will Power A Behavioral Ad Network&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.allfacebook.com/2010/04/facebooks-become-a-fan-officially-switches-to-like/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+allfacebook+(Facebook+Blog)"&gt;Facebook’s “Become A Fan” Officially Switches to “Like”&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.allfacebook.com/2010/04/facebooks-new-like-button-and-the-anonymized-like-stream/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+allfacebook+(Facebook+Blog)"&gt;Facebook’s New “Like” Button and The Anonymized “Like” Stream&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ads&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.insidefacebook.com/2010/04/19/adparlor-introduces-facebook-ads-api-service-for-cpi-advertisers/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+InsideFacebook+(Inside+Facebook)"&gt;AdParlor Introduces Facebook Ads API Service for CPI Advertisers&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-7654554833611753086?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/7654554833611753086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=7654554833611753086&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/7654554833611753086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/7654554833611753086'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2010/04/facebook-news.html' title='Facebook News'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-6279997510454400748</id><published>2010-04-15T18:54:00.000-07:00</published><updated>2010-04-15T18:55:44.140-07:00</updated><title type='text'>Managing failure as a manager</title><content type='html'>You work on it.  Every meeting, every day.  You push hard for the company, but you stand up for your team.  You ensure they are working hard and you fight tooth and nail not to get put in a hopeless or unfair situation.&lt;br /&gt;&lt;br /&gt;Managing it is part political, part customer service.  Looking ahead to predict the needs and laying groundwork to optimize how it comes to your team.  Working with the client to meet their needs while keeping it feasible.&lt;br /&gt;&lt;br /&gt;The goal: drive the business without burning out your team.  And every now and then you fail.&lt;br /&gt;&lt;br /&gt;It happens quick, but you better not be surprised.  If you didn't see it coming you need to work on your skills.  It usually happens inch by inch, day by day.  &lt;br /&gt;&lt;br /&gt;You  see, smell and feel the stress building.  You make hundreds of small adjustments to alleviate the pressure.  You try to find the leaver in your arsenal that will stop the pressure from building.  &lt;br /&gt;&lt;br /&gt;But then it happens.  The pressure takes its toll.  Hopefully it manifests itself in a small way - a inappropriate blow up, and shouting match, something minor and internal.  At least you can do damage control.  But it happened, and its your fault, you failed.&lt;br /&gt;&lt;br /&gt;Other times it’s a bigger issue - a staff member resigns or a major client deliverable is blown.  Its your fault, you failed.&lt;br /&gt;&lt;br /&gt;Either situation is devastating as it adds fuel to the flame - situations that extend the pressure further into your team increasing the pressure and will lead to more.&lt;br /&gt;&lt;br /&gt;As much as the failure is your fault, and you failed, and it is your job to prevent it, the truth is also that failure IS the default state.  Achievements are work to accomplish, an outright war against failing.  Delivering for your clients is hard work.  Failure is the default state.&lt;br /&gt;&lt;br /&gt;So you failed, you let the default state occur - how do you cope?  You can't ride this one out, you need to act fast.   &lt;br /&gt;&lt;br /&gt;You have to push hard to get it back on track, and that’s going to cost you.&lt;br /&gt;&lt;br /&gt;You saw this coming and were managing the message upwards in your organization, right?&lt;br /&gt;&lt;br /&gt;Roll up you sleeves and burn some hours, you need to get deep in the details fast.  Keep an eye on your other duties but its time to prioritize and let the less important things go unresolved for a week or three.   Let everything else slide to the point people are about to escalate, you have to push the line to make some room to get the failure under control.&lt;br /&gt;&lt;br /&gt;Dig in the details, specifically the things that are numerous or specifically hard.  Then play the politician to try to remove the complexity or quantity, work on the client side to negotiate some breathing room.&lt;br /&gt;&lt;br /&gt;Beg, borrow, or higher more resources.  Adding more resources to a late project makes it later - don't forget it.  But adding resources of very specific  types to a high pressure situation will alleviate issues, it may not fix timelines but it will calm people down.  It’s a clear message that you care about the team and the deliverable and doing everything in your power to deliver.  If the new resources can deliver on specific tasks without full understanding of the system it will help - and since you dug into the details you know exactly where to apply them.&lt;br /&gt;&lt;br /&gt;So you failed, but how you deal with it is a clear measure of your worth as a manager.  How did you do?&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-6279997510454400748?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/6279997510454400748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=6279997510454400748&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/6279997510454400748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/6279997510454400748'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2010/04/managing-failure-as-manager.html' title='Managing failure as a manager'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-3973513525708530574</id><published>2010-03-26T14:18:00.000-07:00</published><updated>2010-04-20T05:40:56.382-07:00</updated><title type='text'>YouTube "Source of Views" definitions</title><content type='html'>&lt;style type="text/css"&gt;   .style1 {            width: 196px;        }    &lt;/style&gt;&lt;br /&gt;&lt;p&gt;Recently was asked what the View's types in YouTube's Insights tool mean.  Shows up in tables as "Source of Views".  I did some searching and couldn't find any simple list or definitions.&lt;/p&gt;&lt;p&gt;Did some digging and here's the results of my analysis.&lt;/p&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td cols="90" class="style1"&gt;Source Type&lt;/td&gt;&lt;td&gt;Definition&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td cols="90" class="style1"&gt;&lt;br /&gt;Embedded Player&lt;/td&gt;&lt;td&gt;embedded player view on another site&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style1"&gt;YouTube Channel Page Player&lt;/td&gt;&lt;td&gt; player on channel page  - featured video&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style1"&gt;Youtube Other&lt;/td&gt;&lt;td&gt; played on youtube directly from navigating to page&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style1"&gt;Advertising&lt;/td&gt;&lt;td&gt; played for advertisment on youtube &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style1"&gt;Related Video&lt;/td&gt;&lt;td&gt; Showed up as related video to another video and was played&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style1"&gt;Mobile Devices&lt;/td&gt;&lt;td&gt; played on mobile device player&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style1"&gt;External Links&lt;/td&gt;&lt;td&gt;external site linking directly to video player page&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style1"&gt;Viral/Other&lt;/td&gt;&lt;td&gt; No referrer - direct navigation to video&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style1"&gt;YouTube Search&lt;/td&gt;&lt;td&gt; found via youtube search &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style1"&gt;Google Search&lt;/td&gt;&lt;td&gt; found via google search&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style1"&gt;Google Video Search&lt;/td&gt;&lt;td&gt; found via google video search&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style1"&gt;Subscriber&lt;/td&gt;&lt;td&gt; played within my account/subscriptions module&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style1"&gt;Promoted&lt;/td&gt;&lt;td&gt; Featured video&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;From the all videos' view you can drill down to a specific video, and from there go to the "Discovery" section for that video.  Once looking at "Discovery" for a specific video these headings allow you to drill down and see the exact sites that were creating the traffic.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update&lt;/b&gt;&lt;br /&gt;Since this was originally posted, YouTube has updated Insight.  Here's what you now see in YouTube:&lt;br&gt;&lt;img src="http://jessandrob.com/rob/YouTube%20View%20Types.png" alt="YouTube View Types Screenshot" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-3973513525708530574?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/3973513525708530574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=3973513525708530574&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/3973513525708530574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/3973513525708530574'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2010/03/youtube-source-of-views-definitions.html' title='YouTube &quot;Source of Views&quot; definitions'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-4838776163268273220</id><published>2010-02-06T17:48:00.000-08:00</published><updated>2010-09-07T06:24:36.802-07:00</updated><title type='text'>Embeding Flash in Facebook Dialog box</title><content type='html'>&lt;b&gt;UPDATE: &lt;/b&gt; Some of the techniques below are no longer working in Facebook.  Please find an updated technique here:  &lt;a href="http://robfuller.blogspot.com/2010/09/updated-embeding-flash-in-facebook.html"&gt;Updated: Embeding Flash in Facebook Dialog Box&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ran into more work than I expected on this, and didn't find much in the way of resources out there to help.&lt;br /&gt;&lt;br /&gt;Here's the scenario:  on a Facebook page tab (profile tab) want to have links that open a dialog box with a youtube video. In my case its  a nice image map (css driven) of images that open the video the image represents.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Primary challenges:&lt;/span&gt;&lt;br /&gt;fb:swf fbml must be used.  Actually there is now a createFBMLObject() in FBJS and the only object it will create is fb:swf but its in beta and there isn't much documentation yet.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Attempt #1:&lt;/span&gt;&lt;br /&gt;After much research and trial and error I got this as a workable solution:&lt;br /&gt;use fb:dialog with the fb:swf as the content block&lt;br /&gt;&lt;pre&gt;&amp;lt;a title="Pop up video" href="#"  clicktoshowdialog="tubeIt1"&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;fb:dialog id="tubeIt1" cancel-button="true"&amp;gt;&lt;br /&gt;&amp;lt;fb:dialog-title&amp;gt;Luxury&amp;lt;/fb:dialog-title&amp;gt; &lt;br /&gt;&amp;lt;fb:dialog-content&amp;gt;&lt;br /&gt;&amp;lt;fb:swf &lt;br /&gt;swfsrc='http://www.youtube.com/v/PQHPYelqr0E&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;'&lt;br /&gt;imgsrc='http://www.someurl.com/static/images/PorkAndBeans.jpg' &lt;br /&gt;width='430' height='295' /&amp;gt;&lt;br /&gt;&amp;lt;span&amp;gt;Pork and beans!&amp;lt;/span&amp;gt;&lt;br /&gt;&amp;lt;/fb:dialog-content&amp;gt;&lt;br /&gt;&amp;lt;fb:dialog-button type="button" value="close" close_dialog="true" /&amp;gt; &lt;br /&gt;&amp;lt;/fb:dialog&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This solution works well enough and is easy, however it introduces a problem - if a user opens the dialog, then closes it, then opens it again the video can no longer be played (the static image is not clickable).&lt;br /&gt;&lt;br /&gt;Final solution:&lt;br /&gt;Final solution I landed on was to have fbjs create the dialog and just store the fb:swf in a fb:js-string.  This removes the need to click through the static image to play the flash in the dialog box.&lt;br /&gt;However it didn't work the second time the dialog was opened as the flash had already been injected.  The workaround to that turned out to be replacing a marker in the dialog with the fb:js-string variable.&lt;br /&gt;&lt;br /&gt;Here it is:&lt;br /&gt;&lt;pre&gt;&amp;lt;script language="javascript"&amp;gt;&lt;br /&gt;var dialogCounter = 0;&lt;br /&gt;var dialogActive;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function showVideo(title, video) {&lt;br /&gt;if(dialogCounter &amp;gt; 0)  return false; //don't allow more than one instance of this dialog&lt;br /&gt;else {&lt;br /&gt;&lt;br /&gt;dialogCounter += 1;&lt;br /&gt;&lt;br /&gt;dialogActive = new Dialog();&lt;br /&gt;&lt;br /&gt;dialogActive.showMessage(title + dialogCounter, dialogText); &lt;br /&gt;&lt;br /&gt;dialogActive.onconfirm = function() { dialogCounter = 0; }&lt;br /&gt;&lt;br /&gt;document.getElementById('dialog_content').setInnerFBML(video);&lt;br /&gt;&lt;br /&gt;return false;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;fb:js-string var="dialogText"&amp;gt;   &lt;br /&gt;&amp;lt;div id="dialog_content"&amp;gt;&lt;br /&gt;Marker to be replaced&lt;br /&gt;&amp;lt;/div&amp;gt;  &lt;br /&gt;&amp;lt;/fb:js-string&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;lt;a title="Pork and Beans" href="#" onclick="return showVideo('Pork and Beans', tubeIt1)"&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;fb:js-string var="tubeIt1"&amp;gt;&lt;br /&gt;&amp;lt;fb:swf &lt;br /&gt;swfsrc='http://www.youtube.com/v/PQHPYelqr0E&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;'&lt;br /&gt;imgsrc='http://www.someurl.com/static/images/PorkandBeans.jpg' &lt;br /&gt;width='430' height='295' /&amp;gt;&lt;br /&gt;&amp;lt;span&amp;gt;Pork and Beans!&amp;lt;/span&amp;gt;&lt;br /&gt;&amp;lt;/fb:js-string&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The other annoyance was that the dialogs stack on each other causing the user to have to "ok" each one individually if they open more than one.  Introducing the dialogCounter variable prevents any new dialogs from being opened if one is already open.&lt;br /&gt;&lt;br /&gt;Hope this saves someone else some time!&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-4838776163268273220?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/4838776163268273220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=4838776163268273220&amp;isPopup=true' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/4838776163268273220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/4838776163268273220'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2010/02/embeding-flash-in-facebook-dialog-box.html' title='Embeding Flash in Facebook Dialog box'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-7481222408565247708</id><published>2009-07-30T06:24:00.000-07:00</published><updated>2009-07-30T06:32:24.364-07:00</updated><title type='text'>404 2 error - ASP pages result in Page  Not Found</title><content type='html'>Hit an odd one today.  A colleague of mine was struggling to restore an old classic ASP app to a dev server and was IIS was returning "Page not found" for any .asp file.   Static files, and even aspx files were fine but asp was not.&lt;br /&gt;&lt;br /&gt;Checked the path to the asp.dll and the permissions (scripts enabled, IIS user has access) to no avail.&lt;br /&gt;&lt;br /&gt;Finally dug into the IIS log and found out the 402 error had a substatus of 2. &lt;br /&gt;&lt;br /&gt;Turns out that this error means the web service extension is locked down.  (Thanks to &lt;a href="http://maniish.wordpress.com/2006/12/22/windows-2003-aspnet-page-gives-404-file-not-found-error-2/"&gt;Manish Pansiniya's post&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Here's what to look for in IIS:&lt;br /&gt;&lt;img style="display:block;" src="http://www.jessandrob.com/other/WebServerExtension.jpg" border="0" alt=""id="Web Server Extension" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-7481222408565247708?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/7481222408565247708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=7481222408565247708&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/7481222408565247708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/7481222408565247708'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2009/07/404-2-error-asp-pages-result-in-page.html' title='404 2 error - ASP pages result in Page  Not Found'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-6340423887819838254</id><published>2009-07-26T13:55:00.000-07:00</published><updated>2009-07-27T08:47:51.609-07:00</updated><title type='text'>Automatically determine if there is any data loss when navigating away from a page.</title><content type='html'>Recently found a situation where a client was looking to ensure people didn't accidentally navigate away from a page when entering data on a website.&lt;br /&gt;&lt;br /&gt;This isn't normally that difficult, except in this case we didn't control much of the page content (dynamically pulling content). &lt;br /&gt;&lt;br /&gt;I came up with this approach in jQuery I thought it would be worth sharing.  The approach is:&lt;br /&gt;- bind all ":input" items with a onchange event (this will catch all form elements)&lt;br /&gt;- onchange of an input add a marker css class to flag that it was modified&lt;br /&gt;- bind to the form submit event, remove all markers on the form when submitted&lt;br /&gt;- onbeforeunload look see if there are any markers on the page, if there is warn the user the data will be lost&lt;br /&gt;&lt;br /&gt;This approach works with multiple forms on the page.  Note the traditional javascript event use onbeforeunload - jQuery's beforeunload event will now allow the user to cancel unloading the page.&lt;br /&gt;&lt;br /&gt;Next iteration of this type of approach will extend it to throw up an overlay with a listing of what form elements have data changes, and allow the user to post submits via ajax.&lt;br /&gt;&lt;br /&gt;Here's the code:&lt;br /&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;    $(document).ready(function() {&lt;br /&gt;        $(':input').change(function() { $(this).addClass('elementHasChanged'); });&lt;br /&gt;        $(&amp;quot;form&amp;quot;).submit(function() {&lt;br /&gt;            //if the eventing item is part of a form, remove all the change flags from&lt;br /&gt;            $(this).children('.elementHasChanged:input').removeClass('elementHasChanged');&lt;br /&gt;        });&lt;br /&gt;    });&lt;br /&gt;&lt;br /&gt;    window.onbeforeunload = function() {&lt;br /&gt;        var changedCount = $('.elementHasChanged:input').length;&lt;br /&gt;        if (changedCount &amp;gt; 0) { return &amp;quot;Any changes you have made will be lost&amp;quot;; }&lt;br /&gt;        &lt;br /&gt;    }&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;Update:  Here's a &lt;a href="http://www.jessandrob.com/rob/UIExamples/formsaver.htm"&gt;working sample&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-6340423887819838254?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/6340423887819838254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=6340423887819838254&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/6340423887819838254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/6340423887819838254'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2009/07/automatically-determine-if-there-is-any.html' title='Automatically determine if there is any data loss when navigating away from a page.'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-4396567562898396488</id><published>2009-07-12T16:53:00.000-07:00</published><updated>2009-07-12T17:35:15.104-07:00</updated><title type='text'>YouTube Channel on a Facebook profile page .NET</title><content type='html'>After searching through many YouTube apps on Facebook I couldn't find one that did what I wanted - which was to display the videos from a specific channel on YouTube.  They all offered me the ability to manually specify the videos but I want to be lazy and dynamically suck them in from the channel.&lt;br /&gt;&lt;br /&gt;To do this either as an iframe based app, or FBML driven profile tab isn't to difficult and doesn't require the Facebook API.  I did leverage the Google .NET Client API though.&lt;br /&gt;&lt;br /&gt;Here's the steps in overview:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Identify the Channel name you want: ex FlightOfThConchords&lt;/li&gt;&lt;li&gt;Build the URL for the YouTube call &lt;a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_api_query_parameters.htm"&gt;(reference)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Make the request to YouTube&lt;/li&gt;&lt;li&gt;Iterate the results into a data object you want to work with&lt;/li&gt;&lt;li&gt;Iterate relevate sub objects off the return set from YouTube (MediaThumbnails and MediaContents in my case)&lt;/li&gt;&lt;li&gt;Thrown the results to the page for turning into elements&lt;/li&gt;&lt;li&gt;If doing an IFRAME app, then use the object tag, if doing FBML do FB:SWF (see previous post)&lt;/li&gt;&lt;/ol&gt;Keep reading for more detail.&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;I'm using ASP.NET MVC so here's my solution:&lt;br /&gt;&lt;p&gt;&lt;br /&gt;First I enjoy light weight model objects - so I define my objects I'll pass around:&lt;br /&gt;&lt;/p&gt;&lt;code&gt;&lt;br /&gt; public class YouTubeVideosCollection : System.Collections.Generic.List&amp;lt;YouTubeVideo&amp;gt;&lt;br /&gt;   {&lt;br /&gt;   }&lt;br /&gt;   public class YouTubeVideo&lt;br /&gt;   {&lt;br /&gt;       public string Blob;&lt;br /&gt;       public string Title;&lt;br /&gt;       public string Status;&lt;br /&gt;       public string Content;&lt;br /&gt;       public System.Collections.Generic.List&amp;lt;YouTubeVideoThumbnail&amp;gt; ThumbNailList = new System.Collections.Generic.List&amp;lt;YouTubeVideoThumbnail&amp;gt;();&lt;br /&gt;       public System.Collections.Generic.List&amp;lt;YouTubeVideoMediaType&amp;gt; MediaList = new System.Collections.Generic.List&amp;lt;YouTubeVideoMediaType&amp;gt;();           &lt;br /&gt;   }&lt;br /&gt;   public class YouTubeVideoMediaType&lt;br /&gt;   {&lt;br /&gt;       public string Url;&lt;br /&gt;       public string Format;&lt;br /&gt;       public string Duration;&lt;br /&gt;   }&lt;br /&gt;   public class YouTubeVideoThumbnail&lt;br /&gt;   {&lt;br /&gt;       public string Url;&lt;br /&gt;       public string Width;&lt;br /&gt;       public string Height;&lt;br /&gt;   }&lt;/code&gt;&lt;br /&gt;There's no logic or api in those so no special includes needed.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;I then build out a provider class that will do the heavy lifting and return my YouTubeVideosCollection object.  I head over to &lt;a href="http://code.google.com/apis/youtube/dashboard/gwt/index.html"&gt;Google&lt;/a&gt; to register for an application id (app_key, app_name).&lt;br /&gt;&lt;/p&gt;&lt;code&gt;&lt;br /&gt;public static class YouTubeAppProvider&lt;br /&gt; {&lt;br /&gt;     public static  YouTubeVideosCollection RetrieveYouTubeChannelVideos() {&lt;br /&gt;         //I didn't implement paging yet, but this worker class is ready for it&lt;br /&gt;         //this default call requests the first 11 videos starting at index 1&lt;br /&gt;         return RetrieveYouTubeChannelVideos("1","11");&lt;br /&gt;     }&lt;br /&gt;     public static YouTubeVideosCollection RetrieveYouTubeChannelVideos(string indexStartAt, string maxResults)&lt;br /&gt;     {&lt;br /&gt;          //more info on query string params at: http://code.google.com/apis/youtube/2.0/developers_guide_protocol_api_query_parameters.html#qsp&lt;br /&gt;         //get app_id and app_key from google API Parter dashboard&lt;br /&gt;         Google.YouTube.YouTubeRequestSettings settings = new Google.YouTube.YouTubeRequestSettings("My App Name", app_id, app_key);&lt;br /&gt;         Google.YouTube.YouTubeRequest request = new Google.YouTube.YouTubeRequest(settings);&lt;br /&gt;&lt;br /&gt;         Uri youtubeChannel = new Uri("http://gdata.youtube.com/feeds/api/users/FlightOfThConchords/uploads?start-index=" + indexStartAt + "&amp;amp;max-results=" + maxResults);&lt;br /&gt;         Google.GData.Client.Feed&amp;lt;google.youtube.video&amp;gt; feed = request.Get&amp;lt;google.youtube.video&amp;gt;(youtubeChannel);&lt;br /&gt;      &lt;br /&gt;         YouTubeVideosCollection vids = new YouTubeVideosCollection();&lt;br /&gt;         foreach (Google.YouTube.Video entry in feed.Entries)&lt;br /&gt;         {&lt;br /&gt;             YouTubeVideo vid = new YouTubeVideo();&lt;br /&gt;             vid.Title = entry.Title ;&lt;br /&gt;          &lt;br /&gt;          &lt;br /&gt;             vid.Content = entry.Content;&lt;br /&gt;             foreach (Google.GData.Extensions.MediaRss.MediaThumbnail thumb in entry.Thumbnails) {&lt;br /&gt;                 YouTubeVideoThumbnail thumbnail = new YouTubeVideoThumbnail();&lt;br /&gt;                 thumbnail.Url = thumb.Url;&lt;br /&gt;                 thumbnail.Width = thumb.Width;&lt;br /&gt;                 thumbnail.Height = thumb.Height;&lt;br /&gt;&lt;br /&gt;                 vid.ThumbNailList.Add(thumbnail);&lt;br /&gt;              &lt;br /&gt;             }&lt;br /&gt;             foreach (Google.GData.YouTube.MediaContent mediaContent in entry.Contents ) {&lt;br /&gt;                 //formats: http://code.google.com/apis/youtube/2.0/reference.html#formatsp&lt;br /&gt;                 //I only want the Format 5 - which is the embedable version&lt;br /&gt;                 if (mediaContent.Format.Equals("5"))&lt;br /&gt;                 {&lt;br /&gt;                     YouTubeVideoMediaType media = new YouTubeVideoMediaType();&lt;br /&gt;                     media.Duration = mediaContent.Duration;&lt;br /&gt;                     media.Format = mediaContent.Format;&lt;br /&gt;                     media.Url = mediaContent.Url;&lt;br /&gt;                     vid.MediaList.Add(media);&lt;br /&gt;                 }&lt;br /&gt;             }&lt;br /&gt;             vids.Add(vid);&lt;br /&gt;         }&lt;br /&gt;         return vids;&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;This class will need the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Google.GData.Client &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Google.GData.Extensions.MediaRss &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Google.YouTube&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;You get these from the &lt;a href="http://code.google.com/apis/youtube/2.0/developers_guide_dotnet.html"&gt;Google .NET Client API&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;In my controller I define a method to invoke the worker.&lt;br /&gt;&lt;/p&gt;&lt;code&gt;&lt;br /&gt;     public ActionResult Channel()&lt;br /&gt;     {&lt;br /&gt;         ViewData.Model = SampleBox.Models.YouTubeAppProvider.RetrieveYouTubeChannelVideos();&lt;br /&gt;&lt;br /&gt;         return View();&lt;br /&gt;     }&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Lastly I define the view, which is able to be strongly typed off the YouTubeVideosCollection we defined earlier.  This first set of code will run in as an independent page (or within an IFRAME as a Facebook App).&lt;br /&gt;&lt;/p&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage&amp;lt;SampleBox.Models.YouTubeVideosCollection&amp;gt;" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"&amp;gt;&lt;br /&gt; Channel&lt;br /&gt;&amp;lt;/asp:Content&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;h2&amp;gt;Channel&amp;lt;/h2&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;div class="videoCollection"&amp;gt;&lt;br /&gt;  &amp;lt;ul&amp;gt;&lt;br /&gt;&amp;lt;%&lt;br /&gt;   SampleBox.Models.YouTubeVideosCollection videos = ViewData.Model;&lt;br /&gt;   bool first = true;&lt;br /&gt;   string width = "425";&lt;br /&gt;   string height = "350";&lt;br /&gt;   foreach (SampleBox.Models.YouTubeVideo vid in videos)&lt;br /&gt;   {&lt;br /&gt;       if (first)&lt;br /&gt;       {%&amp;gt;&lt;br /&gt;           &amp;lt;li class="first"&amp;gt;&lt;br /&gt;       &amp;lt;% } else { %&amp;gt;&lt;br /&gt;           &amp;lt;li&amp;gt;&lt;br /&gt;       &amp;lt;% } %&amp;gt;&lt;br /&gt;       &amp;lt;% foreach (SampleBox.Models.YouTubeVideoMediaType media in vid.MediaList)&lt;br /&gt;          { %&amp;gt;    &lt;br /&gt;             &amp;lt;%= vid.Title %&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;             &amp;lt;object width="&amp;lt;%=width%&amp;gt;" height="&amp;lt;%=height %&amp;gt;"&amp;gt;&lt;br /&gt;                 &amp;lt;embed src="&amp;lt;%= media.Url %&amp;gt;"&lt;br /&gt;                   type="application/x-shockwave-flash" wmode="transparent"&lt;br /&gt;                   width="&amp;lt;%=width %&amp;gt;" height="&amp;lt;%=height %&amp;gt;"&amp;gt;&lt;br /&gt;                 &amp;lt;/embed&amp;gt;&lt;br /&gt;             &amp;lt;/object&amp;gt;&lt;br /&gt;     &lt;br /&gt;       &amp;lt;% } %&amp;gt;&lt;br /&gt;      &amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;%     &lt;br /&gt;       first = false;&lt;br /&gt;       width = "215";&lt;br /&gt;       height = "175";&lt;br /&gt;   } %&amp;gt;&lt;br /&gt;   &amp;lt;/ul&amp;gt;&lt;br /&gt;   &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/asp:Content&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This second example will work within the context of a facebook profile tab - note there is no master page to inherit from and no html/body tags, and the style has been defined inline intentionally.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;%@ Page Title="" Language="C#"  Inherits="System.Web.Mvc.ViewPage&amp;lt;SampleBox.Models.YouTubeVideosCollection&amp;gt;" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;h2&amp;gt;Channel&amp;lt;/h2&amp;gt;&lt;br /&gt;  &amp;lt;style type="text/css"&amp;gt;&lt;br /&gt;  .videoCollection  ul&lt;br /&gt;      {&lt;br /&gt;          border-bottom: 1px #5C87B2 solid;&lt;br /&gt;          padding: 0 0 2px;&lt;br /&gt;          position: relative;&lt;br /&gt;          margin: 0;&lt;br /&gt;          width: inherit;&lt;br /&gt;          text-align: center;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      .videoCollection ul li&lt;br /&gt;      {&lt;br /&gt;          list-style: none;&lt;br /&gt;          display:inline-block;&lt;br /&gt;          width: 340px;&lt;br /&gt;          height: 215px;&lt;br /&gt;          border: solid 1px black;&lt;br /&gt;          overflow: hidden;&lt;br /&gt;          position: static;&lt;br /&gt;      }&lt;br /&gt;      .videoCollection ul li.first&lt;br /&gt;      {&lt;br /&gt;          width: 690px;&lt;br /&gt;          height: 375px;&lt;br /&gt;          display: block;&lt;br /&gt;          clear: both;&lt;br /&gt;          vertical-align: middle;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      .videoCollection {&lt;br /&gt;          width:690px;&lt;br /&gt;          border: solid 1px black;&lt;br /&gt;}&lt;br /&gt;  &amp;lt;/style&amp;gt;&lt;br /&gt; &amp;lt;div class="videoCollection"&amp;gt;&lt;br /&gt; &amp;lt;ul&amp;gt;&lt;br /&gt;&amp;lt;%&lt;br /&gt;  SampleBox.Models.YouTubeVideosCollection videos = ViewData.Model;&lt;br /&gt;  bool first = true;&lt;br /&gt;  string width = "425";&lt;br /&gt;  string height = "350";&lt;br /&gt;  foreach (SampleBox.Models.YouTubeVideo vid in videos)&lt;br /&gt;  {&lt;br /&gt;    &lt;br /&gt;      if (first)&lt;br /&gt;      {%&amp;gt;&lt;br /&gt;          &amp;lt;li class="first"&amp;gt;&lt;br /&gt;      &amp;lt;% } else { %&amp;gt;&lt;br /&gt;          &amp;lt;li&amp;gt;&lt;br /&gt;      &amp;lt;% } %&amp;gt;&lt;br /&gt;      &amp;lt;% foreach (SampleBox.Models.YouTubeVideoMediaType media in vid.MediaList)&lt;br /&gt;         { %&amp;gt;   &lt;br /&gt;            &amp;lt;%= vid.Title %&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;            &amp;lt;fb:swf&lt;br /&gt;            imgsrc="&amp;lt;%= vid.ThumbNailList[0].Url %&amp;gt;"&lt;br /&gt;            swfsrc="&amp;lt;%= media.Url %&amp;gt;"&lt;br /&gt;            height="&amp;lt;%=height%&amp;gt;"&lt;br /&gt;            width="&amp;lt;%=width%&amp;gt;"&lt;br /&gt;            /&amp;gt;&lt;br /&gt;&lt;br /&gt;   &lt;br /&gt;      &amp;lt;% } %&amp;gt;&lt;br /&gt;     &amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;%    &lt;br /&gt;      first = false;&lt;br /&gt;      width = "215";&lt;br /&gt;      height = "175";&lt;br /&gt;  } %&amp;gt;&lt;br /&gt;  &amp;lt;/ul&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;p&gt;There's lots of refactoring and error handling yet to do, but this is a solid reference point to share - hope its useful for you.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-4396567562898396488?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/4396567562898396488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=4396567562898396488&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/4396567562898396488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/4396567562898396488'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2009/07/youtube-channel-on-facebook-profile.html' title='YouTube Channel on a Facebook profile page .NET'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-699971020171436150</id><published>2009-07-12T16:47:00.001-07:00</published><updated>2009-07-13T06:34:33.281-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><title type='text'>Facebook Profile Page (Tab on a Business Page)</title><content type='html'>Been playing with Facebook a bit recently and thought I'd summarize a few points I've learned:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Tabs on business pages are called "Profile Tabs" in Facebook parlance.&lt;/li&gt;&lt;li&gt;Tabs are actually a setting off of an application (so you'll need a very simple application)&lt;/li&gt;&lt;li&gt;The URL to the tab content must be relative to the main URL (Canvas) of the simple application&lt;/li&gt;&lt;li&gt;Tabs are limited in functionality - they are markup only (no iframes) and a subset of FBML.&lt;/li&gt;&lt;li&gt;Inline CSS and Javascript only.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Flash can be used, but cannot be viewed until a user clicks the element (fb:swf)&lt;/li&gt;&lt;li&gt;Make sure you specify an image src on the fb:swf tag - otherwise there is nothing for the user to click on to start the flash&lt;/li&gt;&lt;li&gt;For some reason .htm/.html files wouldn't work for me, though .aspx was fine.&lt;/li&gt;&lt;li&gt;Images will be cached by Facebook (so throw a query string on if you want to force them to change).&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-699971020171436150?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/699971020171436150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=699971020171436150&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/699971020171436150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/699971020171436150'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2009/07/facebook-profile-page-tab-on-business.html' title='Facebook Profile Page (Tab on a Business Page)'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-3224166288408318722</id><published>2009-03-20T19:55:00.001-07:00</published><updated>2009-03-20T19:55:08.933-07:00</updated><title type='text'>Mix09</title><content type='html'>&lt;p&gt;Checking out some of the new technologies coming out at Mix this year – as always very exciting stuff.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;(&lt;a href="http://visitmix.com"&gt;VisitMix.com&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;ASP.NET MVC 1.0&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Super Preview – view web pages you are building in multiple browsers (via the cloud) – built into Expression Web 3.0&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Web Platform Installer – make it easy to get the latest “bits”&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt; I’m really interested and excited on all of these.    &lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-3224166288408318722?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/3224166288408318722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=3224166288408318722&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/3224166288408318722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/3224166288408318722'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2009/03/mix09.html' title='Mix09'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-4415302020610009856</id><published>2008-11-08T17:25:00.000-08:00</published><updated>2009-07-01T11:55:11.009-07:00</updated><title type='text'>Blogger's horrendous user experience</title><content type='html'>Wow, Blogger/Google didn't execute as well as they should have:&lt;br /&gt;&lt;br /&gt;Try to sign in. &lt;br /&gt;1) Requires Google Account, give it my google account and password, submit.&lt;br /&gt;2) Says I need to give it my Google password, I do so (again), submit.&lt;br /&gt;3) Says my password is weak, and I need to change it. I try my existing password and the indicator says its "strong", but when I try to save it, tells me I must use a different password.&lt;br /&gt;4) Finally make a new password, but what did I just change? My google account or my blogger account? Guess I'll find out next time I try to access Gmail.&lt;br /&gt;&lt;br /&gt;Man thats an awful lot of work to sign into an account you didn't forget....&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-4415302020610009856?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/4415302020610009856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=4415302020610009856&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/4415302020610009856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/4415302020610009856'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2008/11/bloggers-horrendous-user-experience.html' title='Blogger&apos;s horrendous user experience'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-38840807188013457</id><published>2008-09-22T06:09:00.000-07:00</published><updated>2008-09-22T06:11:15.981-07:00</updated><title type='text'>Huge List of Programmer cartoons</title><content type='html'>True gem on Stackoverflow - huge list of programmer cartonns.&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/84556/whats-your-favorite-programmer-cartoon#84629"&gt;Click Here for computer geek amusement.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-38840807188013457?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/38840807188013457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=38840807188013457&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/38840807188013457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/38840807188013457'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2008/09/huge-list-of-programmer-cartoons.html' title='Huge List of Programmer cartoons'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-3171599543628047327</id><published>2008-08-07T07:59:00.000-07:00</published><updated>2008-08-07T09:56:22.389-07:00</updated><title type='text'>Hell freezing over?  Microsoft Sponsors Apache Software Foundation</title><content type='html'>Lots of good information &lt;a href="http://port25.technet.com/archive/2008/07/25/oscon2008.aspx"&gt;here &lt;/a&gt;including that Microsoft is actually sponsoring the Apache Software Foundation.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-3171599543628047327?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/3171599543628047327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=3171599543628047327&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/3171599543628047327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/3171599543628047327'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2008/08/hell-freezing-over-microsoft-sponsors.html' title='Hell freezing over?  Microsoft Sponsors Apache Software Foundation'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-3422496282964010190</id><published>2008-05-18T12:22:00.000-07:00</published><updated>2008-05-18T12:23:59.619-07:00</updated><title type='text'>snazzy bookmarklet for css</title><content type='html'>Just caught wind of the &lt;a href="http://westciv.com/xray/"&gt;XRAY&lt;/a&gt; bookmarklet - allows you to see the box model for any element on the page.  &lt;br /&gt;Slick!&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-3422496282964010190?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/3422496282964010190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=3422496282964010190&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/3422496282964010190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/3422496282964010190'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2008/05/snazzy-bookmarklet-for-css.html' title='snazzy bookmarklet for css'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-3447259860176387230</id><published>2008-05-16T06:48:00.001-07:00</published><updated>2008-05-16T06:49:30.207-07:00</updated><title type='text'>DeepZoom meets Death and Taxes</title><content type='html'>Had to pass along this link to a Silverlight DeepZoom rendition of the where tax dollars are going - &lt;a href="http://www.wallstats.com/deathandtaxes/"&gt;very cool.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-3447259860176387230?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/3447259860176387230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=3447259860176387230&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/3447259860176387230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/3447259860176387230'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2008/05/deepzoom-meets-death-and-taxes.html' title='DeepZoom meets Death and Taxes'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-907125989917385639</id><published>2007-11-26T10:41:00.001-08:00</published><updated>2007-11-26T11:16:40.581-08:00</updated><title type='text'>Website SEO grader</title><content type='html'>&lt;p&gt;Check out &lt;a title="http://feeds.downloadsquad.com/~r/weblogsinc/downloadsquad/~3/189293946/" href="http://feeds.downloadsquad.com/~r/weblogsinc/downloadsquad/~3/189293946/"&gt;http://feeds.downloadsquad.com/~r/weblogsinc/downloadsquad/~3/189293946/&lt;/a&gt;&amp;nbsp; for a link to WebSite Grader.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;/p&gt;Website Grader reviews your site, taking into account traffic, social sites, Google Page Rank, Alexa rankings, inbound links etc... and comes up with a score out of 100.  &lt;p&gt;This is a nice report to let you know how you are doing and makes some solid suggestions on how to improve. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-907125989917385639?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/907125989917385639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=907125989917385639&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/907125989917385639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/907125989917385639'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/11/website-seo-grader.html' title='Website SEO grader'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-2394941127676524556</id><published>2007-11-12T13:45:00.001-08:00</published><updated>2007-11-12T13:45:26.924-08:00</updated><title type='text'>IBM: $5B for Cognos</title><content type='html'>&lt;p&gt;Interesting moves this year: &lt;/p&gt; &lt;p&gt;SAP AG bought Business Objects AS for $7B&lt;/p&gt; &lt;p&gt;Oracle bought Hyperion for $3.3B&lt;/p&gt; &lt;p&gt;Now IBM has announced a $5 billion in cash deal to purchase Cognos.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a title="http://news.wired.com/dynamic/stories/I/IBM_COGNOS?SITE=WIRE&amp;amp;SECTION=HOME&amp;amp;TEMPLATE=DEFAULT&amp;amp;CTIME=2007-11-12-11-31-57" href="http://news.wired.com/dynamic/stories/I/IBM_COGNOS?SITE=WIRE&amp;amp;SECTION=HOME&amp;amp;TEMPLATE=DEFAULT&amp;amp;CTIME=2007-11-12-11-31-57"&gt;http://news.wired.com/dynamic/stories/I/IBM_COGNOS?SITE=WIRE&amp;amp;SECTION=HOME&amp;amp;TEMPLATE=DEFAULT&amp;amp;CTIME=2007-11-12-11-31-57&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-2394941127676524556?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/2394941127676524556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=2394941127676524556&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/2394941127676524556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/2394941127676524556'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/11/ibm-5b-for-cognos.html' title='IBM: $5B for Cognos'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-2623338932559695468</id><published>2007-11-07T10:47:00.001-08:00</published><updated>2007-11-07T10:47:38.382-08:00</updated><title type='text'>Wow - see the history of the code, in Visual Studio</title><content type='html'>&lt;p&gt;A new feature is available with Visual Studio 2008 when working with Team System.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.codinghorror.com/blog/archives/000992.html"&gt;Jeff Atwood blogs&lt;/a&gt; the ability to see the different versions of the code in visual studio include the check in comments.&amp;nbsp; Wow!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-2623338932559695468?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/2623338932559695468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=2623338932559695468&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/2623338932559695468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/2623338932559695468'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/11/wow-see-history-of-code-in-visual.html' title='Wow - see the history of the code, in Visual Studio'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-3299041364958171548</id><published>2007-10-29T12:28:00.001-07:00</published><updated>2007-10-29T12:30:26.722-07:00</updated><title type='text'>LOLCatz has LOLCodez nowzz</title><content type='html'>&lt;p&gt;&lt;a href="http://www.boingboing.net/2007/05/16/where-lolcats-come-f.html" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="240" alt="lolcatsxkcd" src="http://www.jessandrob.com/other/LOLCatzhasLOLCodeznowzz_D99B/lolcatsxkcd_3.jpg" width="222" align="left" border="0"&gt;&lt;/a&gt;If you haven't yet seen Lolcats (lolcats.com) or icanhascheezburger.com, consider yourself lucky that your brain has not been infected (don't visit those url's!).&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;If you're not so lucky (or infected so badly you can't admit your addiction), a new programming language has been developed by analyzing&amp;nbsp;lolcats speak: LOLCode.net.&amp;nbsp; LOLCode.NET utilizes the .NET Runtime and can even be debugged in Visual Studio.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;You always wanted to write the following code and have it run, right?&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;code&gt;IM IN YR LOOP &lt;br&gt;VISIBLE COUNTER&lt;br&gt;I HAS A DIFFERENCE&lt;br&gt;LOL DIFFERENCE R COUNTER NERF MINIMUM &lt;br&gt;IZ MINIMUM UP DIFFERENCE LIEK MAXIMUM OVAR 2 &lt;br&gt;YARLY &lt;br&gt;VISIBLE "Half way there" NOWAI &lt;br&gt;I HAS A NEXT COUNTER TIEMZD NEXTCOUNTER!!2&lt;br&gt;KTHX &lt;br&gt;[....] &lt;/code&gt;&lt;/p&gt; &lt;p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt;Comic from xcd:&amp;nbsp; &lt;a title="http://www.xkcd.com/262/" href="http://www.xkcd.com/262/"&gt;http://www.xkcd.com/262/&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-3299041364958171548?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/3299041364958171548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=3299041364958171548&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/3299041364958171548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/3299041364958171548'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/10/lolcatz-has-lolcodez-nowzz.html' title='LOLCatz has LOLCodez nowzz'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-582951729058742115</id><published>2007-10-29T08:09:00.001-07:00</published><updated>2007-10-29T08:12:21.637-07:00</updated><title type='text'>Evidence based scheduling</title><content type='html'>&lt;p&gt;FogBugz (lead by famous blogger Joel Spolsky) just released version 6.0.&amp;nbsp; With it they are making waves due to the inclusion of evidence based scheduling.&lt;/p&gt; &lt;p&gt;Evidence based scheduling tracks developer estimates per feature against actual time spent (including interruption time) to determine estimate accuracy and plot a distribution curve of likelihood of shipping software on time.&amp;nbsp; &lt;/p&gt; &lt;p&gt;My question is:&amp;nbsp; how can we leverage this type of mechanism at a&amp;nbsp; company that does many, many small projects?&amp;nbsp; Are&amp;nbsp;the projects similar enough that this would help?&amp;nbsp; Could&amp;nbsp;each project be treated&amp;nbsp;as a sprint (or sprints) in an overall continued effort?&lt;/p&gt; &lt;p&gt;Read this post for an overview of evidence based scheduling:&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.joelonsoftware.com/items/2007/10/26.html" href="http://www.joelonsoftware.com/items/2007/10/26.html"&gt;http://www.joelonsoftware.com/items/2007/10/26.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Read some reactions to the feature:&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.joelonsoftware.com/items/2007/10/29.html" href="http://www.joelonsoftware.com/items/2007/10/29.html"&gt;http://www.joelonsoftware.com/items/2007/10/29.html&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-582951729058742115?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/582951729058742115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=582951729058742115&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/582951729058742115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/582951729058742115'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/10/evidence-based-scheduling.html' title='Evidence based scheduling'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-4739924662156512805</id><published>2007-10-29T08:08:00.001-07:00</published><updated>2007-10-29T08:08:55.776-07:00</updated><title type='text'>SubSonic (MS sponsors open source)</title><content type='html'>&lt;p&gt;Rob Conery of &lt;a href="http://www.subsonicproject.com/"&gt;SubSonic&lt;/a&gt; famehas just joined on with Microsoft (&lt;a title="http://blog.wekeroad.com/2007/10/26/microsoft-subsonic-and-me/" href="http://blog.wekeroad.com/2007/10/26/microsoft-subsonic-and-me/"&gt;http://blog.wekeroad.com/2007/10/26/microsoft-subsonic-and-me/&lt;/a&gt;).&lt;/p&gt; &lt;p&gt;This is very interesting as he will continue to work on SubSonic, and SubSonic will continue to be open source.&lt;/p&gt; &lt;p&gt;Also it appears SubSonic will be deeply integrated in &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx"&gt;the new MVC framework&lt;/a&gt; that's been announced. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;What are you thinking about SubSonic?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-4739924662156512805?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/4739924662156512805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=4739924662156512805&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/4739924662156512805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/4739924662156512805'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/10/subsonic-ms-sponsors-open-source.html' title='SubSonic (MS sponsors open source)'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-3955852537987277241</id><published>2007-10-22T07:06:00.001-07:00</published><updated>2007-10-22T07:06:31.086-07:00</updated><title type='text'>Silverlight building steam</title><content type='html'>Silverlight is an incredibly interesting direction for teams building web applications, especially those with .NET skill sets already in place. &lt;p&gt;&lt;/p&gt; &lt;p&gt;This site: &lt;a title="http://silverlight.net/showcase/Default.aspx" href="http://silverlight.net/showcase/Default.aspx"&gt;http://silverlight.net/showcase/Default.aspx&lt;/a&gt;&amp;nbsp;now is live, hosting some of the cool new work being done in silverlight.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;The Home Shopping Network is actually innovating - they are offering video streaming via Silverlight, but overlaying controls on the video for the user to easily jump into ordering.&amp;nbsp; For example clicking the "buy" button takes the user to the product purchase page with all the details of what they were just watching filled out.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Silverlight is enabling this by allowing meta data to be carried with the video (including timeline based metadata) and UI controls that can integrate and utilize the meta data, including overlapping and interacting with the video.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt;Very cool.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-3955852537987277241?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/3955852537987277241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=3955852537987277241&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/3955852537987277241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/3955852537987277241'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/10/silverlight-building-steam.html' title='Silverlight building steam'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-8710225188779269698</id><published>2007-10-22T06:17:00.001-07:00</published><updated>2007-10-22T06:17:39.587-07:00</updated><title type='text'>Configuration Tool for CCNET.Config</title><content type='html'>&lt;p&gt;This looks like it has some potential to make setting up projects on cruisecontrol faster and easier:&lt;/p&gt; &lt;p&gt;&lt;a title="http://ccnetconfig.org/gallery/117.aspx" href="http://ccnetconfig.org/gallery/117.aspx"&gt;http://ccnetconfig.org/gallery/117.aspx&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-8710225188779269698?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/8710225188779269698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=8710225188779269698&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/8710225188779269698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/8710225188779269698'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/10/configuration-tool-for-ccnetconfig.html' title='Configuration Tool for CCNET.Config'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-5756055974479149570</id><published>2007-09-27T06:24:00.001-07:00</published><updated>2007-09-27T06:24:43.425-07:00</updated><title type='text'>Javascript variance in mouseclick events</title><content type='html'>You probably think that capturing mouse-click events in javascript would be a pretty easy, standardized thing these days.  But personal experience has proven this not to be the case, and led to finding this excellent article about the difficulties of mouse-click events in a number of browsers.  &lt;a href="http://unixpapa.com/js/mouse.html"&gt;http://unixpapa.com/js/mouse.html&lt;/a&gt;  (*note no mouse click events were harmed in the creation of this post)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-5756055974479149570?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/5756055974479149570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=5756055974479149570&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/5756055974479149570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/5756055974479149570'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/09/javascript-variance-in-mouseclick.html' title='Javascript variance in mouseclick events'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-5578932748837542530</id><published>2007-09-25T14:06:00.001-07:00</published><updated>2007-09-25T14:06:23.952-07:00</updated><title type='text'>URL rewriting</title><content type='html'>&lt;p&gt;In the past I linked to an article on URL rewriting and how to do it.&amp;nbsp; This past weekend I finally modified my personal web site to use URL Rewriting.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;I tried a couple different methods of URL Rewriting and finally settled in with &lt;a title="http://www.urlrewriting.net" href="http://www.urlrewriting.net"&gt;http://www.urlrewriting.net&lt;/a&gt;&amp;nbsp;as the documentation was good and the implementation fit my needs.&lt;/p&gt; &lt;p&gt;Essentially all that was required was to drop the urlrewriting.dll into my bin directory (adding it as a reference for my website) and adding rewriting rules to my web.config.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The power is in adding rewriting rules to the web.config. &lt;/p&gt; &lt;p&gt;You create the functionality you want as query string variables, and then create a rewriting rule.&amp;nbsp; The rewriting rule defines a regular expression of the "to be" URL and how it maps to the real url.&lt;/p&gt; &lt;p&gt;For example:&amp;nbsp; I am using an imagehandler.ashx file to resize images on the fly.&amp;nbsp; It takes query string parameters:&lt;/p&gt; &lt;p&gt;dir: the subdirectory of my pictures directory to use&lt;/p&gt; &lt;p&gt;file: the picture in that directory to use&lt;/p&gt; &lt;p&gt;width (optional): how wide to make the output picture&lt;/p&gt; &lt;p&gt;height (optional): how tall to make the output picture&lt;/p&gt; &lt;p&gt;This results in a url like this:&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.jessandrob.com/imagehandler.ashx?dir=Alberta-Aug-2007&amp;amp;file=DSC00105&amp;amp;width=800&amp;amp;height=600"&gt;http://www.jessandrob.com/imagehandler.ashx?dir=Alberta-Aug-2007&amp;amp;file=DSC00105&amp;amp;width=800&amp;amp;height=600&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Which clearly isn't to friendly.&lt;/p&gt; &lt;p&gt;After adding the reference I added this to the web config:&lt;/p&gt; &lt;p&gt;&amp;lt;urlrewritingnet xmlns=&lt;code&gt;"http://www.urlrewriting.net/schemas/config/2006/07"&lt;/code&gt;&amp;gt;&lt;/p&gt; &lt;blockquote width=5&gt; &amp;lt;rewrites&amp;gt;&lt;br/&gt; &amp;lt;add name="picture_web"&amp;nbsp;&lt;br/&gt; ignorecase="true" &lt;br/&gt; virtualurl=&lt;code&gt;"^~/gallery/web/([\d\w\s\-]*)/([\d\w\s\-]*).aspx" &lt;/code&gt;&lt;br/&gt;destinationurl=&lt;code&gt;"~/ImageHandler.ashx?Path=$1&amp;amp;amp;File=$2.jpg&amp;amp;amp;width=800&amp;amp;amp;height=600" &lt;/code&gt;&lt;br/&gt;rewriteurlparameter="ExcludeFromClientQueryString" /&amp;gt;&lt;br/&gt; &amp;lt;/rewrites&amp;gt;&lt;/&gt;&lt;br/&gt;&lt;/blockquote&gt; &amp;lt;/urlrewritingnet&amp;gt;&lt;br/&gt; &lt;br/&gt; &lt;p&gt;After this the url becomes:&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.jessandrob.com/gallery/web/Alberta-Aug-2007/DSC00105.aspx"&gt;http://www.jessandrob.com/gallery/web/Alberta-Aug-2007/DSC00105.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;You can see my regular expression is matching digits, letters, whitespace, and dashes for both the directory name and the file name, and they are passed to the query string as "$1" and "$2" per standard Regex notation.&lt;/p&gt; &lt;p&gt;Notice its .aspx instead of .jpg - this seems to be a limitation of IIS.&amp;nbsp; using ".JPG" actually works in the Visual Studio built in web server but fails in IIS - that's something I'll have to look into in the future.&lt;/p&gt; &lt;p&gt;Yes its that simple.&amp;nbsp; I repeated the process for a couple other dynamic pages.&lt;/p&gt; &lt;p&gt;The one thing that did effect me a bit was URL's on the rewritten pages - you'll notice that the rewritten pages are deeper directory wise than the original - this is my design choice.&amp;nbsp; This caused issues on the pages mapping relative urls - specifically I needed to utilize the ASP.NET "~" operator and have the url as runat=server (this was ASP.NET figures out the relative url for me).&amp;nbsp; Where this isn't possible I have to manage the urls a bit more manually.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-5578932748837542530?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/5578932748837542530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=5578932748837542530&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/5578932748837542530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/5578932748837542530'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/09/url-rewriting.html' title='URL rewriting'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-369826489289597796</id><published>2007-09-25T13:37:00.001-07:00</published><updated>2007-09-25T13:37:06.968-07:00</updated><title type='text'>Trouble from Windows Live Writer?</title><content type='html'>&lt;p&gt; &lt;p&gt;I had some problems posting to my company blog from Windows Live Writer today.&amp;nbsp;&lt;/p&gt;&lt;/p&gt; &lt;p&gt;It looks like in the past update of Live Writer it didn't migrate my connection settings properly for Community Server (Blogger was fine).&amp;nbsp; The support of Community Server has been significantly enhanced.&lt;/p&gt; &lt;p&gt;I deleted my connection to Community Server and recreated it - all is fine now.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-369826489289597796?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/369826489289597796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=369826489289597796&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/369826489289597796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/369826489289597796'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/09/trouble-from-windows-live-writer.html' title='Trouble from Windows Live Writer?'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-729352241768893625</id><published>2007-09-25T13:36:00.001-07:00</published><updated>2007-09-25T13:36:01.820-07:00</updated><title type='text'>Bastard Operator from Hell</title><content type='html'>&lt;p&gt;In my staff meeting today I discovered that not everyone knows of the Bastard Operator from Hell series (BOFH).&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The series was written 1998-2001 by Simon Travaglia, though the tourch has been carried on since.&amp;nbsp; I haven't read the latest but there was a time I eagerly awaited the next episode.&lt;/p&gt; &lt;p&gt;Essentially the bastard operator from hell sometimes answers the phone and is quick to doll out advise to unsuspecting callers - advise that occasionally will solve their problem, but usually will just result in removal of their computer privileges.&lt;/p&gt; &lt;p&gt;If you have ever had to answer the questions of the technically inept you will likely find these articles of great humor (especially if you have an appreciation for mainframe/unix systems).&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a title="http://bofh.ntk.net/Bastard_Indexes.html" href="http://bofh.ntk.net/Bastard_Indexes.html"&gt;http://bofh.ntk.net/Bastard_Indexes.html&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-729352241768893625?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/729352241768893625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=729352241768893625&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/729352241768893625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/729352241768893625'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/09/bastard-operator-from-hell.html' title='Bastard Operator from Hell'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-6828330880137288653</id><published>2007-08-09T14:57:00.001-07:00</published><updated>2007-08-09T14:57:59.054-07:00</updated><title type='text'>Exchange Hosting</title><content type='html'>&lt;p&gt;A couple years ago I picked up a&amp;nbsp; Samsung&amp;nbsp; i730 smartphone, and to unleash its potential to replace my&amp;nbsp;RIM pager I ended up grabbing&amp;nbsp;a domain and&amp;nbsp;exchange hosting.&lt;/p&gt; &lt;p&gt;As typical I&amp;nbsp;grabbed the&amp;nbsp;domain from&amp;nbsp;Godaddy.com&amp;nbsp; and&amp;nbsp;directed it to DSLExtreme.com's&amp;nbsp;DNS servers so they could provide me with an exchange account.&lt;/p&gt; &lt;p&gt;This has worked like a champ for quite some time, however DSLExtreme charges $9.95/month for the exchange hosting.&amp;nbsp; Not to bad, but seems a bit&amp;nbsp;expensive for the level of usage I get out of it.&lt;/p&gt; &lt;p&gt;I tried moving to Google Apps a few weeks ago without full success - every thing moved over just by creating CNAME pointers via GoDaddy's "Total DNS Control" tool.&amp;nbsp; Big props to Google for very good directions specific to GoDaddy in their help section (don't forget the "." on the end of the MX records!).&amp;nbsp; &lt;/p&gt; &lt;p&gt;I like this approach because&amp;nbsp;doing granular MX records it leaves the rest of the domain at my control (should I want to host a website on the domain or any subdomains).&lt;/p&gt; &lt;p&gt;Biggest problem with Google Apps was sending and receiving messages from Windows Mobile.&amp;nbsp; The pop access works, however I had to search a bit to keep the messages in my inbox for more than one "send and receive".&amp;nbsp; Then once that was working the conversation threading feature caused significant cluttering of my inbox (on Windows Mobile).&amp;nbsp; Additionally polling for POP access impacts the battery life noticeably.&lt;/p&gt; &lt;p&gt;Last week I took a little time to review this setup one more time.&amp;nbsp; This time I utilized a hybrid approach between Google Apps and also added exchange hosting.&amp;nbsp; I ended up utilizing mail2web's personal exchange hosting for ActiveSync push to WindowsMobile.&amp;nbsp; mail2web's personal exchange hosting costs $1.99/month&lt;/p&gt; &lt;p&gt;In Google Apps I created a forwarding rule to forward all mail to &lt;a href="mailto:me@mydomain"&gt;me@mydomain&lt;/a&gt;, and in mail2web I set my reply-to address to &lt;a href="mailto:me@mydomain"&gt;me@mydomain&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;This is working very well, however I still need to automate the syncing of calendar and contacts back up to google.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-6828330880137288653?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/6828330880137288653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=6828330880137288653&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/6828330880137288653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/6828330880137288653'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/08/exchange-hosting.html' title='Exchange Hosting'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-278421967864920723</id><published>2007-08-09T05:48:00.001-07:00</published><updated>2007-08-09T05:48:49.624-07:00</updated><title type='text'>The FWA: Favourite Website Awards</title><content type='html'>&lt;p&gt;The Favorite Website Awards is very intresting site - it has quite a list of web sites that do the web differently - most&amp;nbsp; to great effect.&lt;/p&gt; &lt;p&gt;It is disappointing that most of the sites rely on flash for the snazzy interface (which they could have done in AJAX).&lt;/p&gt; &lt;p&gt;There are some very rich web applications here showcasing some impressive creativity.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Check it out &lt;a href="http://thefwa.com"&gt;here.&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-278421967864920723?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/278421967864920723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=278421967864920723&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/278421967864920723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/278421967864920723'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/08/fwa-favourite-website-awards.html' title='The FWA: Favourite Website Awards'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-8960356339101949641</id><published>2007-07-27T07:07:00.001-07:00</published><updated>2007-07-27T07:07:30.624-07:00</updated><title type='text'>Culture at Google</title><content type='html'>&lt;p&gt;I found this excellent article where a new Microsoft hire is interviewed.&amp;nbsp; However this isn't a new hire to Microsoft - but rather a former Microsoftie that ended up working for Google, and now is coming back to Microsoft.&lt;/p&gt; &lt;p&gt;Most interesting to me is the discussion points here about developer productivity.&amp;nbsp; The best part is the discussion of how Google does tech support:&amp;nbsp; there is a&amp;nbsp;"tech&amp;nbsp;stop" on each floor where anyone can go to get&amp;nbsp;a technical problem solved&amp;nbsp;or swap hardware.&amp;nbsp; They use a system to track what&amp;nbsp;hardware you are allowed to request&amp;nbsp;(based on role) and&amp;nbsp;what you have checked out.&amp;nbsp; The convenience and co-location&amp;nbsp;apparently makes for a very productive situation.&lt;/p&gt; &lt;p&gt;Additionally the interviewee claims that quite/private space is crucial to development and that Google has that wrong - this is interesting to here as I have strongly believed in private workspaces&amp;nbsp;for a long time.&lt;/p&gt; &lt;p&gt;The article also&amp;nbsp;covers the Google "20% of time on personal projects", and organizational structure (which sounds&amp;nbsp;broken to me).&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a title="http://no2google.wordpress.com/2007/06/24/life-at-google-the-microsoftie-perspective/" href="http://no2google.wordpress.com/2007/06/24/life-at-google-the-microsoftie-perspective/"&gt;http://no2google.wordpress.com/2007/06/24/life-at-google-the-microsoftie-perspective/&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-8960356339101949641?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/8960356339101949641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=8960356339101949641&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/8960356339101949641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/8960356339101949641'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/07/culture-at-google.html' title='Culture at Google'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-6074447906594189637</id><published>2007-07-24T05:11:00.001-07:00</published><updated>2007-07-24T05:11:48.325-07:00</updated><title type='text'>Microsoft Gatineau aka Microsoft adCenter</title><content type='html'>&lt;p&gt;Pictures of Microsofts up and coming adCenter (think competitor to Google Analytics for most intents and purposes) have been leaked.&amp;nbsp; You can find them &lt;a href="http://www.davidnaylor.co.uk/want-to-see-gatineau.html"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Microsoft's Ian Thomas (who works in Microsoft's Digital Advertising Solutions&amp;nbsp;group) responds on his blog &lt;a href="http://www.liesdamnedlies.com/2007/07/microsoft-gatin.html"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Its very interesting to see that Microsoft is going beyond standard web analytics capabilities and is going so far to blend in other data sources such as Microsoft Passport registration information.&amp;nbsp; This allows the analytics to show trending on metrics previously unavailable to a site.&amp;nbsp; For example if the user has logged into any Microsoft service (hotmail, MSN, MSDN, etc..) and then hits a site running MS adCenter analytics, the site will be able to see demographic data such as gender breakdown.&amp;nbsp; This applies even on data points not collected by the site, even for people that haven't registered with the site.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Its uncertain what the privacy issues are to this approach - I'm sure legally Microsoft is permitted to do this based on the user agreements for passport, however is it ethical?&lt;/p&gt; &lt;p&gt;I actually think it is - the data is kept at the aggregate level so its giving web site operators key data without being able to identify any user.&amp;nbsp; However if they want to target to this data they will need to collect the data point from user.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-6074447906594189637?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/6074447906594189637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=6074447906594189637&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/6074447906594189637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/6074447906594189637'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/07/microsoft-gatineau-aka-microsoft.html' title='Microsoft Gatineau aka Microsoft adCenter'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-5435275135997788130</id><published>2007-07-19T05:49:00.001-07:00</published><updated>2007-07-19T05:49:30.314-07:00</updated><title type='text'>Early indicators of Rich Internet Application Performance</title><content type='html'>&lt;p&gt;Intresting testing going on in the rich internet application space. &lt;/p&gt; &lt;p&gt;Follow the link to check out "&lt;a href="http://bubblemark.com/"&gt;bubblemark&lt;/a&gt;" - a test (with source code) for Silverlight, JavaFX, and Adobe AIR.&lt;/p&gt; &lt;p&gt;Here's the preliminary test results&lt;/p&gt; &lt;p&gt;JavaFX — 14 fps&lt;br&gt;Firefox + Silverlight (JavaScript) — 56 fps&lt;br&gt;Firefox + Flex — 62 fps&lt;br&gt;Adobe AIR — 62 fps&lt;br&gt;Firefox + Silverlight (CLR) — 99 fps  &lt;p&gt;&amp;nbsp;  &lt;p&gt;Pretty impressive that silverlight on CLR far outperforms the others.  &lt;p&gt;&amp;nbsp;  &lt;p&gt;Found via "&lt;a href="http://feeds.feedburner.com/~r/zdnet/Stewart/~3/135105389/"&gt;the Universal Desktop&lt;/a&gt;".  &lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-5435275135997788130?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/5435275135997788130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=5435275135997788130&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/5435275135997788130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/5435275135997788130'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/07/early-indicators-of-rich-internet.html' title='Early indicators of Rich Internet Application Performance'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-2283244047015688388</id><published>2007-07-05T08:00:00.001-07:00</published><updated>2007-07-05T08:00:28.683-07:00</updated><title type='text'>Is Software Development Engineering?</title><content type='html'>&lt;p&gt;I've heard the arguments before - usually arguments against treating software development as engineering.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;I found this post thought provoking and informative:&lt;/p&gt; &lt;p&gt;&lt;a title="http://forums.construx.com/blogs/stevemcc/archive/2007/06/28/software-engineering-ignorance-part-ii.aspx" href="http://forums.construx.com/blogs/stevemcc/archive/2007/06/28/software-engineering-ignorance-part-ii.aspx"&gt;http://forums.construx.com/blogs/stevemcc/archive/2007/06/28/software-engineering-ignorance-part-ii.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Some interesting things from this article include: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;The information available in bridge engineering is often as unknown as in software development&lt;/li&gt; &lt;ul&gt; &lt;li&gt;example:&amp;nbsp; when the Brooklyn Bridge was defined the properties of steel cables weren't well understood so a safety factor of&amp;nbsp;four was used&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Vince Porcelli points out that the cables were manufactured right down the road in Trenton, NJ&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt; &lt;li&gt;Differences in developer productivity also exist in engineering disciplines as well as all professions&lt;/li&gt; &lt;ul&gt; &lt;li&gt;example: the 80/20 rule (20% do all the work) does apply to Software Development, but also to football quarterbacks!&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt; &lt;p&gt;Engineering isn't about aligning and designing perfect information.&amp;nbsp; Engineering is about defining existing information, and planning for variation.&amp;nbsp; To me its very important to treat software development as engineering in order to plan for the variation in projects.&lt;/p&gt; &lt;p&gt;Only when there&amp;nbsp;are multiple projects of extremely high level of consistency should we move from an engineering paradigm to a manufacturing paradigm.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-2283244047015688388?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/2283244047015688388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=2283244047015688388&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/2283244047015688388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/2283244047015688388'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/07/is-software-development-engineering.html' title='Is Software Development Engineering?'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-8138160642206313927</id><published>2007-07-05T06:19:00.000-07:00</published><updated>2007-07-05T06:21:03.853-07:00</updated><title type='text'>Brian's Blog</title><content type='html'>Brian Whaley is a coworker of mine that I have recently been able to get blogging.  He's really gotten into it and has created a fantastic resource for search engine optimization (legitimate stuff) and some web analytics.&lt;br /&gt;&lt;br /&gt;You definitely should check it out:  &lt;a href="http://brianwhaley.spaces.live.com/blog/"&gt;http://brianwhaley.spaces.live.com/blog/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-8138160642206313927?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/8138160642206313927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=8138160642206313927&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/8138160642206313927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/8138160642206313927'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/07/brians-blog.html' title='Brian&apos;s Blog'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-1289966280378067335</id><published>2007-07-02T06:25:00.001-07:00</published><updated>2007-08-01T06:19:04.747-07:00</updated><title type='text'>Sometimes we have fun...</title><content type='html'>&lt;p&gt;Over the years when Jesse left the office for a day some times a new dilbert would adorn his wall for his return.&amp;nbsp; The first couple were spoofs on the one he had hung on his wall - posted in the exact location of his original (down to the exact pin holes).&amp;nbsp; Here's a couple of them:&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.jessandrob.com/rob/Sometimeswehavefun_83E4/dilbert.1.9.2005JESSE.gif" atomicselection="true"&gt;&lt;img height="130" alt="dilbert.1.9.2005 JESSE" src="http://www.jessandrob.com/rob/Sometimeswehavefun_83E4/dilbert.1.9.2005JESSE_thumb.gif" width="240"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;a href="http://www.jessandrob.com/rob/Sometimeswehavefun_83E4/dilbert.1.9.2005JESSEtake2.gif" atomicselection="true"&gt;&lt;img height="130" alt="dilbert.1.9.2005 JESSE take 2" src="http://www.jessandrob.com/rob/Sometimeswehavefun_83E4/dilbert.1.9.2005JESSEtake2_thumb.gif" width="240"&gt;&lt;/a&gt;  &lt;p&gt;&lt;a href="http://www.jessandrob.com/rob/Sometimeswehavefun_83E4/dilbert11.8.06jesse.gif" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="84" alt="dilbert 11.8.06 jesse" src="http://www.jessandrob.com/rob/Sometimeswehavefun_83E4/dilbert11.8.06jesse_thumb.gif" width="240" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-1289966280378067335?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/1289966280378067335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=1289966280378067335&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/1289966280378067335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/1289966280378067335'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/07/sometimes-we-have-fun.html' title='Sometimes we have fun...'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-600678840638860881</id><published>2007-06-13T05:45:00.001-07:00</published><updated>2007-06-13T05:45:06.206-07:00</updated><title type='text'>Participating in the Social Web</title><content type='html'>&lt;p&gt;Social networking sites are all over now, youtube,&amp;nbsp;flickr, del.icio.us, digg, blogs, podcasts, vlogs, the list goes on and&amp;nbsp;on where user generated content is king.&lt;/p&gt; &lt;p&gt;So how does a large company play into this trend?&lt;/p&gt; &lt;p&gt;Some are trying to create communities for user generated content, but I don't think this will get much traction.&amp;nbsp; I believe this approach will fail as people have some level of distrust for established companies trying to create communities - and its rightly so in my opinion.&amp;nbsp; Clearly any company must protect its interests, and open community participation will often go against the company (be it negative comments, in depth discussion of competition, bad customer service, or inaccurate reviews).&amp;nbsp; Further more establishing a community is interpreted as a deep commitment to participation - if the level of participation users expect&amp;nbsp;isn't met users will feel betrayed.&lt;/p&gt; &lt;p&gt;So if creating social networks doesn't sound like a good idea, how can companies participate (and capitalize on) "Web 2.0"&amp;nbsp;? &amp;nbsp;(I hate that term!)&lt;/p&gt; &lt;p&gt;In my opinion companies need to be come active, first class participants in social networks.&amp;nbsp; Companies should actively participate (appropriately and honestly) in select sites.&amp;nbsp; Participation in terms of creating content and joining conversations.&lt;/p&gt; &lt;p&gt;I must make sure to stress that this participation must be open and transparent - clearly identifying that it comes from the company.&lt;/p&gt; &lt;p&gt;Additionally I see big opportunities in the integration fabrics of these sites.&amp;nbsp; Embracing OpenID&amp;nbsp; and releasing gadgets for iGoogle, My Yahoo, Live, is a great opportunity to push out functionality and information to users without expecting them to join your community (lowering the bar for them to get your message).&lt;/p&gt; &lt;p&gt;Finding the most relevant communities is important - and something you need to do anyway.&amp;nbsp; Joining these communities and donating time, information, and technology to them opens a host of positive user experiences and gets information out.&amp;nbsp; Understanding these communities and offering some innovation for the user to integrate these communities into&amp;nbsp; mash ups will yield usage and positive customer interactions.&lt;/p&gt; &lt;p&gt;A large company should not try to make a web&amp;nbsp;browser, but perhaps a Firefox or IE toolbar,&amp;nbsp;or even better&amp;nbsp;it should see if there is something it could deliver via an already established IE/Firefox toolbar/add-on.&lt;/p&gt; &lt;p&gt;This is a big shift - away from trying to capture users traffic, and moving to integrating with how they want to spend their time.&amp;nbsp; A move to decentralized offerings that take advantage of single back end systems, and leveraging the user generated content without trying to control it.&amp;nbsp; Putting your content where users are already going to look for&amp;nbsp;similar content&amp;nbsp;and providing them value, lowers the barriers of entry to the user.&lt;/p&gt; &lt;p&gt;Typical web assets require the user to find the resource (which usually requires SEO, and advertising), then often the resource requires a custom set of credentials (user registration), and receiving updates requires bookmarking the site and returning, or signing up for a newsletter.&amp;nbsp; All of things are things the user likely does not want to do, and therefor raise the barrier of entry for them.&amp;nbsp; None of these barriers add value to your content - they are at best providing you information.&amp;nbsp; Clever design, and integration can remove all of these barriers.&lt;/p&gt; &lt;p&gt;Is the user really searching for your site?&amp;nbsp; Or are they searching for products&amp;nbsp; meeting some criteria?&amp;nbsp; This is why you find a cereal isle in the grocery store not a Kellogg's isle.&amp;nbsp; You find a cheese section and a salad dressing section, not a KRAFT section.&amp;nbsp; This works not just to allow consumers to cross compare, but also because they can feel informed about more choices by visiting a single location.&lt;/p&gt; &lt;p&gt;In addition to being more likely to succeed, the cost of this approach is less than the cost of creating communities.&amp;nbsp; Its an incremental and ongoing investment into the communities, rather than a big up front investment. Less money needs to be spent on design and development.&amp;nbsp; Investments can be weighed and made in much smaller increments.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Further more this approach will drive traffic to more traditional web based assets as exposure to the community will be greater, and page rankings (SEO) will be higher due to the association with the other sites (more inbound, authoritative links).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-600678840638860881?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/600678840638860881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=600678840638860881&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/600678840638860881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/600678840638860881'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/06/participating-in-social-web.html' title='Participating in the Social Web'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-6653168104885668264</id><published>2007-04-09T12:23:00.001-07:00</published><updated>2007-04-09T12:23:53.999-07:00</updated><title type='text'>Sun Reference: Web Services Interoperability Technologies</title><content type='html'>This link is incredibly useful for understanding the current state of&amp;nbsp;Java/.NET web service interoperability.  &lt;p&gt;&lt;a title="http://java.sun.com/webservices/interop/reference/tutorial/doc/index.html" href="http://java.sun.com/webservices/interop/reference/tutorial/doc/index.html"&gt;http://java.sun.com/webservices/interop/reference/tutorial/doc/index.html&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-6653168104885668264?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/6653168104885668264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=6653168104885668264&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/6653168104885668264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/6653168104885668264'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/04/sun-reference-web-services.html' title='Sun Reference: Web Services Interoperability Technologies'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-9207578791150801500</id><published>2007-03-21T13:53:00.001-07:00</published><updated>2007-03-21T13:53:38.375-07:00</updated><title type='text'>Why VISTA is WOW!</title><content type='html'>&lt;p&gt;Alot of articles slam the new Microsoft OS.&amp;nbsp; I've been an early adopter and found my self explaining to people why Vista is really worth upgrading to.&lt;/p&gt; &lt;p&gt;I just found this article which is the best explaination I've found of why Vista is so superior to XP, yet why there is a real ground breaking single feature for an end user.&amp;nbsp; The whole package is vastly superior to XP, yet each area the user touches has only minor improvements.&amp;nbsp; &lt;/p&gt; &lt;p&gt;The superiorority of Vista is what can be built on it.&lt;/p&gt; &lt;p&gt;&lt;a href="http://arstechnica.com/reviews/os/pretty-vista.ars"&gt;Here's the article that describes the difference pretty well.&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-9207578791150801500?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/9207578791150801500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=9207578791150801500&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/9207578791150801500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/9207578791150801500'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/03/why-vista-is-wow.html' title='Why VISTA is WOW!'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-8662799165257578495</id><published>2007-03-21T13:37:00.001-07:00</published><updated>2007-03-21T13:37:17.989-07:00</updated><title type='text'>Upgrading Cruisecontrol.NET from .9.2 to 1.2.1.7</title><content type='html'>&lt;p&gt;Yesterday I was asked to upgrade our CruiseControl instances from 0.9.2 to 1.2.1.&amp;nbsp; &lt;/p&gt; &lt;p&gt;They said: "&lt;em&gt;Its easy!&amp;nbsp; Just stop the service, overlay the cruisecontrol build and restart the service!"&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;"Are you sure?"&lt;/em&gt; I said.&lt;/p&gt; &lt;p&gt;&lt;em&gt;"Yeah!&amp;nbsp; We read all the release notes it will be no big deal!"&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Well, I don't trust it!&amp;nbsp; So I took a more conservative approach: I started a new directory, added cruisecontrol 1.2 to it, then copied over the ccnet.config and all the project state files.&amp;nbsp; I set cruisecontrol to a new port, and registered the service ("%system root%\Microsoft.NET\Framework\v2.0.50727\installutil.exe ccservice.exe /servicename="cruisecontrol instance name").&lt;/p&gt; &lt;p&gt;I tried starting the service in console and quickly found errors - specifically I had 2 different issues:&lt;/p&gt; &lt;p&gt;1) VSS Projects - no longer need to be quoted.&amp;nbsp; Most of our VSS paths have spaces, some have special characters.&amp;nbsp;&amp;nbsp; Previously we had to include quotes for these.&amp;nbsp; Including quotes in ccnet.config for project paths breaks cruisecontrol.&lt;/p&gt; &lt;p&gt;2) pathFilters&amp;nbsp; are used for continuous integration builds to indicate what files will not cause an automatic build to occur.&amp;nbsp; For example our build process checks in an updated assemblyinfo file so that the compiled DLL will contain the correct version, however we do not want a second build to occur just because we checked in assemblyinfo.&amp;nbsp; Previously pathFilter allowed&amp;nbsp;any number of pattern&amp;nbsp;nodes to be included.&amp;nbsp; Now each pathFilter can have only 1 node.&amp;nbsp; But you can have as many pathfilter nodes as you need.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&amp;lt;pathFilter&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;pattern&amp;gt;$/Application Code/My Application Directry Build/**&amp;lt;/pattern&amp;gt;&lt;br&gt;&amp;lt;/pathFilter&amp;gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Seems to be working now that these 2 issues have been corrected for every entry in ccnet.config.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-8662799165257578495?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/8662799165257578495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=8662799165257578495&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/8662799165257578495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/8662799165257578495'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/03/upgrading-cruisecontrolnet-from-92-to.html' title='Upgrading Cruisecontrol.NET from .9.2 to 1.2.1.7'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-975250436960090792</id><published>2007-02-08T08:58:00.000-08:00</published><updated>2007-02-23T08:46:43.676-08:00</updated><title type='text'>Installing Outlook 2007 at the office</title><content type='html'>At the office the corporate standard is actually Thunderbird, not Outlook.  There is no exchange server.  Calendar functionality is from Corptime which is now Oracle Collaboration Server.&lt;br /&gt;&lt;br /&gt;To preserve my sanity (and to sync with my i730) I run outlook using oracle's connector for outlook.  Its not wonderful, and using it to do any more than viewing my calendar is a horrible (it will create duplicate meetings at the same time as the original meeeting with all the same people invited - randomly - if I try to accept or reject meetings).  Email works well, and I just fire up the Corptime calendar tool (standalone application) to create and accept meetings.  As a standalone connected calendar, the standalone application has some nice features.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So today I finally got around to installing Outlook 2007, a coworker has been running it for a month or so.  I have been using it at home for some time, but since its now in full release it was time to leverage it for some real work (I received over 10,000 email messages at work - not counting spam, mass mailers, or vendor messages).&lt;br /&gt;&lt;br /&gt;On installation I hit similar issues to &lt;a href="http://www.hanselman.com/blog/Office2007WontUpgradeFromAPrereleaseVersionOfThe2007OfficeSystemOffice2007SetupSpelunking.aspx"&gt;Scott Hanselman &lt;/a&gt;.  I followed the same debugging process he mentioned, and found the beta software to be  "Compatibility Pack for the 2007 Office System (Beta)".&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_onl8Xq9YGEw/RctWVumJFMI/AAAAAAAAAAc/mCZkKyuPAnc/s1600-h/MS+OFFICE+Compatibility+Pack+for+2007+Office.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_onl8Xq9YGEw/RctWVumJFMI/AAAAAAAAAAc/mCZkKyuPAnc/s320/MS+OFFICE+Compatibility+Pack+for+2007+Office.JPG" alt="" id="BLOGGER_PHOTO_ID_5029208340174542018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I removed it and the install went fine... until I launched Outlook, where I was greeted with this friendly message:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_onl8Xq9YGEw/RctWLOmJFLI/AAAAAAAAAAU/HLpWihCSuXA/s1600-h/Outlook2007+cannot+start.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_onl8Xq9YGEw/RctWLOmJFLI/AAAAAAAAAAU/HLpWihCSuXA/s320/Outlook2007+cannot+start.JPG" alt="" id="BLOGGER_PHOTO_ID_5029208159785915570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A hop, skip, and a jump through google had me try to run C:/program files/Microsoft Office/Office12/scanpst.exe against all the *.pst files involved in the upgrade (after backing them up again of course).&lt;br /&gt;&lt;br /&gt;This allowed me to successfully launch Outlook, however there was only archive folders - it hadn't brought in my account settings.  Before I could go to fix this, a  dialog popped up to tell me it had detected a new email account and would I like to import it?  I said sure, just for giggles :)&lt;br /&gt;&lt;br /&gt;It then created connectivity to the imap server, and set me up with my inbox, sent items, and 60 (yes 60!) RSS Feeds folders (RSS Feeds1 ... RSS Feeds59).&lt;br /&gt;&lt;br /&gt;There is no easy way that I am aware of to mass delete folders, so I manually deleted   59 of the RSS Feeds folders.  &lt;br /&gt;&lt;br /&gt;Note: start at the bottom of the list - it will auto select upwards, then Ctrl-D with the left hand, and a click with the right hand (cursor staying put over the "yes" button) seems to be the fastest I could achieve.&lt;br /&gt;&lt;br /&gt;This left me with a pretty good inbox/archive situation, until I clicked calendar.  Sweet no meetings!  Wait, that can't be right.&lt;br /&gt;&lt;br /&gt;Sure enough the import of the new account decided I had access to a standard IMAP server with no calendar component.&lt;br /&gt;&lt;br /&gt;I then deleted the IMAP account via Tools-&gt;Accounts, and manually entered the oracle outlook connector information.&lt;br /&gt;&lt;br /&gt;This seemed to work, however with in 1 minute Outlook stopped responding.  Thanks to a well timed phone call, I even gave it more than 5 minutes to figure itself out.  I was thinking it was trying to download my calendar - but according to &lt;a href="http://www.oracle.com/technology/software/products/cs/htdocs/con_outlook_1013_README.html"&gt;this link&lt;/a&gt; I needed to reinstall the outlook connector.&lt;br /&gt;&lt;br /&gt;I subsequently reinstalled the connector, to no avail.  I then tried an older version, also to no avail.  I even tried the Oracle Connector for Windows Mobile to try to pump calendar directly to my phone upon syncing. &lt;br /&gt;&lt;br /&gt;At this point Outlook 2007 is working great for email, but no calendar for me.  Turns out my coworker doesn't have calendar working either.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-975250436960090792?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/975250436960090792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=975250436960090792&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/975250436960090792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/975250436960090792'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/02/installing-outlook-2007-at-office.html' title='Installing Outlook 2007 at the office'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_onl8Xq9YGEw/RctWVumJFMI/AAAAAAAAAAc/mCZkKyuPAnc/s72-c/MS+OFFICE+Compatibility+Pack+for+2007+Office.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-3385505271812296606</id><published>2007-02-06T06:00:00.000-08:00</published><updated>2007-02-08T05:44:49.760-08:00</updated><title type='text'>Home Computing Upgrades</title><content type='html'>2 weeks ago I upgraded my home PC to an AMD 64 X2 4600+ (dual core processor).  This made a noticeable difference over my AMD Athlon 64 3600+, amazing really for an inexpensive drop in upgrade.&lt;br /&gt;&lt;br /&gt;The difference was so significant I ordered the upgrade for Jess as well.  &lt;br /&gt;&lt;br /&gt;At the same time I finally became upgraded to a true dual-monitor solution at home, instead of just using Synergy between the desktop and the Sager 9860.  I purchased a 22" Samsung widescreen, which I ended up trading Jess for.  Jess was using a 19" and a 21.3 inch in dual monitor, but the 22" widescreen is almost exactly the same height as the 19".  So I know have two 21.3" monitors running at 1600x1200.  Its beautiful.&lt;br /&gt;&lt;br /&gt;This past weekend Jess's processor arrived.  The upgrade was nowhere near as smooth as mine.  The biggest problem is the way the heatsink connects to the motherboard.  After 4 hours of futzing with a very akward plugin location, fixing bent processor pins, and a slightly damaged heatsink clip her computer was up and running on the new processor.&lt;br /&gt;&lt;br /&gt;From there I went about upgrading both machines to Vista.  I tried going to x64 Vista, but I couldn't get a few things to work properly (sound, belkin N52, and Logitect g15 display).  This was a much better experience than XP64, but I was concerned enough I quickly gave up and ran back to x86.  The installs went very smoothly, though I am frustrated by the peripheral vendors lack of Vista drivers.  All in all the upgrade went well on both computers and everything is working (as far as I know).&lt;br /&gt;&lt;br /&gt;I am frustrated with the vendors Vista support - Vista's readiness to hit the market has been very well communicated by Microsoft and there has been plenty of time to work with Vista to be ready.   Logitech for the g15 even says XP or Vista is required, yet there is no Vista support information or driver downloads (the XP drivers and software do work). &lt;br /&gt;&lt;br /&gt;Gaming performance seems slightly reduced, however I'm expecting Nvidia will be releasing new drivers that will be more optimal for Vista.   Additionally while not too slow, upgrades for my Geforce 7800GT and Jess's Geforce 7600GT are likely on the not to distant horizon.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-3385505271812296606?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/3385505271812296606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=3385505271812296606&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/3385505271812296606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/3385505271812296606'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/02/home-computing-upgrades.html' title='Home Computing Upgrades'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-7589603544536008580</id><published>2007-02-05T05:34:00.000-08:00</published><updated>2007-02-07T13:41:31.963-08:00</updated><title type='text'>Useful Links</title><content type='html'>Prototype is a robust javascript library for doing nifty effects.   I am using it in my site redesign (which I realize is taking forever), however there is very poor documentation.  &lt;a href="http://ajaxian.com/archives/prototype-15-documentation-in-pdf"&gt;That is, until now.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codinghorror.com/blog/archives/000784.html"&gt;Why Media Center (included in Vista Home Premium) is the killer app.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also from Coding Horror, &lt;a href="http://www.codinghorror.com/blog/archives/000783.html"&gt;"The Economics of Bandwidth"&lt;/a&gt; is a good read.  I always use a train or truck full of hard drives to explain latency, but this is interesting to describe cost of transfer.&lt;br /&gt;&lt;br /&gt;A &lt;a href="http://www.from9till2.com/PermaLink.aspx?guid=59dd4b61-be85-4c1f-a8d2-6912e9ab95e2"&gt;teaser &lt;/a&gt;about Taglocity has me curious...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://coolthingoftheday.blogspot.com/2007/01/lucenenet-20-final-released.html"&gt;Luncene.NET 2.0 &lt;/a&gt;Final is released.&lt;br /&gt;&lt;br /&gt;This looks interesting: &lt;a href="http://coolthingoftheday.blogspot.com/2007/01/wfetch-14-gui-utility-for-browser-to.html"&gt;Wfetch&lt;/a&gt; not sure how it differs from Fiddler though...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geekfonts.com/"&gt;Free Fonts&lt;/a&gt; - lots of them&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.microsoft.com/technet/security/guidance/disasterrecovery/computer_investigation/default.mspx"&gt;Fundamental Computer Investigation Guide For Windows&lt;/a&gt;  SysInternals  Microsoft TechNet&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.downloadsquad.com/2007/02/03/windows-mobile-device-center-6-officially-launches/"&gt;Windows Mobile Device Center 6&lt;/a&gt; Now Vista ready.&lt;br /&gt;&lt;br /&gt;Time to laugh:  &lt;a href="http://www.bbspot.com/News/2007/02/windows-vista-upgrade-decision-flowchart.html"&gt;The Vista Upgrade Decision Flowchart&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-7589603544536008580?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/7589603544536008580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=7589603544536008580&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/7589603544536008580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/7589603544536008580'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/02/usefull-links.html' title='Useful Links'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-5856761383252624079</id><published>2007-01-30T08:50:00.000-08:00</published><updated>2007-01-30T08:54:28.616-08:00</updated><title type='text'>.NET links - openWYSIWYG and Cheat sheets</title><content type='html'>Found these 2 good links:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.openwebware.com/products/openwysiwyg/"&gt;openWYSIWYG &lt;/a&gt;-  rich editor  for the web  (similar to FreeTextbox)&lt;br /&gt;&lt;a href="http://john-sheehan.com/blog/index.php/net-cheat-sheets/"&gt;.NET Cheat Sheets&lt;/a&gt; - handy cheat sheets for working with .NET&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-5856761383252624079?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/5856761383252624079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=5856761383252624079&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/5856761383252624079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/5856761383252624079'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/01/net-links-openwysiwyg-and-cheat-sheets.html' title='.NET links - openWYSIWYG and Cheat sheets'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-78794239655290664</id><published>2007-01-26T05:45:00.000-08:00</published><updated>2007-01-26T05:56:15.175-08:00</updated><title type='text'>Experiences with Vista and my Sager 9860</title><content type='html'>I promised a while ago to write up my vista/Sager 9860 experience so here it is:&lt;br /&gt;&lt;br /&gt;I first installed Vista  Beta 2 on the Sager, I was warned by the compatibility check that the sound card would not work.  Vista installed fine, and after a small fight with the video card drivers I had a nicely functioning machine (though with no sound).  Trying to watch video would fail as it said there was no sound device. &lt;br /&gt;&lt;br /&gt;I lived with Beta 2 for a while - I quite like VISTA!  Lots of really nicely thought out features (and a few usability rough edges).&lt;br /&gt;&lt;br /&gt;I then wiped the machine and installed the RTM.  No compatibility warnings this time, but in the end still no sound.&lt;br /&gt;&lt;br /&gt;I then begun digging into the net for drivers.  I did finally find the Realtek drivers and after multiple installs of them and finding old versions and trying that I finally found a release note from Realtek stating that it would only work with version "c" of my motherboard and later.  I have version "a".  They were clear that no work would be done to get versions older than revision "c" to work with Vista.&lt;br /&gt;&lt;br /&gt;Disheartened and wanting sound I decided to try Windows Media Center Edition.  Not as slick as Vista but I don't have a media center machine and the sager has a built in tv tuner and remote.  Install went flawless, and soon I had sound!&lt;br /&gt;&lt;br /&gt;However, getting into Media Center it couldn't see my tv tuner.  So I dug into the net again and soon found out that my tv tuner was not compatible with Media Center (until a later version of the 9860....) .  I'm staying here OS wise for now - I can use the tv tuner software to record video, and Media center to play it back,  I just can't use Media Center to watch TV or record TV.&lt;br /&gt;&lt;br /&gt;Moral of the story:  the Sager 9860 I bought I never intended to use as a media center, and Vista wasn't out.  Its a few years old now so I can't be that upset that I'm not able to repurpose it the way I intended.   And buying the first revision of a motherboard (which I knew I was doing at the time) is a risky proposition.&lt;br /&gt;&lt;br /&gt;Oh well.  Time to install Vista on my desktop :)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-78794239655290664?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/78794239655290664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=78794239655290664&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/78794239655290664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/78794239655290664'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/01/experiences-with-vista-and-my-sager.html' title='Experiences with Vista and my Sager 9860'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-1163791873981470548</id><published>2007-01-26T05:42:00.000-08:00</published><updated>2007-01-26T05:43:54.447-08:00</updated><title type='text'>"Sounds" like a cup of coffee</title><content type='html'>We all know sound can effect you. Just think about jumping out of your seat in a horror movie, an effect that is usually acheived by a tense musical selection ending in a sudden drastic rise in tone, and usually some sort of flash on screen.&lt;br /&gt;&lt;br /&gt;This is basically the way &lt;a href="http://anabubula.com/node/26"&gt;this&lt;/a&gt; works.  Stefanos Karagos has unleashed this MP3 on the world that he claims has about the same effect of energizing you as a cup of coffee.&lt;br /&gt;&lt;br /&gt;I listened to the MP3 and it definitely is a interesting collection of sounds.  I can certainly see how someone would feel more alert listening to the sound, but I found it made me slightly tense.&lt;br /&gt;&lt;br /&gt;Very interesting concept to try out.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-1163791873981470548?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/1163791873981470548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=1163791873981470548&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/1163791873981470548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/1163791873981470548'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/01/sounds-like-cup-of-coffee.html' title='&quot;Sounds&quot; like a cup of coffee'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-6158147275113020177</id><published>2007-01-10T08:56:00.001-08:00</published><updated>2007-01-10T08:56:42.266-08:00</updated><title type='text'>Industry and being labeled</title><content type='html'>I find it interesting, and sometimes even slightly annoying when sales people come in from vendors and immediately labeling my projects or constraints by the industry that we're in.&lt;br /&gt;&lt;br /&gt;As in: "Well of course you will need feature X you are in the life sciences industry".&lt;br /&gt;&lt;br /&gt;This type of statement makes sence of course if feature X is somehow related to the something industry specific. My annoyance comes in when feature X is version control, separation of duties, or support for a standard or specification such as WSRP or BPEL.&lt;br /&gt;&lt;br /&gt;Of course I'm not talking about the odd comment but rather the vendor that relates everything I say to the industry. Regardless of the fact that I'm not talking about anything industry specific.&lt;br /&gt;&lt;br /&gt;I do find it commical how some vendors sales people identify themselves first and foremost with the industry vertical they are responsible for, despite not knowing anything about the industry.&lt;br /&gt;&lt;br /&gt;Sales guy: "Hi I'm Bob, I'm responsible for the health care and lifesciences customers in NY and  NJ."&lt;br /&gt;&lt;br /&gt;I always want to reply:&lt;br /&gt;"Hi Bob, I'm Rob. I am an Associatte Director of a application development team. We don't care much for NY, and health care is taken care of my HMO. Life sciences? I'm not following. We do computer sciences around here if anything...."&lt;br /&gt;&lt;br /&gt;Not supporting manufacturing or R&amp;D means my team is abstracted from the true business. While we do handle the external facing sites and there is some specific rules around that we tend to be doing fairly straight forward development - not industry specific.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-6158147275113020177?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/6158147275113020177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=6158147275113020177&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/6158147275113020177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/6158147275113020177'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/01/industry-and-being-labeled.html' title='Industry and being labeled'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-2265626013846179803</id><published>2007-01-08T07:06:00.000-08:00</published><updated>2007-01-10T08:21:34.721-08:00</updated><title type='text'>Happy New Year and all that</title><content type='html'>Welcome to 2007 :)&lt;br /&gt;&lt;br /&gt;As the new year lays ahead we have just had a re-organization at work - it will be intresting to see what changes to how we operate.&lt;br /&gt;&lt;br /&gt;Over December I spent alot of time playing World of Warcraft - I now have 3 level 60 characters.  Next week the expansion comes out and the level cap is raised to level 70.  I'm excited enough I may try to take a day or two off to play (try to get all three characters to 70).&lt;br /&gt;&lt;br /&gt;I'm considering some new hardware purchases.  I'm trying to determine if I can make a box beefy enough to run 2 copies of WoW simultaneously (dual-monitors).  I'm thinking with the dual-core processors and higher end video cards  this may well be doable (maybe gimp the graphics on one of the instances of WoW).&lt;br /&gt;&lt;br /&gt;I'm waiting on the release of Vista - I'll post about what I've tried so far soon.&lt;br /&gt;&lt;br /&gt;Service Orient architecture and the Enterprise Service Bus pattern is evolving.  We are making some traction at work, and the industry is changing.  As predicted the ESB as a product is forcing change in terminology as some of the things is the true ESB pattern are weak in the current products.  I have reviewed the offerings from Microsoft, IBM, BEA, SAP, Tibco, WebMethods, Sonic, SoftwareAG, Amberpoint, and a few others in the past 4 months.&lt;br /&gt;&lt;br /&gt;This year should be a maturation year at work.  Last year between some small organizational changes, the implementation of a limit on contractor duration, meant the vast majority of my organization was new.  This year should provide the opportunity to really hit stride and make some improvements in process and roles.&lt;br /&gt;&lt;br /&gt;I'm definitely going to spend a bit more time this year integrating things like calendar (work calendar, my calendar, and Jess's calendar).  As well as some email consolidation. &lt;br /&gt;&lt;br /&gt;Other personal projects this year (aside from my normal technical continued improvement) will be further improvements on the house (pool table, stucco repair, fence, surround sound, landscaping, window coverings) - Jess will be very involved in these projects ;)&lt;br /&gt;&lt;br /&gt;Additionally consideration for furthering formal education is underway.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-2265626013846179803?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/2265626013846179803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=2265626013846179803&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/2265626013846179803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/2265626013846179803'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2007/01/happy-new-year-and-all-that.html' title='Happy New Year and all that'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-116223117523436342</id><published>2006-10-30T09:57:00.000-08:00</published><updated>2006-10-30T09:59:35.250-08:00</updated><title type='text'>watch google video's on your mobile device</title><content type='html'>&lt;a href="http://www.srobbin.com/2006/10/19/search-and-watch-google-video-from-your-mobile-phone/"&gt;I found this article and tried it.&lt;/a&gt;  It works great!  Some of the video's I tried are little dark on my i730 but thats ok.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-116223117523436342?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/116223117523436342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=116223117523436342&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/116223117523436342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/116223117523436342'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/10/watch-google-videos-on-your-mobile.html' title='watch google video&apos;s on your mobile device'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-115938350000970861</id><published>2006-09-27T11:56:00.000-07:00</published><updated>2006-09-27T11:58:20.026-07:00</updated><title type='text'>ISO mounting tool that works in Vista</title><content type='html'>I know a couple people were looking for a tool to mount ISO images in windows Vista so I thought this would be worth posting as its rumored to work in Vista (I haven't tried it yet):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.slysoft.com/en/virtual-clonedrive.html"&gt;http://www.slysoft.com/en/virtual-clonedrive.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-115938350000970861?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/115938350000970861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=115938350000970861&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115938350000970861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115938350000970861'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/09/iso-mounting-tool-that-works-in-vista.html' title='ISO mounting tool that works in Vista'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-115928064911329080</id><published>2006-09-26T07:20:00.000-07:00</published><updated>2006-09-26T07:24:09.126-07:00</updated><title type='text'>OpenAjax Alliance</title><content type='html'>I just stumbled upon &lt;a href="http://www.openajax.org/"&gt;http://www.openajax.org/&lt;/a&gt;, which sports an impressive list of companies participating (from Sun, to Google, to SAP).&lt;br /&gt;&lt;br /&gt;It is a little concerning that Microsoft is missing from the list - Atlas is by far the most advanced Ajax framework I've seen to date.  &lt;br /&gt;&lt;br /&gt;It may be that all the players participating in OpenAjax are java oriented when it comes to the web, or it may be that Atlas is too .NET oriented and Microsoft prefers it that way.  Either way - I'm concerned.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-115928064911329080?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/115928064911329080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=115928064911329080&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115928064911329080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115928064911329080'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/09/openajax-alliance.html' title='OpenAjax Alliance'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-115921952087363766</id><published>2006-09-25T14:20:00.000-07:00</published><updated>2006-09-25T14:25:20.876-07:00</updated><title type='text'>Vista RC1</title><content type='html'>I took the plunge and loaded up VISTA RC1 on my Sager 9860 this weekend.&lt;br /&gt;&lt;br /&gt;It warned me upon checking compatibility that the sound card drivers were not compatible.   I went ahead and let it do a fresh install - I love the way it backed up Program Files, Windows, and Documents and Settings folders.  &lt;br /&gt;&lt;br /&gt;The install was flawless - but there were a ton of unrecognized hardware devices afterwords.  I installed a driver (XP version) or 3, until I got a BSOD.  After rebooting I only have one unrecognized hardware device (which is my soundcard).&lt;br /&gt;&lt;br /&gt;I'm now downloading Office 2007 - will go all out ;)&lt;br /&gt;&lt;br /&gt;I did try World of Warcraft on Vista and it seems to work perfectly.  One oddity though, I tried playing a video clip, but WMP wouldn't play it because the sound card was locked or unavailable (I'll take unavailable for $1000 Alex).&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-115921952087363766?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/115921952087363766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=115921952087363766&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115921952087363766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115921952087363766'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/09/vista-rc1.html' title='Vista RC1'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-115921909136913437</id><published>2006-09-25T14:15:00.000-07:00</published><updated>2006-09-25T14:18:11.383-07:00</updated><title type='text'>Hey Jesse - you were looking for this</title><content type='html'>&lt;a href="http://coolthingoftheday.blogspot.com/2006/09/printform-component-10-directly-print.html"&gt;PrintForm Component 1.0 - Directly Print a WinForm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A while back we had a requirement to print a WinForm (designed for a tablet PC no less), it had to print exactly like the display.  We found a few options - but even got our MS evangalist involved.  We have a solution already - but this might have been easier...&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-115921909136913437?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/115921909136913437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=115921909136913437&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115921909136913437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115921909136913437'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/09/hey-jesse-you-were-looking-for-this.html' title='Hey Jesse - you were looking for this'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-115573866507048201</id><published>2006-08-16T07:29:00.000-07:00</published><updated>2006-08-16T07:31:05.093-07:00</updated><title type='text'>More than I realized</title><content type='html'>Here is a great &lt;a href="http://bhandler.spaces.live.com/blog/cns!70F64BC910C9F7F3!1231.entry"&gt;post&lt;/a&gt; of some free software from Microsoft that you may or may not have heard of.&lt;br /&gt;&lt;br /&gt;I was using a few of these (like TweakUI and the Alt-Tab replacement) but there are a few I'd like to play with.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-115573866507048201?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/115573866507048201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=115573866507048201&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115573866507048201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115573866507048201'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/08/more-than-i-realized.html' title='More than I realized'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-115573552991270485</id><published>2006-08-16T06:33:00.000-07:00</published><updated>2006-08-16T06:38:49.946-07:00</updated><title type='text'>Virtual Keybord and Mouse switcher</title><content type='html'>I just recently got my Sager 9860 back, so now I have 2 computers on my desk (3 if you count my work laptop).  I love dual monitor setups and was looking for a good solution to leveraging the laptop as a second monitor.  &lt;br /&gt;&lt;br /&gt;I want to work accross 2 monitors, but not necessarily only leverage 1 machine, being I have the laptop their it makes sense to harness its computing power.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://synergy2.sourceforge.net/"&gt;This&lt;/a&gt; looks like the answer.  Synergy allows you to mouse from machine to machine just like you would mouse accross monitors in a dual-display scenario.  Whichever display gets mouse focus also gets keyboard focus, and it even centralizes the clipboard so you can cut and paste  between machines.&lt;br /&gt;&lt;br /&gt;I'm looking forward to trying it out!&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-115573552991270485?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/115573552991270485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=115573552991270485&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115573552991270485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115573552991270485'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/08/virtual-keybord-and-mouse-switcher.html' title='Virtual Keybord and Mouse switcher'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-115573433278512158</id><published>2006-08-16T06:17:00.000-07:00</published><updated>2006-08-16T06:18:52.800-07:00</updated><title type='text'>InstallPad</title><content type='html'>Ok - this looks worth trying out:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.installpad.com/"&gt;InstallPad&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Designed for setting up a new system, its basically a download manager with some ability to find the latest versions of software.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-115573433278512158?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/115573433278512158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=115573433278512158&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115573433278512158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115573433278512158'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/08/installpad.html' title='InstallPad'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-115152410300044455</id><published>2006-06-28T12:45:00.001-07:00</published><updated>2006-06-28T12:48:23.000-07:00</updated><title type='text'>Confrence Calls and iBox JS</title><content type='html'>Today was filled with confrence calls, which enabled me to read a few articles out of my blog reading backlock.  This lead to &lt;a href="http://www.ibegin.com/ibox/ibox-test.html"&gt;this link&lt;/a&gt; which is definitely something I would like to try out.&lt;br /&gt;&lt;br /&gt;iBox is a javascript library that allows you to overlay items on your existing page - the link above is some excellent key usages: namely photo's (click the thumbnail and see the picture), and login screens (click login and the login prompt is overlayed).&lt;br /&gt;&lt;br /&gt;Nice and small, and non-js compatible.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-115152410300044455?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/115152410300044455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=115152410300044455&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115152410300044455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115152410300044455'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/06/confrence-calls-and-ibox-js.html' title='Confrence Calls and iBox JS'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-115022474867786421</id><published>2006-06-13T11:51:00.000-07:00</published><updated>2006-06-13T12:49:40.293-07:00</updated><title type='text'>Woohoo i730 goes WM5</title><content type='html'>http://www.pdaphonehome.com/forums/showthread.php?t=73071&lt;br /&gt;&lt;br /&gt;I'm *so* excited!   Please look for post 246....&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-115022474867786421?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/115022474867786421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=115022474867786421&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115022474867786421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/115022474867786421'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/06/woohoo-i730-goes-wm5.html' title='Woohoo i730 goes WM5'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-114771445737654143</id><published>2006-05-15T10:29:00.000-07:00</published><updated>2006-05-15T10:34:17.396-07:00</updated><title type='text'>RSS as an ESB?</title><content type='html'>Not a joke... &lt;br /&gt;&lt;a href="http://www.rssbus.com/"&gt;http://www.rssbus.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But I don't think I'll recommend it for enterprise consumption just yet...&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-114771445737654143?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/114771445737654143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=114771445737654143&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/114771445737654143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/114771445737654143'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/05/rss-as-esb.html' title='RSS as an ESB?'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-114726568159947748</id><published>2006-05-10T05:41:00.000-07:00</published><updated>2006-06-19T07:21:15.936-07:00</updated><title type='text'>Good Links</title><content type='html'>From the patterns and practices team at Microsoft: &lt;a href="http://www.gotdotnet.com/codegallery/codegallery.aspx?id=6fde9247-53a8-4879-853d-500cd2d97a83"&gt;&lt;br /&gt;Link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Interesting article on solving XSD versioning: &lt;a href="http://pluralsight.com/blogs/tewald/archive/2006/04/14/21733.aspx"&gt; link &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ajax Resource List: &lt;a href="http://www.maxkiesler.com/index.php/weblog/comments/round_up_of_50_ajax_toolkits_and_frameworks/" entry=""&gt; link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Managing - Smart Teams &amp;amp; Micromanagers: &lt;a href="http://www.innovationcreators.com/2006/04/micromanagers_bureaucracies_vs.html"&gt; link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-114726568159947748?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/114726568159947748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=114726568159947748&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/114726568159947748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/114726568159947748'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/05/good-links.html' title='Good Links'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-114607986945017877</id><published>2006-04-26T12:30:00.000-07:00</published><updated>2006-04-26T12:31:09.466-07:00</updated><title type='text'>Awesome</title><content type='html'>&lt;a href="http://www.engadget.com/2006/04/20/miller-to-introduce-self-cooling-beer-cans-next-year/"&gt;Self Chilling Beer Cans!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-114607986945017877?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/114607986945017877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=114607986945017877&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/114607986945017877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/114607986945017877'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/04/awesome.html' title='Awesome'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-114418933101290137</id><published>2006-04-04T15:20:00.000-07:00</published><updated>2006-06-19T05:52:56.943-07:00</updated><title type='text'>Very Cool - Onfolio</title><content type='html'>Onfolio is the blog reader I currently use (Onfolio Professional) - I'm excited to relay an email I just receivied from them (however I am not eligible for the refund):&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Dear Onfolio Customer,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We are writing you to let you know that on March 8th, 2006, Onfolio was acquired by Microsoft. As the developers of Onfolio, we are very excited about the opportunity we now have bring Onfolio to a wide audience of PC users. As customers of Onfolio, we are sure that you have questions and concerns about the acquisition. To help answer these questions, the Onfolio web site has been updated with information about the acquisition as well as information about a new free version of Onfolio for the Microsoft Windows Live Toolbar. We encourage you to read through this information and contact us if you have any questions or concerns.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Information about the Acquisition&lt;br /&gt;&lt;br /&gt;Go to this page for frequently asked questions about activation, customer support and other details related to the Microsoft acquisition.&lt;br /&gt;&lt;br /&gt;http://www.onfolio.com/company/acquisition_info.cfm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Information about the Onfolio Add-in for Windows Live Toolbar&lt;br /&gt;&lt;br /&gt;Use this page to learn about the new version of Onfolio for the Windows Live Toolbar. Note: Please uninstall previous versions of Onfolio prior to installing the Onfolio Add-in for Windows Live Toolbar.&lt;br /&gt;&lt;br /&gt;http://www.onfolio.com/product/toolbaraddin&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Information about Refunds&lt;br /&gt;&lt;br /&gt;Since Onfolio is now free, people who purchased Onfolio on or after December 8th, 2005 are eligible for a refund. To sign-up for your refund, please fill out the refund request form below before May 1st, 2006.&lt;br /&gt;&lt;br /&gt;http://www.onfolio.com/purchase/refundrequest.cfm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All of us at Onfolio want to thank you for purchasing Onfolio, and for helping us make it better though your comments and feedback. We look forward to taking Onfolio forward as a Microsoft product and continuing to make it better. Please send questions or comments to info@onfolio.com.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-Sebastian and the Onfolio Team&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-114418933101290137?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/114418933101290137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=114418933101290137&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/114418933101290137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/114418933101290137'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/04/very-cool-onfolio.html' title='Very Cool - Onfolio'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-114416965020015998</id><published>2006-04-04T09:53:00.000-07:00</published><updated>2006-04-04T09:54:10.200-07:00</updated><title type='text'>Vail, Colorado</title><content type='html'>I'm excited to share I'll be attending the Microsoft National Architects Confrence in Vail, Colorado the week of April 18th.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-114416965020015998?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/114416965020015998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=114416965020015998&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/114416965020015998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/114416965020015998'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/04/vail-colorado.html' title='Vail, Colorado'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-114416956384069747</id><published>2006-04-04T09:51:00.000-07:00</published><updated>2006-04-04T09:52:43.853-07:00</updated><title type='text'>Todays Topic: Usability</title><content type='html'>Good links:&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.centraldesktop.com/index.php?entry=entry060403-214628"&gt;The Good in Email&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.sensible.com/chapter.html"&gt;Sample Chapter: Don't Make Me Think&lt;/a&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;**Posted to internal blog as well - appologies to dual subscribers.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-114416956384069747?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/114416956384069747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=114416956384069747&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/114416956384069747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/114416956384069747'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/04/todays-topic-usability.html' title='Todays Topic: Usability'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-114176043043832221</id><published>2006-03-07T11:39:00.000-08:00</published><updated>2006-03-07T11:41:27.806-08:00</updated><title type='text'>get windows update back</title><content type='html'>New work machine.  Windows update blocked by policy.&lt;br /&gt;&lt;br /&gt;I'm taking control back, little by little.&lt;br /&gt;&lt;br /&gt;http://www.dougknox.com/xp/scripts_desc/xp_winupd_netpolicy.htm&lt;br /&gt;&lt;br /&gt;nice little vbs script.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-114176043043832221?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/114176043043832221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=114176043043832221&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/114176043043832221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/114176043043832221'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/03/get-windows-update-back.html' title='get windows update back'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-114070261344633016</id><published>2006-02-23T05:47:00.000-08:00</published><updated>2006-02-23T05:50:13.456-08:00</updated><title type='text'>All about the pretty's</title><content type='html'>Here's some nice food for though when developing applications and selecting icons:&lt;br /&gt;&lt;a href="http://www.codinghorror.com/blog/archives/000523.html"&gt;http://www.codinghorror.com/blog/archives/000523.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-114070261344633016?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/114070261344633016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=114070261344633016&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/114070261344633016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/114070261344633016'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/02/all-about-prettys.html' title='All about the pretty&apos;s'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113890995688371425</id><published>2006-02-02T11:51:00.000-08:00</published><updated>2006-02-02T11:52:36.896-08:00</updated><title type='text'>Snippy</title><content type='html'>not to be consfused with Clippy....&lt;br /&gt;&lt;br /&gt;This seems to be fairly useful for VS2005:&lt;br /&gt;&lt;a href="http://http://www.visualstudiohacks.com/snippy"&gt;http://http://www.visualstudiohacks.com/snippy&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113890995688371425?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113890995688371425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113890995688371425&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113890995688371425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113890995688371425'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/02/snippy.html' title='Snippy'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113863951244842297</id><published>2006-01-30T08:38:00.000-08:00</published><updated>2006-01-30T08:45:12.480-08:00</updated><title type='text'>New Machine</title><content type='html'>Got some upgrades for Jess and a new desktop for me for at home.&lt;br /&gt;&lt;br /&gt;Jess's upgrades:&lt;br /&gt;Samsung 21.3" 214T montior&lt;br /&gt;GForce 6600GT 128mb video card&lt;br /&gt;Logitech Wireless Trackball&lt;br /&gt;&lt;br /&gt;My New PC:&lt;br /&gt;Samsung 21.3" 214T montior&lt;br /&gt;Antec SonantaII case&lt;br /&gt;Asus A8N-E&lt;br /&gt;AMD 64 3700+&lt;br /&gt;Gforce 7800GT CO&lt;br /&gt;1 GB X 2 Ram (total 2GB)&lt;br /&gt;300Gb SATA2 HD with 16MB Cache&lt;br /&gt;Logitech cordless desktop MX3100&lt;br /&gt;NEC DVD+/-RW&lt;br /&gt;&lt;br /&gt;Got everything running this weekend - no issues at all.  The monitors are amazing. &lt;br /&gt;The Antec Case is very nice and has everything running very cool (CPU ~30-35 degrees Celcius).&lt;br /&gt;&lt;br /&gt;We may utilize EVGA's upgrade window on Jess's video card.  Its not quite enough to crank up WOW at 1600X1200 with high detail.  I'll try tweaking it some more before we go that route though.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113863951244842297?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113863951244842297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113863951244842297&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113863951244842297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113863951244842297'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/01/new-machine.html' title='New Machine'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113863816609824184</id><published>2006-01-30T08:15:00.000-08:00</published><updated>2006-01-30T08:22:46.100-08:00</updated><title type='text'>Sager 9860</title><content type='html'>Recently I've had a few issues with my Sager 9860.&lt;br /&gt;&lt;br /&gt;While doing anything significant the laptop began to freeze or simply reboot.  I didn't update any drivers so I guessed heat was the issue.&lt;br /&gt;&lt;br /&gt;Opened it up and cleaned it out mostly corrected it (lots of crud on fans and heatsinks - yuck!). &lt;br /&gt;&lt;br /&gt;Its really nice to work on - easy access to everything, even under the keyboard. Wow. &lt;br /&gt;&lt;br /&gt;Still it was rebooting (although much less frequently).&lt;br /&gt;&lt;br /&gt;Opened it up again, cleaned it more throughly, and new ArticSilver5 on the CPU and GPU.  Then it didn't want to boot.  Yikes!&lt;br /&gt;&lt;br /&gt;Next day I opened it all back up, redid the thermal compound on CPU and GPU, and its back to booting.  Bluetooth is now not working reliably.&lt;br /&gt;&lt;br /&gt;Installed Mobile Monitor during this process - it reboots if the CPU hits 71 degrees celcius or so.  After the first cleaning it was getting up there, but after the second its mostly staying around 50-55.&lt;br /&gt;&lt;br /&gt;However now it reboots if it gets jarred at all (a quarter inch drop when setting it down will cause a reboot).  And since the internal bluetooth isn't working (finds the BT mouse and looses it 30 seconds later) I beleive I'm going to have to send it in for service.&lt;br /&gt;&lt;br /&gt;Kudo's to the machine though - its been used about 10 hours a day (work, school, and gaming) for over a year before any problems.  We'll see how the warranty service is.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113863816609824184?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113863816609824184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113863816609824184&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113863816609824184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113863816609824184'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/01/sager-9860.html' title='Sager 9860'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113863769790122938</id><published>2006-01-30T08:14:00.000-08:00</published><updated>2006-01-30T08:14:57.916-08:00</updated><title type='text'>Wilson ORMapper update</title><content type='html'>Version 4.2.1.o was released last week!&lt;a href="http://weblogs.asp.net/pwilson/archive/2006/01/24/436388.aspx"&gt;http://weblogs.asp.net/pwilson/archive/2006/01/24/436388.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113863769790122938?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113863769790122938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113863769790122938&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113863769790122938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113863769790122938'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/01/wilson-ormapper-update.html' title='Wilson ORMapper update'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113631590183470029</id><published>2006-01-03T11:17:00.000-08:00</published><updated>2006-01-03T11:18:21.846-08:00</updated><title type='text'>CSS replacement for table with borders</title><content type='html'>I like this approach:&lt;br /&gt;&lt;br /&gt;http://donxml.com/allthingstechie/archive/2005/12/28/2392.aspx&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113631590183470029?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113631590183470029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113631590183470029&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113631590183470029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113631590183470029'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2006/01/css-replacement-for-table-with-borders.html' title='CSS replacement for table with borders'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113517763978998285</id><published>2005-12-21T07:06:00.000-08:00</published><updated>2005-12-21T07:07:19.803-08:00</updated><title type='text'>Digg Spy</title><content type='html'>Now this is cool:  &lt;a href="http://digg.com/spy"&gt;Digg Spy&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113517763978998285?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113517763978998285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113517763978998285&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113517763978998285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113517763978998285'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/12/digg-spy.html' title='Digg Spy'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113500058693855540</id><published>2005-12-19T05:56:00.000-08:00</published><updated>2005-12-19T05:56:27.003-08:00</updated><title type='text'>Ouch - IE Fubar'd....</title><content type='html'>Turns out the IE team already has the answer... &lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/ie/archive/2005/12/16/504864.aspx"&gt;http://blogs.msdn.com/ie/archive/2005/12/16/504864.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113500058693855540?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113500058693855540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113500058693855540&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113500058693855540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113500058693855540'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/12/ouch-ie-fubard.html' title='Ouch - IE Fubar&apos;d....'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113449176910497818</id><published>2005-12-13T08:36:00.000-08:00</published><updated>2005-12-13T08:36:09.150-08:00</updated><title type='text'>snippy - code snippet editor</title><content type='html'>Very cool little util &lt;a href="http://www.gotdotnet.com/codegallery/codegallery.aspx?id=b0813ae7-466a-43c2-b2ad-f87e4ee6bc39"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;found via &lt;a href="http://www.peterprovost.org/archive/2005/12/08/10028.aspx"&gt;Geek Notes&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113449176910497818?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113449176910497818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113449176910497818&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113449176910497818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113449176910497818'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/12/snippy-code-snippet-editor.html' title='snippy - code snippet editor'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113232333792860666</id><published>2005-11-18T06:15:00.000-08:00</published><updated>2005-11-18T08:47:25.246-08:00</updated><title type='text'>Verizon SOA story...</title><content type='html'>Worth reading:  &lt;a href="http://www.infoworld.com/article/05/11/07/45FEsoacaseverizon_1.html"&gt;Verizon SOA&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113232333792860666?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113232333792860666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113232333792860666&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113232333792860666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113232333792860666'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/11/verizon-soa-story.html' title='Verizon SOA story...'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113232313100275853</id><published>2005-11-18T06:11:00.000-08:00</published><updated>2005-11-18T06:12:11.003-08:00</updated><title type='text'>WebService .NET reference table</title><content type='html'>&lt;a href="http://blogs.thinktecture.com/cweyer/archive/2005/10/19/414273.aspx"&gt;Christian Weyer on a roll.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113232313100275853?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113232313100275853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113232313100275853&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113232313100275853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113232313100275853'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/11/webservice-net-reference-table.html' title='WebService .NET reference table'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113232279262033437</id><published>2005-11-18T06:06:00.000-08:00</published><updated>2005-11-18T06:09:26.956-08:00</updated><title type='text'>Kirk Allen Evans' Blog : Modify a Web Service's WSDL Using a SoapExtensionReflector</title><content type='html'>&lt;a href="http://blogs.msdn.com/kaevans/archive/2005/11/16/493496.aspx"&gt;Kirk Allen Evans' Blog : Modify a Web Service's WSDL Using a SoapExtensionReflector&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;... Thanks Kirk, but ouch!&lt;br /&gt;&lt;br /&gt;update:  &lt;a href="http://blogs.thinktecture.com/cweyer/archive/2005/11/16/414319.aspx"&gt;Christian Weyer has something similar:&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113232279262033437?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.msdn.com/kaevans/archive/2005/11/16/493496.aspx' title='Kirk Allen Evans&apos; Blog : Modify a Web Service&apos;s WSDL Using a SoapExtensionReflector'/><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113232279262033437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113232279262033437&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113232279262033437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113232279262033437'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/11/kirk-allen-evans-blog-modify-web.html' title='Kirk Allen Evans&apos; Blog : Modify a Web Service&apos;s WSDL Using a SoapExtensionReflector'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113232251629361886</id><published>2005-11-18T06:01:00.000-08:00</published><updated>2005-11-18T06:01:56.336-08:00</updated><title type='text'>Media Nirvana - note to a friend</title><content type='html'>Speaking to someone yesterday who had some great idea's about media enablement/control.  But I think they've been covered already:&lt;br /&gt;&lt;br /&gt;ex: &lt;a href="http://spaces.msn.com/members/mike/Blog/cns!1pG4qKNdtRA5Nl-UhvZI_1rQ!4646.entry"&gt;Media Nirvana - XBOX360 and ORB&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and&lt;br /&gt;&lt;br /&gt;&lt;a href="http://radio.weblogs.com/0001011/2005/09/19.html#a11182"&gt;slingbox&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;lastly - not quite as freeing:&lt;br /&gt;&lt;a href="https://www3.tivo.com/tivo-tco/index.do"&gt;tivo online scheduling&lt;/a&gt; and &lt;a href="http://www.tivo.com/4.9.19.asp"&gt;Tivo to go&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hope this note gets you a little closer to media nirvana...  ;)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113232251629361886?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113232251629361886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113232251629361886&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113232251629361886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113232251629361886'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/11/media-nirvana-note-to-friend.html' title='Media Nirvana - note to a friend'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113217540772870347</id><published>2005-11-16T13:10:00.000-08:00</published><updated>2005-11-16T13:10:07.780-08:00</updated><title type='text'>VSTS Diagrams</title><content type='html'>Check out &lt;a href="http://www.drp.co.za/default.asp?id=technologies/content_technologies_UnderReview"&gt;this&lt;/a&gt; link for 2 usefull VSTS diagrams:  security mapping and single server install guide.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113217540772870347?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113217540772870347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113217540772870347&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113217540772870347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113217540772870347'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/11/vsts-diagrams.html' title='VSTS Diagrams'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113206579614310098</id><published>2005-11-15T06:43:00.000-08:00</published><updated>2005-11-15T06:43:16.196-08:00</updated><title type='text'>Kirk Allen Evans' Blog : Customizing ASP.NET Membership and Profile: What Goes Where?</title><content type='html'>Kirk Allen Evan's digs a little deeper into the new ASP.NET Membership and Profile:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/kaevans/archive/2005/11/10/491514.aspx"&gt;http://blogs.msdn.com/kaevans/archive/2005/11/10/491514.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113206579614310098?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113206579614310098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113206579614310098&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113206579614310098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113206579614310098'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/11/kirk-allen-evans-blog-customizing.html' title='Kirk Allen Evans&apos; Blog : Customizing ASP.NET Membership and Profile: What Goes Where?'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113199343592318155</id><published>2005-11-14T10:37:00.000-08:00</published><updated>2005-11-15T10:31:15.230-08:00</updated><title type='text'>CCNet 1.0 Final Release Notes - Confluence</title><content type='html'>&lt;a href="http://confluence.public.thoughtworks.org/display/CCNET/CCNet+1.0+Final+Release+Notes"&gt;CC.NET Release Notes for 1.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cruise control is now at 1.0.  Time to upgrade the server at work....&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113199343592318155?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113199343592318155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113199343592318155&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113199343592318155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113199343592318155'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/11/ccnet-10-final-release-notes.html' title='CCNet 1.0 Final Release Notes - Confluence'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113180840505783366</id><published>2005-11-12T07:13:00.000-08:00</published><updated>2005-11-12T07:13:25.103-08:00</updated><title type='text'>Selenium - Functional Testing Framework For Web Applications</title><content type='html'>Apparently DonXML is suprised he missed the release of Selenium from thought works, but I only heard about it from him - So Don, you're not so far behind ;)&lt;br /&gt;&lt;br /&gt;Looks like a very interesting piece in the Web Application testing puzzle.  Here's the link to Don's post with more info:&lt;br /&gt;&lt;br /&gt;http://donxml.com/allthingstechie/archive/2005/11/11/2271.aspx&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113180840505783366?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113180840505783366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113180840505783366&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113180840505783366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113180840505783366'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/11/selenium-functional-testing-framework.html' title='Selenium - Functional Testing Framework For Web Applications'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113113446266489949</id><published>2005-11-04T11:48:00.000-08:00</published><updated>2005-11-04T12:01:02.676-08:00</updated><title type='text'>when we get there</title><content type='html'>VisualStudioTeamSystem + enterprise = more than Microsoft too!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.teamprise.com/index.html"&gt;http://www.teamprise.com/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Can't loose this link ...&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113113446266489949?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113113446266489949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113113446266489949&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113113446266489949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113113446266489949'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/11/when-we-get-there.html' title='when we get there'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113112146786665069</id><published>2005-11-04T08:23:00.000-08:00</published><updated>2005-11-04T08:24:27.866-08:00</updated><title type='text'>VSTS meet CruiseControl</title><content type='html'>&lt;a href="http://vstsplugins.sourceforge.net/index.php/archives/news/2005/8"&gt;http://vstsplugins.sourceforge.net/index.php/archives/news/2005/8&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113112146786665069?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113112146786665069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113112146786665069&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113112146786665069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113112146786665069'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/11/vsts-meet-cruisecontrol.html' title='VSTS meet CruiseControl'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113112130932141287</id><published>2005-11-04T08:21:00.000-08:00</published><updated>2005-11-04T08:21:49.336-08:00</updated><title type='text'>O/R Mapper Essay</title><content type='html'>&lt;a href="http://www.matshelander.com/Weblog/DisplayLogEntry.aspx?LogEntryID=80"&gt;http://www.matshelander.com/Weblog/DisplayLogEntry.aspx?LogEntryID=80&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;long but good read&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113112130932141287?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113112130932141287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113112130932141287&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113112130932141287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113112130932141287'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/11/or-mapper-essay.html' title='O/R Mapper Essay'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113103203131943956</id><published>2005-11-03T07:33:00.000-08:00</published><updated>2005-11-03T07:33:51.330-08:00</updated><title type='text'>atlas blog</title><content type='html'>&lt;a href="http://www.wilcob.com/wilco/Default.aspx"&gt;http://www.wilcob.com/wilco/Default.aspx&lt;/a&gt; - not to be missed...&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113103203131943956?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113103203131943956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113103203131943956&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113103203131943956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113103203131943956'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/11/atlas-blog.html' title='atlas blog'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113051012440287389</id><published>2005-10-28T07:30:00.000-07:00</published><updated>2005-10-28T07:35:24.413-07:00</updated><title type='text'>javascript notes</title><content type='html'>&lt;a href="http://moofx.mad4milk.net/#introduction"&gt;http://moofx.mad4milk.net/#introduction&lt;/a&gt;&lt;br /&gt;&lt;a href="http://prototype.conio.net/"&gt;http://prototype.conio.net/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://script.aculo.us/"&gt;http://script.aculo.us/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://openrico.org/rico/demos.page"&gt;http://openrico.org/rico/demos.page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113051012440287389?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113051012440287389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113051012440287389&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113051012440287389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113051012440287389'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/10/javascript-notes.html' title='javascript notes'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113050330192277595</id><published>2005-10-28T05:41:00.000-07:00</published><updated>2005-10-28T05:41:41.970-07:00</updated><title type='text'>Christian Weyer: Smells like service spirit : WS-* support on the .NET platform</title><content type='html'>Fantastic reference table:&lt;br /&gt;&lt;br /&gt;http://blogs.thinktecture.com/cweyer/archive/2005/10/19/414273.aspx&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113050330192277595?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113050330192277595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113050330192277595&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113050330192277595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113050330192277595'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/10/christian-weyer-smells-like-service.html' title='Christian Weyer: Smells like service spirit : WS-* support on the .NET platform'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-113027874045979588</id><published>2005-10-25T12:46:00.000-07:00</published><updated>2005-10-25T15:19:00.513-07:00</updated><title type='text'>Case you missed them</title><content type='html'>links:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://microsoft.sitestream.com/PDC05/"&gt;http://microsoft.sitestream.com/PDC05/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wilcob.com/AtlasClassBrowser/"&gt;http://www.wilcob.com/AtlasClassBrowser/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pdaphonehome.com"&gt;http://www.pdaphonehome.com&lt;/a&gt; - Samsung i730 FAQ updated...&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-113027874045979588?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/113027874045979588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=113027874045979588&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113027874045979588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/113027874045979588'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/10/case-you-missed-them.html' title='Case you missed them'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-112984232796444987</id><published>2005-10-20T14:04:00.000-07:00</published><updated>2005-10-20T14:05:27.970-07:00</updated><title type='text'>the ever present web problem</title><content type='html'>back button, forward button.... bookmark....&lt;br /&gt;&lt;br /&gt;dynamic apps make it difficult for these items. &lt;br /&gt;&lt;br /&gt;Possible solution:&lt;br /&gt;&lt;a href="http://codinginparadise.org/projects/dhtml_history/README.html"&gt;http://codinginparadise.org/projects/dhtml_history/README.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-112984232796444987?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/112984232796444987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=112984232796444987&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112984232796444987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112984232796444987'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/10/ever-present-web-problem.html' title='the ever present web problem'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-112981450865293917</id><published>2005-10-20T06:21:00.000-07:00</published><updated>2005-10-20T06:21:48.656-07:00</updated><title type='text'>definitely impressive</title><content type='html'>Vision  and execution.  Colour me impressed.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://osx.portraitofakite.com/logon.htm"&gt;http://osx.portraitofakite.com/logon.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-112981450865293917?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://osx.portraitofakite.com/logon.htm' title='definitely impressive'/><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/112981450865293917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=112981450865293917&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112981450865293917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112981450865293917'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/10/definitely-impressive.html' title='definitely impressive'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-112965847831424903</id><published>2005-10-18T11:00:00.000-07:00</published><updated>2005-10-18T11:01:18.316-07:00</updated><title type='text'>atlas and 2005</title><content type='html'>After being much wow'd at NJ Code camp on Saturday by web parts and authentication models, and continuing to drool over start.com, I've resolved to sharpen my knowledge on these through revamping my site.&lt;br /&gt;&lt;br /&gt;hence a bookmark to myself on atlas:  &lt;a href="http://www.nikhilk.net/Entry.aspx?id=94"&gt;http://www.nikhilk.net/Entry.aspx?id=94&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-112965847831424903?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/112965847831424903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=112965847831424903&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112965847831424903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112965847831424903'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/10/atlas-and-2005.html' title='atlas and 2005'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-112965832919440250</id><published>2005-10-18T10:58:00.000-07:00</published><updated>2005-10-18T10:58:49.200-07:00</updated><title type='text'>Blog usability</title><content type='html'>Yep its official my blog breaks every usaiblity rule:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.useit.com/alertbox/weblogs.html"&gt;http://www.useit.com/alertbox/weblogs.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Oh well.  I'll fix it...soon....maybe.... ok someday...&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-112965832919440250?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/112965832919440250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=112965832919440250&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112965832919440250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112965832919440250'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/10/blog-usability.html' title='Blog usability'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-112885991263767633</id><published>2005-10-09T05:02:00.000-07:00</published><updated>2005-10-09T05:11:52.643-07:00</updated><title type='text'>British Library</title><content type='html'>Amazing - the British Library has put some books on line (not incedible alone), including a notebook by Da Vinci (cool content).&lt;br /&gt;&lt;br /&gt;The book viewer shows you the book itself (you actually "flip" the pages), and there is even a "maginfying glass" available. (enrich the user experience)&lt;br /&gt;&lt;br /&gt;Lastly the page is enriched further with optional audio and text. (extend and enrich the content).&lt;br /&gt;&lt;br /&gt;What a great site.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-112885991263767633?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.bl.uk/onlinegallery/ttp/ttpbooks.html' title='British Library'/><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/112885991263767633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=112885991263767633&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112885991263767633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112885991263767633'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/10/british-library.html' title='British Library'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-112869091699339537</id><published>2005-10-07T06:07:00.000-07:00</published><updated>2005-10-07T06:15:16.993-07:00</updated><title type='text'>Gartner AD Confrence Tracks</title><content type='html'>The Gartner Applicaiton Development confrence was devided into 4 primary tracks:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;application life cycle for SOA&lt;/li&gt;&lt;li&gt;AD resource management&lt;/li&gt;&lt;li&gt;modernization and integration&lt;/li&gt;&lt;li&gt;AD governance and control&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;This is a pretty good deliniation of the industry if you accept the SOA pill.  Specifically SOA presents new demands on application development both in how applications are developed and managed, how existing assets can be leveraged, new roles required, and environment challenges like SOX and ever increasing security threats.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-112869091699339537?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/112869091699339537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=112869091699339537&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112869091699339537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112869091699339537'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/10/gartner-ad-confrence-tracks.html' title='Gartner AD Confrence Tracks'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-112869042117218450</id><published>2005-10-07T06:06:00.000-07:00</published><updated>2005-10-07T06:07:01.180-07:00</updated><title type='text'>First an ambient orb now a lava lamp</title><content type='html'>we may well need to implement this....&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-112869042117218450?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.engadget.com/entry/1234000793062066/' title='First an ambient orb now a lava lamp'/><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/112869042117218450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=112869042117218450&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112869042117218450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112869042117218450'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/10/first-ambient-orb-now-lava-lamp.html' title='First an ambient orb now a lava lamp'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-112655992055679152</id><published>2005-09-12T14:09:00.000-07:00</published><updated>2005-10-07T06:07:31.760-07:00</updated><title type='text'>Gartner AD summit arrival - non technical</title><content type='html'>The confrence is in grapevine TX, right near Dallas.&lt;br /&gt;&lt;br /&gt;As my wife is joining me on this trip we decided to fly into Austin and drive to Dallas. I lived in Austin for a whe, andwanted to sow her some of my old haunts.&lt;br /&gt;&lt;br /&gt;We were unable to carve out much time for Austin, and rain dampened some of the experience, but I was able to show my wife enough she'll be eager to go back.&lt;br /&gt;&lt;br /&gt;If you get to Austin:&lt;br /&gt;Rudy's BBQ&lt;br /&gt;Oasis on lake travis&lt;br /&gt;6th street at night&lt;br /&gt;4th street too&lt;br /&gt;hills on north Austin (arboretum area).&lt;br /&gt;&lt;br /&gt;I also will be looking for a chance to get back to San Antonio.&lt;br /&gt;&lt;br /&gt;The drive from Austin to Dallas was smooth, although there was an accident requiring 2 medivac helicopters, which had I-35 shut dow both ways for a short strech.&lt;br /&gt;&lt;br /&gt;The confrence is at a very nice, and huge resort and convention center; the Gaylord Texan.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-112655992055679152?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/112655992055679152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=112655992055679152&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112655992055679152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112655992055679152'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/09/gartner-ad-summit-arrival-non.html' title='Gartner AD summit arrival - non technical'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6954742.post-112655931146740682</id><published>2005-09-12T13:56:00.000-07:00</published><updated>2005-09-12T14:08:31.473-07:00</updated><title type='text'>Gartner application development summit</title><content type='html'>This week I'm attending the Gartner Application Development Summit, and Enterprise Architecture Summit.&lt;br /&gt;&lt;br /&gt;In 2003 I attended the Gartner Application Integration and Web Services summit.&lt;br /&gt;&lt;br /&gt;Over the next few days I'll be posting both current messages from my attendance, as well as changes from what I remember.  I'll also give some personal experience and perspective.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5903053451456122";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6954742-112655931146740682?l=robfuller.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robfuller.blogspot.com/feeds/112655931146740682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6954742&amp;postID=112655931146740682&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112655931146740682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6954742/posts/default/112655931146740682'/><link rel='alternate' type='text/html' href='http://robfuller.blogspot.com/2005/09/gartner-application-development-summit.html' title='Gartner application development summit'/><author><name>Rob Fuller</name><uri>http://www.blogger.com/profile/01243403075595964095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
