<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEIFSHk4fyp7ImA9WhRbF0g.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389</id><updated>2012-02-08T22:01:59.737-05:00</updated><category term="mobile" /><category term="ruby" /><category term="jsonp" /><category term="other" /><category term="javascript" /><category term="table valued parameters" /><category term="hack days" /><category term=".net mvc" /><category term="bitly-dot-net" /><category term="programming" /><category term="localization" /><category term="las" /><category term="transact-sql" /><category term="conference" /><category term="api" /><category term="website" /><category term="general" /><category term="3G" /><category term="query" /><category term="street view" /><category term="seo" /><category term="devdays" /><category term="stackoverflow" /><category term="jquery" /><category term="timezone" /><category term="ioc container" /><category term="adwords" /><category term="linq to sql" /><category term="poker planner" /><category term="joel spolsky" /><category term="earth plugin" /><category term="ms sql server" /><category term="python" /><category term=".net web forms" /><category term="html" /><category term="nexus one" /><category term="optimization" /><category term="reginald braithwaite" /><category term="greg wilson" /><category term=".net" /><category term="xhtml" /><category term="maps" /><category term="custom exceptions" /><category term="videotron apn" /><category term="google" /><category term="sitemap" /><title>Mike Gleason jr's Blog</title><subtitle type="html">Anything Related to Web Sites: Technologies, Social Web, Programming, etc. I&amp;#39;m Doing Mostly .NET MVC in C#, JavaScript (jQuery), Google Maps API, MS SQL Server 2005 &amp;amp; 2008 and so Much More.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.mikecouturier.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.mikecouturier.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>44</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/mikegleasonjr" /><feedburner:info uri="mikegleasonjr" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>45.608424</geo:lat><geo:long>-73.509994</geo:long><feedburner:browserFriendly>Thank you for reading my feed, sincerely, Mike</feedburner:browserFriendly><entry gd:etag="W/&quot;DkcARHc_fSp7ImA9WhdbEEQ.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-2879702735935027912</id><published>2011-10-08T12:30:00.002-04:00</published><updated>2011-10-08T13:14:05.945-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-08T13:14:05.945-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="las" /><title>Localized Ads Service Launched in Preview!</title><content type="html">Fellow bloggers and site owners,&lt;br&gt;
&lt;br&gt;
If you are using Amazon Associates, eBay Partner Network or any other affiliate program to monetize you blog/site, I&amp;#39;ve just launched a free service to help us make more money.&lt;br&gt;
&lt;br&gt;
The service lets you display different ads according to the country of origin of your visitors. It is self hosted and it is as simple to use as Google Analytics. There is only a JavaScript snippet to include in your pages!&lt;a href="http://blog.mikecouturier.com/2011/10/localized-ads-service-launched-in.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-2879702735935027912?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jLnA75r6uxj0HgwsnHH0HwQvfAo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jLnA75r6uxj0HgwsnHH0HwQvfAo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jLnA75r6uxj0HgwsnHH0HwQvfAo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jLnA75r6uxj0HgwsnHH0HwQvfAo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=743P58SeWvw:bP8JmNqSVzk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=743P58SeWvw:bP8JmNqSVzk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/743P58SeWvw" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=2879702735935027912&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/2879702735935027912?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/2879702735935027912?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/743P58SeWvw/localized-ads-service-launched-in.html" title="Localized Ads Service Launched in Preview!" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh6.googleusercontent.com/-u_mj9W6W4oA/To-szHsynaI/AAAAAAAABZQ/brToBr33Z-g/s72-c/las_ad_serving.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2011/10/localized-ads-service-launched-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cAQHw6fyp7ImA9WhdUFkU.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-8440973213857927101</id><published>2011-07-18T21:04:00.009-04:00</published><updated>2011-10-03T20:44:01.217-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-03T20:44:01.217-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="api" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="earth plugin" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title>Your Own Google Earth Web Page Screensaver in C#</title><content type="html">&lt;div id="earth" style="clear:left; width:534px; height:350px; padding:2px; border:1px solid #CCC;"&gt;&lt;/div&gt;&lt;div style="margin-top:5px;text-align:center;"&gt;&lt;div class="las-ad" data-id="amazon-books-468x60"&gt;&lt;/div&gt;&lt;/div&gt;&lt;script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAAzAkrOIsv60fbtV-5UlnnJxRUrcFJRfPs1DYZSl5DdA7w5qtvARRv6HblVCIt_AgTSnG3PdPypHTBEQ"&gt;&lt;/script&gt;&lt;script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"&gt;&lt;/script&gt;&lt;script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;
 // &lt;![CDATA[
 google.load('earth', '1');

 // Some Variables
 var geocoder = new google.maps.Geocoder();
 var blogCopyImage = 'https://lh4.googleusercontent.com/-jZeNZUX1Ddo/ThzpTX7qgSI/AAAAAAAABXo/hy1634_XV-M/s800/blog-mikecouturier-com.png';
 var twitterRequest = 'http://search.twitter.com/search.json?q=%23google&amp;result_type=recent&amp;geocode=39.3647281,-99.84206489999997,1525mi';

 // On Document Ready, Initialize the Earth Plugin
 $(document).ready(function() {
  google.earth.createInstance("earth", initialize, function() { });
 });

 // Initializing Funciton
 function initialize(ge) {
  ge.getWindow().setVisibility(true);
  ge.getLayerRoot().enableLayerById(ge.LAYER_BUILDINGS, true);
  ge.getNavigationControl().setVisibility(ge.VISIBILITY_HIDE);

  // Create the "blog.mikecouturier.com" ScreenOverlay
  var screenOverlay = ge.createScreenOverlay('');

  // Specify a path to the image and set as the icon
  var icon = ge.createIcon('');
  icon.setHref(blogCopyImage);
  screenOverlay.setIcon(icon);

  // Set the ScreenOverlay's position in the window
  screenOverlay.getOverlayXY().setXUnits(ge.UNITS_PIXELS);
  screenOverlay.getOverlayXY().setYUnits(ge.UNITS_PIXELS);
  screenOverlay.getOverlayXY().setX(70);
  screenOverlay.getOverlayXY().setY(20);

  // Set the overlay's size in pixels
  screenOverlay.getSize().setXUnits(ge.UNITS_PIXELS);
  screenOverlay.getSize().setYUnits(ge.UNITS_PIXELS);
  screenOverlay.getSize().setX(129);
  screenOverlay.getSize().setY(21);

  // Add the ScreenOverlay to Earth
  ge.getFeatures().appendChild(screenOverlay);

  // Starting View
  var cam = ge.getView().copyAsCamera(ge.ALTITUDE_ABSOLUTE);
  cam.setAltitude(12000000);
  ge.getView().setAbstractView(cam);

  // Some Other Options
  ge.getOptions().setFlyToSpeed(0.3);

  // Run!
  setTimeout(function() { run(ge); }, 1000);
 }

 function getCoordinates(address, callback) {
  geocoder.geocode({ 'address': address }, function(results, status) {
   if (status == google.maps.GeocoderStatus.OK) {
    var latlng = results[0].geometry.location;
    callback(latlng.lng(), latlng.lat(), true);
   } else {
    callback(undefined, undefined, false);
   }
  });
 }

 function run(ge) {
  var i = 0;
  var tweets = [];
  var lastTweetId = undefined;

  (function timer() {
   // Fetch Tweets If No Tweets To Display
   if (tweets.length == 0) {
    var extraRequest = (typeof lastTweetId == 'undefined') ? '' : '&amp;since_id=' + lastTweetId;
    $.get(twitterRequest + extraRequest, {}, function(data) {
     tweets = data.results || [];
     //console.log('found ' + tweets.length + ' tweet(s) since ' + lastTweetId);
     setTimeout(timer, tweets.length == 0 ? 20000 : 0);
    }, 'jsonp');
    return;
   }

   // Show Next Tweet
   var tweet = tweets.pop();
   lastTweetId = tweet.id;
   //console.log('processing tweet # ' + tweet.id);

   // Get Coordinates if Needed
   if (tweet.geo == null) {
    getCoordinates(tweet.location, function(lng, lat, succeeded) {
     if (succeeded) {
      //console.log('successfuly geocoded ' + tweet.location);
      tweet.geo = { coordinates: [lat, lng] };
      displayTweet(ge, tweet);
     }
     else {
      //console.log('failed to geocode ' + tweet.location);
     }
    });
   }
   else {
    //console.log('tweet.geo available: [' + tweet.geo.coordinates[0] + ',' + tweet.geo.coordinates[1] + ']');
    displayTweet(ge, tweet);
   }

   setTimeout(timer, 20000);
  })();
 }

 function displayTweet(ge, tweet) {
  // Cleanup Current Balloon (if any)
  ge.setBalloon(null);
 
  // Get Current View
  var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);

  // Set New Destination
  lookAt.setLatitude(tweet.geo.coordinates[0]);
  lookAt.setLongitude(tweet.geo.coordinates[1]);

  // Randomize view
  lookAt.setTilt(60 + Math.floor(Math.random() * 21));
  lookAt.setHeading(Math.floor(Math.random() * 361));
  lookAt.setRange(2000.0);

  // Update the view in Google Earth (Starts Flying Animation)
  ge.getView().setAbstractView(lookAt);

  // Wait for the Flying Animation to Stop Before Showing Balloon (~6 secs)
  setTimeout(function() {
   var placemark = ge.createPlacemark('');

   var point = ge.createPoint('');
   point.setLatitude(tweet.geo.coordinates[0]);
   point.setLongitude(tweet.geo.coordinates[1]);
   placemark.setGeometry(point);

   var balloon = ge.createHtmlStringBalloon('');
   balloon.setFeature(placemark);
   balloon.setContentString('&lt;div class="balloon"&gt;&lt;img src="' + tweet.profile_image_url + '" /&gt;&lt;div&gt;' + tweet.from_user + (tweet.location != null ? ' (' + tweet.location + ')' : '') + '&lt;/div&gt;&lt;div class="text"&gt;' + tweet.text + '&lt;/div&gt;&lt;div class="date"&gt;' + tweet.created_at + '&lt;/div&gt;&lt;/div&gt;');
   balloon.setCloseButtonEnabled(false);

   ge.setBalloon(balloon);
  }, 6000);
 }
 // ]]&gt;
&lt;/script&gt;&lt;br&gt;
Here&amp;#39;s my latest blog post... I&amp;#39;m saying &amp;#39;post&amp;#39; instead of &amp;#39;article&amp;#39; because this is more of a showcase than a tutorial. Code is provided as usual so the learning process is on your side at your will and your pace :)&lt;br&gt;
&lt;br&gt;
What the screensaver actually dipslays is shown above (&lt;a target="_blank" href="http://www.google.com/earth/explore/products/plugin.html"&gt;Earth plugin&lt;/a&gt; required). &lt;span style="font-weight:bold;"&gt;The screensaver is continually fetching the latest North American Tweets containing the #Google Hashtag from Twitter and displays them&lt;/span&gt;. Pretty nice!&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2011/07/your-own-google-earth-web-page.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-8440973213857927101?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/84fddLrFHrCGXE5mqxrrMQdNXts/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/84fddLrFHrCGXE5mqxrrMQdNXts/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/84fddLrFHrCGXE5mqxrrMQdNXts/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/84fddLrFHrCGXE5mqxrrMQdNXts/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=iRNQwbg7dwE:FJ5xPOM0Uqc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=iRNQwbg7dwE:FJ5xPOM0Uqc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/iRNQwbg7dwE" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=8440973213857927101&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/8440973213857927101?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/8440973213857927101?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/iRNQwbg7dwE/your-own-google-earth-web-page.html" title="Your Own Google Earth Web Page Screensaver in C#" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/-QOrmXiAJH4A/TiTS2AoiveI/AAAAAAAABYE/dxuxDyyCUnM/s72-c/screensaver-arch.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2011/07/your-own-google-earth-web-page.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YCRn48fyp7ImA9WhdUFkU.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-4202714491176142061</id><published>2011-07-10T21:22:00.004-04:00</published><updated>2011-10-03T20:46:07.077-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-03T20:46:07.077-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="seo" /><category scheme="http://www.blogger.com/atom/ns#" term="sitemap" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="website" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title>SEO Tip: Dynamic Google XML Sitemaps Generation in C#</title><content type="html">&lt;span style="font-style:italic;"&gt;Sitemaps are a way to tell Google about pages on your site we might not otherwise discover. In its simplest terms, a XML Sitemap—usually called Sitemap, with a capital S—is a list of the pages on your website. Creating and submitting a Sitemap helps make sure that Google knows about all the pages on your site, including URLs that may not be discoverable by Google&amp;#39;s normal crawling process.&lt;/span&gt;&lt;br&gt;
&lt;div style="text-align:right;"&gt;- &lt;a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;amp;answer=156184&amp;amp;from=40318&amp;amp;rd=1" target="_blank"&gt;About Sitemaps - Webmaster Tools Help&lt;/a&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2011/07/seo-tip-dynamic-google-xml-sitemaps.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-4202714491176142061?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7RpPgDjQJ_DNuOyhfLlJWT8ra8c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7RpPgDjQJ_DNuOyhfLlJWT8ra8c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7RpPgDjQJ_DNuOyhfLlJWT8ra8c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7RpPgDjQJ_DNuOyhfLlJWT8ra8c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=qzmg_8WP46I:FG-rBL9fmXY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=qzmg_8WP46I:FG-rBL9fmXY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/qzmg_8WP46I" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=4202714491176142061&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/4202714491176142061?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/4202714491176142061?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/qzmg_8WP46I/seo-tip-dynamic-google-xml-sitemaps.html" title="SEO Tip: Dynamic Google XML Sitemaps Generation in C#" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2011/07/seo-tip-dynamic-google-xml-sitemaps.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04CQ30zfyp7ImA9WhRbFk8.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-2117350670610306375</id><published>2011-07-03T21:14:00.017-04:00</published><updated>2012-02-07T10:52:42.387-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T10:52:42.387-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="maps" /><category scheme="http://www.blogger.com/atom/ns#" term="api" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title>Create Zoomable Images Using The Google Maps API</title><content type="html">&lt;script src="http://maps.google.com/maps/api/js?libraries=geometry&amp;amp;sensor=false" type="text/javascript"&gt;
&lt;/script&gt;&lt;br&gt;
&lt;div class="map" id="earth-map" style="clear: both; height: 350px; width: 400px; margin:0px auto;"&gt;&lt;/div&gt;&lt;script type="text/javascript"&gt;
 /* &lt;![CDATA[ */

 // Google Maps Demo
 //////////////////////////////////

 var Demo = Demo || {};
 Demo.ImagesBaseUrl = 'http://cdn.mikecouturier.com/blog.mikecouturier.com/images/maps-tiles/';

 // CroftMap class
 //////////////////////////////////
 Demo.CroftMap = function (container) {
     // Create map
     this._map = new google.maps.Map(container, {
         zoom: 1,
         center: new google.maps.LatLng(0, -20),
         mapTypeControl: false,
         streetViewControl: false
     });

     // Set custom tiles
     this._map.mapTypes.set('croft', new Demo.ImgMapType('croft', '#4E4E4E'));
     this._map.setMapTypeId('croft');
 };

 // EarthMap class
 //////////////////////////////////

 Demo.EarthMap = function(container) {
  // Create map
  this._map = new google.maps.Map(container, { zoom: 0, center: new google.maps.LatLng(0, 0), disableDefaultUI: true });

  // Set custom tiles
  this._map.mapTypes.set('earth', new Demo.ImgMapType('earth', '#FFF'));
  this._map.setMapTypeId('earth');

  // Create custom controls &amp; bind events
  this._createControls();
  this._bindEvents();
 };

 Demo.EarthMap.prototype._showHome = function() {
  var position = new google.maps.LatLng(48.802761, 49.199218);
  this._window.open(position, 'This is a house!');
  this._map.setZoom(3);
  this._map.panTo(position);
 };

 Demo.EarthMap.prototype._showStars = function() {
  var position = new google.maps.LatLng(64.168106, -3.515625);
  this._window.open(position, 'You\'re looking at the stars!');
  this._map.setZoom(2);
  this._map.panTo(position);
 };

 Demo.EarthMap.prototype._createControls = function() {
  var self = this;

  // Info window
  this._window = new Demo.TextWindow(this._map);

  // Plus button
  var plusButtonContainer = document.createElement('DIV');
  plusButtonContainer.style.margin = '10px 0px 0px 10px';
  new Demo.ZoomButtonControl(plusButtonContainer, this._map, 1);

  // Minus button
  var minusButtonContainer = document.createElement('DIV');
  minusButtonContainer.style.margin = '0px 0px 0px 10px';
  new Demo.ZoomButtonControl(minusButtonContainer, this._map, -1);

  // Zoom levels
  var zoomLevelsContainer = document.createElement('DIV');
  zoomLevelsContainer.style.margin = '4px 0px 4px 10px';
  new Demo.ZoomLevelsControl(zoomLevelsContainer, this._map);

  // Some buttons
  var buttonsContainer = document.createElement('DIV');
  buttonsContainer.style.margin = '0px 10px 0px 0px';

  google.maps.event.addDomListener(buttonsContainer, 'mouseover', function() {
   Demo.Utils.SetOpacity(buttonsContainer, 100);
  });

  google.maps.event.addDomListener(buttonsContainer, 'mouseout', function() {
   Demo.Utils.SetOpacity(buttonsContainer, 75);
  });

  Demo.Utils.SetOpacity(buttonsContainer, 75);
  new Demo.ImageControl('star.png', buttonsContainer, this._map, function() { self._showStars(); });
  new Demo.ImageControl('home.png', buttonsContainer, this._map, function() { self._showHome(); });

  // Push every controls into the map
  this._map.controls[google.maps.ControlPosition.LEFT_CENTER].push(plusButtonContainer);
  this._map.controls[google.maps.ControlPosition.LEFT_CENTER].push(zoomLevelsContainer);
  this._map.controls[google.maps.ControlPosition.LEFT_CENTER].push(minusButtonContainer);
  this._map.controls[google.maps.ControlPosition.RIGHT_CENTER].push(buttonsContainer);
 };

 Demo.EarthMap.prototype._bindEvents = function() {
  var self = this;

  google.maps.event.addListener(this._map, 'click', function() {
   self._window.close();
  });
 };

 // ImgMapType class
 //////////////////////////////////

 Demo.ImgMapType = function(theme, backgroundColor) {   
  this.name = this._theme = theme;
  this._backgroundColor = backgroundColor;
 };
 
 Demo.ImgMapType.prototype.tileSize = new google.maps.Size(256, 256);
 Demo.ImgMapType.prototype.minZoom = 0;
 Demo.ImgMapType.prototype.maxZoom = 5;

 Demo.ImgMapType.prototype.getTile = function(coord, zoom, ownerDocument) {
  var tilesCount = Math.pow(2, zoom);

  if (coord.x &gt;= tilesCount || coord.x &lt; 0 || coord.y &gt;= tilesCount || coord.y &lt; 0) {
   var div = ownerDocument.createElement('div');
   div.style.width = this.tileSize.width + 'px';
   div.style.height = this.tileSize.height + 'px';
   div.style.backgroundColor = this._backgroundColor;
   return div;
  }

  var img = ownerDocument.createElement('IMG');
  img.width = this.tileSize.width;
  img.height = this.tileSize.height;
  img.src = Demo.Utils.GetImageUrl(this._theme + '/tile_' + zoom + '_' + coord.x + '-' + coord.y + '.png');

  return img;
 };

 // ZoomButtonControl class
 //////////////////////////////////

 Demo.ZoomButtonControl = function(container, map, level) {
  var button = document.createElement('IMG');
  button.style.cursor = 'pointer';
  button.src = Demo.Utils.GetImageUrl(level &gt; 0 ? 'plus.png' : 'minus.png');
  container.appendChild(button);

  google.maps.event.addDomListener(button, 'click', function() {
   map.setZoom(map.getZoom() + level);
  });
 };

 // ImageControl class
 //////////////////////////////////

 Demo.ImageControl = function(image, container, map, callback) {
  var button = document.createElement('IMG');
  button.style.cursor = 'pointer';
  button.style.display = 'block';
  button.src = Demo.Utils.GetImageUrl(image);
  container.appendChild(button);

  google.maps.event.addDomListener(button, 'click', function() {
   callback();
  });
 };

 // ZoomLevelsControl class
 //////////////////////////////////

 Demo.ZoomLevelsControl = function(container, map) {
  this._container = container;
  this._map = map;

  this._buildUI();
  this._updateUI();
  this._bindZoomEvent();
 };

 Demo.ZoomLevelsControl.prototype._buildUI = function() {
  var currentMapType = this._map.mapTypes.get(this._map.getMapTypeId());

  for (var i = currentMapType.maxZoom; i &gt;= currentMapType.minZoom; i--) {
   var level = document.createElement('IMG');
   level.style.cursor = 'pointer';
   if (i != currentMapType.minZoom)
    level.style.marginBottom = '2px';
   level.style.display = 'block';
   level.src = Demo.Utils.GetImageUrl('level.png');
   this._bindLevelClick(level, i);
   this._container.appendChild(level);
  }
 };

 Demo.ZoomLevelsControl.prototype._updateUI = function() {
  var currentMapType = this._map.mapTypes.get(this._map.getMapTypeId());
  var currentZoom = this._map.getZoom();
  var levelsCount = currentMapType.maxZoom - currentMapType.minZoom;

  for (var i = 0; i &lt; levelsCount; i++)
   Demo.Utils.SetOpacity(this._container.childNodes[i], (currentMapType.maxZoom - i) &lt;= currentZoom ? 100 : 30);
 };

 Demo.ZoomLevelsControl.prototype._bindZoomEvent = function() {
  var self = this;

  google.maps.event.addListener(this._map, 'zoom_changed', function() {
   self._updateUI();
  });
 };

 Demo.ZoomLevelsControl.prototype._bindLevelClick = function(bar, zoom) {
  var self = this;

  google.maps.event.addDomListener(bar, 'click', function() {
   self._map.setZoom(zoom);
  });
 };

 // TextWindow class
 //////////////////////////////////

 Demo.TextWindow = function(map) {
  this._map = map;
  this._window = null;
  this._text = null;
  this._position = null;
 };

 Demo.TextWindow.prototype = new google.maps.OverlayView();

 Demo.TextWindow.prototype.open = function(latlng, text) {
  if (this._window != null)
   this.close();

  this._text = text;
  this._position = latlng;

  this.setMap(this._map);
 };

 Demo.TextWindow.prototype.close = function() {
  this.setMap(null);
 };

 Demo.TextWindow.prototype.onAdd = function() {
  this._window = document.createElement('DIV');
  this._window.style.position = 'absolute';
  this._window.style.cursor = 'default';
  this._window.style.padding = '40px 20px 0px 20px';
  this._window.style.textAlign = 'center';
  this._window.style.fontFamily = 'Arial,sans-serif';
  this._window.style.fontWeight = 'bold';
  this._window.style.fontSize = '12px';
  this._window.style.width = '88px';
  this._window.style.height = '88px';
  this._window.style.background = 'url(' + Demo.Utils.GetImageUrl('window.png') + ')';
  this._window.innerHTML = this._text;

  this.getPanes().floatPane.appendChild(this._window);
 };

 Demo.TextWindow.prototype.draw = function() {
  var point = this.getProjection().fromLatLngToDivPixel(this._position);

  this._window.style.top = (parseInt(point.y) - 128) + 'px';
  this._window.style.left = (parseInt(point.x) - 110) + 'px';
 };

 Demo.TextWindow.prototype.onRemove = function() {
  this._window.parentNode.removeChild(this._window);
  this._window = null;
 };

 // Other
 //////////////////////////////////

 Demo.Utils = Demo.Utils || {};

 Demo.Utils.GetImageUrl = function(image) {
  return Demo.ImagesBaseUrl + image;
 };

 Demo.Utils.SetOpacity = function(obj, opacity /* 0 to 100 */) {
  obj.style.opacity = opacity / 100;
  obj.style.filter = 'alpha(opacity=' + opacity + ')';
 };

 // Map creation
 //////////////////////////////////

 google.maps.event.addDomListener(window, 'load', function(){
  var earthMap = new Demo.EarthMap(document.getElementById('earth-map'));
 });
 /* ]]&gt; */
&lt;/script&gt;&lt;br&gt;
&lt;br&gt;
I visited the &lt;a href="http://www.google.com/intl/en-US/+/demo/" target="_blank"&gt;Google+ Project&lt;/a&gt; website the other day and to my surprise, it was powered by  the Google Maps engine! It is somewhat creative to re-use the Maps engine for any purpose other than mapping. It is just beautiful.&lt;br&gt;
&lt;br&gt;
It also reminds me of the &lt;a href="http://www.googleartproject.com/" target="_blank"&gt;Art Project&lt;/a&gt; I&amp;#39;ve seen a while back that uses the Street View engine. A must see.&lt;br&gt;
&lt;br&gt;
Anyways, I&amp;#39;m pleased to show you two samples today: they both let you navigate into an image using the Google Maps engine. I&amp;#39;m also giving up the necessary tools to do it yourself. Enjoy!&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2011/07/create-zoomable-images-using-google.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-2117350670610306375?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9kETZPkqTAk8Glm0gDJAF1WB8bg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9kETZPkqTAk8Glm0gDJAF1WB8bg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9kETZPkqTAk8Glm0gDJAF1WB8bg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9kETZPkqTAk8Glm0gDJAF1WB8bg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=wID9FX4IUUI:JiFDYBu33ps:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=wID9FX4IUUI:JiFDYBu33ps:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/wID9FX4IUUI" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=2117350670610306375&amp;isPopup=true" title="54 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/2117350670610306375?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/2117350670610306375?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/wID9FX4IUUI/create-zoomable-images-using-google.html" title="Create Zoomable Images Using The Google Maps API" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>54</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2011/07/create-zoomable-images-using-google.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UBQHo9fip7ImA9WhZaGUs.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-5502932860492293423</id><published>2011-06-22T14:51:00.002-04:00</published><updated>2011-07-06T10:07:31.466-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-06T10:07:31.466-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="maps" /><category scheme="http://www.blogger.com/atom/ns#" term="api" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="other" /><title>Is Google Maps API v3 Down?</title><content type="html">(Today June 22nd 2011, 2:50PM)&lt;br /&gt;
&lt;br /&gt;
There's a problem with the Maps API v3: The inclusion of the main file is ok:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="prettyprint"&gt;http://maps.google.com/maps/api/js?sensor=false&amp;language=en
&lt;/pre&gt;&lt;br /&gt;
But it turns out it includes another file which is currently not found:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="prettyprint"&gt;http://maps.gstatic.com/intl/en_ALL/mapfiles/api-3/5/7/main.js
&lt;/pre&gt;&lt;br /&gt;
Anyone else experiencing this?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-5502932860492293423?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/F6hBcBnEAJV4gH8rFeh0eJUIV6A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/F6hBcBnEAJV4gH8rFeh0eJUIV6A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/F6hBcBnEAJV4gH8rFeh0eJUIV6A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/F6hBcBnEAJV4gH8rFeh0eJUIV6A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=_MExrNm7UUA:t-65lmeklcA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=_MExrNm7UUA:t-65lmeklcA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/_MExrNm7UUA" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=5502932860492293423&amp;isPopup=true" title="11 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/5502932860492293423?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/5502932860492293423?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/_MExrNm7UUA/is-google-maps-api-v3-down.html" title="Is Google Maps API v3 Down?" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>11</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2011/06/is-google-maps-api-v3-down.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MNQ3c7eCp7ImA9WhdUFkw.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-6345422863175243834</id><published>2011-06-07T23:45:00.002-04:00</published><updated>2011-10-03T00:18:12.900-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-03T00:18:12.900-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="other" /><title>Happy Father's Day 2011!</title><content type="html">"Father's Day is a celebration honoring fathers and celebrating fatherhood, paternal bonds, and the influence of fathers in society."&lt;br /&gt;
&lt;i&gt;- http://en.wikipedia.org/wiki/Father's_Day&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Don't wait till it's too late to express your love to your father! Like me, you might be interested to some deals on &lt;div class="las-ad" data-id="amazon-lnk-general"&gt;&lt;/div&gt;! Plus, in doing so, you'll support my efforts in bringing more and more articles online! Thanks!&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align:center;"&gt;&lt;div class="las-ad" data-id="amazon-deals-336x280"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-6345422863175243834?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gjab-4b4QWQUQjFiaIjRdxyh0iI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gjab-4b4QWQUQjFiaIjRdxyh0iI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gjab-4b4QWQUQjFiaIjRdxyh0iI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gjab-4b4QWQUQjFiaIjRdxyh0iI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=kAtnH8oUgVE:iRAnkSBgnlY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=kAtnH8oUgVE:iRAnkSBgnlY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/kAtnH8oUgVE" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=6345422863175243834&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/6345422863175243834?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/6345422863175243834?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/kAtnH8oUgVE/happy-fathers-day.html" title="Happy Father's Day 2011!" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2011/06/happy-fathers-day.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEGSXg8eip7ImA9WhZVFkQ.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-2111759413012513759</id><published>2011-03-30T19:29:00.006-04:00</published><updated>2011-05-29T14:43:48.672-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-29T14:43:48.672-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="xhtml" /><category scheme="http://www.blogger.com/atom/ns#" term="website" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="html" /><title>HTML Validation: Let Your Browser Be The Markup Validator!</title><content type="html">Here&amp;#39;s a quick article on XHTML conformance. Learn how to serve your pages in ASP.NET with another content-type to make your browser stop on any parsing error.&lt;br&gt;
&lt;br&gt;
Read on!&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2011/03/html-validation-let-your-browser-be.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-2111759413012513759?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WQ2RUGigZt_f6RMI_TjXwltp-EM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WQ2RUGigZt_f6RMI_TjXwltp-EM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WQ2RUGigZt_f6RMI_TjXwltp-EM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WQ2RUGigZt_f6RMI_TjXwltp-EM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=lHK07GlPaAQ:o8z3llQiUgE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=lHK07GlPaAQ:o8z3llQiUgE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/lHK07GlPaAQ" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=2111759413012513759&amp;isPopup=true" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/2111759413012513759?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/2111759413012513759?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/lHK07GlPaAQ/html-validation-let-your-browser-be.html" title="HTML Validation: Let Your Browser Be The Markup Validator!" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2011/03/html-validation-let-your-browser-be.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYBQnc4fCp7ImA9WhZaF0k.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-1207010269982688197</id><published>2011-03-20T21:48:00.006-04:00</published><updated>2011-07-03T21:15:53.934-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-03T21:15:53.934-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="maps" /><category scheme="http://www.blogger.com/atom/ns#" term="api" /><category scheme="http://www.blogger.com/atom/ns#" term="jquery" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="jsonp" /><title>FIX: jQuery JSONP request to the Google Maps API Geo Service</title><content type="html">A lot of you guys (including me) had a problem with the Maps Geocoding API. Google seems to have dropped the JSONP feature of their library. Well they still support it (otherwise their own client library would not work) and here&amp;#39;s a fix.&lt;br&gt;
&lt;br&gt;
Note: this applies to v2 only.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2011/03/fix-jquery-jsonp-request-to-google-maps.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-1207010269982688197?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/z3MTwBdpbdXpY7FbqVpf0Owc0dM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/z3MTwBdpbdXpY7FbqVpf0Owc0dM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/z3MTwBdpbdXpY7FbqVpf0Owc0dM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/z3MTwBdpbdXpY7FbqVpf0Owc0dM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=ItGBCOCbmSs:LfhHRDhFbhc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=ItGBCOCbmSs:LfhHRDhFbhc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/ItGBCOCbmSs" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=1207010269982688197&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/1207010269982688197?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/1207010269982688197?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/ItGBCOCbmSs/fix-jquery-jsonp-request-to-google-maps.html" title="FIX: jQuery JSONP request to the Google Maps API Geo Service" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2011/03/fix-jquery-jsonp-request-to-google-maps.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YGRXg-cCp7ImA9WhZVFkQ.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-3601199375974565320</id><published>2011-03-19T10:32:00.006-04:00</published><updated>2011-05-29T14:52:04.658-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-29T14:52:04.658-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="query" /><category scheme="http://www.blogger.com/atom/ns#" term="linq to sql" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="optimization" /><category scheme="http://www.blogger.com/atom/ns#" term="transact-sql" /><title>Uncommitted Reads in LINQ: Avoiding Deadlocks and Timeouts!</title><content type="html">This short post today is about a performance enhancement in LINQ to SQL: Reading uncommitted data. You have to know that it&amp;#39;s not a LINQ to SQL concept but a straight SQL Server concept. &lt;br&gt;
&lt;br&gt;
But read on to know how they relate to each other.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2011/03/uncommitted-reads-in-linq-avoiding.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-3601199375974565320?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yIwTM19gAfWBxBqEEysbvzRgDQ0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yIwTM19gAfWBxBqEEysbvzRgDQ0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yIwTM19gAfWBxBqEEysbvzRgDQ0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yIwTM19gAfWBxBqEEysbvzRgDQ0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=61YkFDX_pMo:0NtYUHEOsrA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=61YkFDX_pMo:0NtYUHEOsrA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/61YkFDX_pMo" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=3601199375974565320&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/3601199375974565320?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/3601199375974565320?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/61YkFDX_pMo/uncommitted-reads-in-linq-avoiding.html" title="Uncommitted Reads in LINQ: Avoiding Deadlocks and Timeouts!" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2011/03/uncommitted-reads-in-linq-avoiding.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04FRnc4eyp7ImA9WhdUFkU.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-2790281779598596442</id><published>2011-03-14T23:17:00.015-04:00</published><updated>2011-10-03T20:58:37.933-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-03T20:58:37.933-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".net mvc" /><category scheme="http://www.blogger.com/atom/ns#" term=".net web forms" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="website" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>ASP.NET Web Forms versus .NET MVC: Comparing apples with.. really old apples</title><content type="html">I&amp;#39;ll say it up front, I&amp;#39;m tired of using Web Forms :) I&amp;#39;m a professional web architect (it sounds huge, no it&amp;#39;s not. I just do that for a living) and I personally think that it&amp;#39;s a counter intuitive framework to deal with. I can&amp;#39;t do MVC often since nobody around me is using it (I&amp;#39;m not mad at that fact by the way). But it&amp;#39;s a shift I&amp;#39;d like we do, and why we should do it is the main goal of this article.&lt;br&gt;
&lt;br&gt;
So walk through the light Homer!&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2011/03/aspnet-web-forms-versus-net-mvc.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-2790281779598596442?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kiwi_DpTqZRuz91G0oLMI0Lff2c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kiwi_DpTqZRuz91G0oLMI0Lff2c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kiwi_DpTqZRuz91G0oLMI0Lff2c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kiwi_DpTqZRuz91G0oLMI0Lff2c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=eXcE0xihVOY:0DKBIOcVZkk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=eXcE0xihVOY:0DKBIOcVZkk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/eXcE0xihVOY" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=2790281779598596442&amp;isPopup=true" title="16 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/2790281779598596442?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/2790281779598596442?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/eXcE0xihVOY/aspnet-web-forms-versus-net-mvc.html" title="ASP.NET Web Forms versus .NET MVC: Comparing apples with.. really old apples" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>16</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2011/03/aspnet-web-forms-versus-net-mvc.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MGQHcyeCp7ImA9WhZbEko.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-296356144927225863</id><published>2010-09-13T16:53:00.007-04:00</published><updated>2011-06-16T20:43:41.990-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-16T20:43:41.990-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="videotron apn" /><category scheme="http://www.blogger.com/atom/ns#" term="nexus one" /><category scheme="http://www.blogger.com/atom/ns#" term="other" /><category scheme="http://www.blogger.com/atom/ns#" term="3G" /><title>Nexus One in Canada - APN settings for 3G with Videotron</title><content type="html">I&amp;#39;ve managed to get the APN and MMS settings for Videotron Mobile.&lt;br&gt;
&lt;br&gt;
Here&amp;#39;s my story...&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2010/09/google-nexus-one-in-canada-3g-with-t.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-296356144927225863?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cnbiphtbAe16yaAyBRp4b0WCBTY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cnbiphtbAe16yaAyBRp4b0WCBTY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cnbiphtbAe16yaAyBRp4b0WCBTY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cnbiphtbAe16yaAyBRp4b0WCBTY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=9Xck02SmegA:ux5ILUKBE14:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=9Xck02SmegA:ux5ILUKBE14:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/9Xck02SmegA" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=296356144927225863&amp;isPopup=true" title="13 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/296356144927225863?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/296356144927225863?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/9Xck02SmegA/google-nexus-one-in-canada-3g-with-t.html" title="Nexus One in Canada - APN settings for 3G with Videotron" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>13</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2010/09/google-nexus-one-in-canada-3g-with-t.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8ARHg7cCp7ImA9WhZVFkQ.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-468147199434340072</id><published>2010-03-11T16:13:00.009-05:00</published><updated>2011-05-29T14:47:25.608-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-29T14:47:25.608-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="api" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="bitly-dot-net" /><title>A new contributor updated bitly-dot-net, my .NET wrapper around the bit.ly API</title><content type="html">This post is about the changes made to &amp;quot;my&amp;quot; library by Noah Blumenthal, the Lead Microsoft Developer of PC Magazine.&lt;br&gt;
&lt;br&gt;
See the improvements...&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2010/03/new-contributor-updated-bitly-dot-net.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-468147199434340072?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0W69w6EbTB-h5k_uXm-zByfe5YU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0W69w6EbTB-h5k_uXm-zByfe5YU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0W69w6EbTB-h5k_uXm-zByfe5YU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0W69w6EbTB-h5k_uXm-zByfe5YU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=Nppf8uCdcPo:7yZrSi_htQ4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=Nppf8uCdcPo:7yZrSi_htQ4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/Nppf8uCdcPo" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=468147199434340072&amp;isPopup=true" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/468147199434340072?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/468147199434340072?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/Nppf8uCdcPo/new-contributor-updated-bitly-dot-net.html" title="A new contributor updated bitly-dot-net, my .NET wrapper around the bit.ly API" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2010/03/new-contributor-updated-bitly-dot-net.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8CQHw_eyp7ImA9WhZVFkQ.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-7425732112641246205</id><published>2010-03-02T21:40:00.011-05:00</published><updated>2011-05-29T14:47:41.243-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-29T14:47:41.243-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".net mvc" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="website" /><category scheme="http://www.blogger.com/atom/ns#" term="ioc container" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>IoC Containers With .NET MVC - Understand Current Ones by Building your Own</title><content type="html">This article shows you how to create your own IoC Container from a to z and how to use it with .NET MVC. This is mainly for educational purpose so I suggest you use an existing solution available on the Internet. See links at the end of the article. Last thing to note, I&amp;#39;m assuming you&amp;#39;re familiar with .NET MVC&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2010/03/ioc-containers-with-net-mvc-understand.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-7425732112641246205?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/b_uwNxGZjFEEv4zDyiFKkcwToIU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/b_uwNxGZjFEEv4zDyiFKkcwToIU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/b_uwNxGZjFEEv4zDyiFKkcwToIU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/b_uwNxGZjFEEv4zDyiFKkcwToIU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=snJSlw09nZc:KglsKAyuIBE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=snJSlw09nZc:KglsKAyuIBE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/snJSlw09nZc" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=7425732112641246205&amp;isPopup=true" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/7425732112641246205?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/7425732112641246205?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/snJSlw09nZc/ioc-containers-with-net-mvc-understand.html" title="IoC Containers With .NET MVC - Understand Current Ones by Building your Own" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_ypRgbP-iK9s/S4xoGTl_WcI/AAAAAAAAAvI/5_OYHr3h-40/s72-c/dic.png" height="72" width="72" /><thr:total>5</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2010/03/ioc-containers-with-net-mvc-understand.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UHRH46eCp7ImA9WhZVFkQ.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-5105246586874734761</id><published>2010-02-28T21:36:00.004-05:00</published><updated>2011-05-29T14:53:55.010-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-29T14:53:55.010-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="general" /><category scheme="http://www.blogger.com/atom/ns#" term="other" /><title>Congratulations to Team Canada!</title><content type="html">Some of you may not know it but I&amp;#39;m from Canada and a big hockey fan.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2010/02/congratulations-to-team-canada.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-5105246586874734761?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CDnYKVcZUAFox0ywdVI6ReNfQHg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CDnYKVcZUAFox0ywdVI6ReNfQHg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CDnYKVcZUAFox0ywdVI6ReNfQHg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CDnYKVcZUAFox0ywdVI6ReNfQHg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=UIdeMLjRneo:YZE-I2CZiho:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=UIdeMLjRneo:YZE-I2CZiho:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/UIdeMLjRneo" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=5105246586874734761&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/5105246586874734761?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/5105246586874734761?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/UIdeMLjRneo/congratulations-to-team-canada.html" title="Congratulations to Team Canada!" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2010/02/congratulations-to-team-canada.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYGQng7fSp7ImA9WhdUFkQ.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-5858854030080850836</id><published>2010-02-22T21:31:00.022-05:00</published><updated>2011-10-03T21:02:03.605-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-03T21:02:03.605-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="jquery" /><category scheme="http://www.blogger.com/atom/ns#" term="website" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>Beginning with jQuery - A Solid Foundation to Learn The Basics</title><content type="html">It&amp;#39;s been a while since my last article and I&amp;#39;m very pleased to come up with this one.&lt;br&gt;
&lt;br&gt;
Enjoy.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2010/02/beginning-with-jquery-solid-foundation_22.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-5858854030080850836?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4SgAcr1G0SwuD4u5ZszhrskX51Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4SgAcr1G0SwuD4u5ZszhrskX51Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4SgAcr1G0SwuD4u5ZszhrskX51Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4SgAcr1G0SwuD4u5ZszhrskX51Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=UGijgTyXiRU:XjyMZOcxoOU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=UGijgTyXiRU:XjyMZOcxoOU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/UGijgTyXiRU" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=5858854030080850836&amp;isPopup=true" title="36 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/5858854030080850836?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/5858854030080850836?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/UGijgTyXiRU/beginning-with-jquery-solid-foundation_22.html" title="Beginning with jQuery - A Solid Foundation to Learn The Basics" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_ypRgbP-iK9s/S4FEdx6-0NI/AAAAAAAAAuc/yRcIPIQoI1k/s72-c/http_protocol.png" height="72" width="72" /><thr:total>36</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2010/02/beginning-with-jquery-solid-foundation_22.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UASHk5cSp7ImA9WhZVFkQ.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-6470492897804355639</id><published>2010-01-31T18:51:00.003-05:00</published><updated>2011-05-29T14:54:09.729-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-29T14:54:09.729-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="poker planner" /><category scheme="http://www.blogger.com/atom/ns#" term="website" /><category scheme="http://www.blogger.com/atom/ns#" term="other" /><title>I've Released an Update on Poker Planner</title><content type="html">Hi,&lt;br&gt;
&lt;br&gt;
Yes it&amp;#39;s been a long time since I published an article on my blog.. but I was busy coding an update for my web site Poker Planner.&lt;br&gt;
&lt;br&gt;
But I just put it online now so I&amp;#39;ll be able to write some stuff...&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2010/01/ive-released-update-on-poker-planner.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-6470492897804355639?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8OPy1aKj94wwGZfOGPcx6wP8h_4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8OPy1aKj94wwGZfOGPcx6wP8h_4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8OPy1aKj94wwGZfOGPcx6wP8h_4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8OPy1aKj94wwGZfOGPcx6wP8h_4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=vZENHlNbXu0:5K9Q_W_Peio:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=vZENHlNbXu0:5K9Q_W_Peio:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/vZENHlNbXu0" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=6470492897804355639&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/6470492897804355639?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/6470492897804355639?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/vZENHlNbXu0/ive-released-update-on-poker-planner.html" title="I've Released an Update on Poker Planner" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2010/01/ive-released-update-on-poker-planner.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04ASH85eCp7ImA9WhZRE00.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-2275453717253265187</id><published>2010-01-15T14:17:00.002-05:00</published><updated>2011-04-08T20:45:49.120-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-08T20:45:49.120-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="api" /><category scheme="http://www.blogger.com/atom/ns#" term="jquery" /><category scheme="http://www.blogger.com/atom/ns#" term="website" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>jQuery 1.4 Released!</title><content type="html">I&amp;#39;m a little late with this because I was in NYC yesterday but I heard today from a co-worker that jQuery 1.4 is out!&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2010/01/jquery-14-released.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-2275453717253265187?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/E7ShvrgZh14IG58MB2L97D0uHdY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/E7ShvrgZh14IG58MB2L97D0uHdY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/E7ShvrgZh14IG58MB2L97D0uHdY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/E7ShvrgZh14IG58MB2L97D0uHdY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=qpEVe-gNFX4:JvAcBllNWG8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=qpEVe-gNFX4:JvAcBllNWG8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/qpEVe-gNFX4" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=2275453717253265187&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/2275453717253265187?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/2275453717253265187?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/qpEVe-gNFX4/jquery-14-released.html" title="jQuery 1.4 Released!" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2010/01/jquery-14-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YARXs7fyp7ImA9WhZVFkQ.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-5002063324305956321</id><published>2010-01-12T22:11:00.007-05:00</published><updated>2011-05-29T14:52:24.507-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-29T14:52:24.507-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="query" /><category scheme="http://www.blogger.com/atom/ns#" term="linq to sql" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="table valued parameters" /><title>SQL 2008 TVP (Table Valued Parameters) and LINQ - It is Possible! (Sorta)</title><content type="html">I&amp;#39;m sure you saw all those blog posts about SQL Server&amp;#39;s TVP (table valued parameters) so I&amp;#39;ll be brief and I won&amp;#39;t go into much details.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2010/01/sql-2008-tvp-table-valued-parameters.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-5002063324305956321?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/t3UDo7Uspm21o2E24JpTmnRuTyU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/t3UDo7Uspm21o2E24JpTmnRuTyU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/t3UDo7Uspm21o2E24JpTmnRuTyU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/t3UDo7Uspm21o2E24JpTmnRuTyU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=cCZ3GfXkFXE:zh9vv1YlJHY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=cCZ3GfXkFXE:zh9vv1YlJHY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/cCZ3GfXkFXE" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=5002063324305956321&amp;isPopup=true" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/5002063324305956321?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/5002063324305956321?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/cCZ3GfXkFXE/sql-2008-tvp-table-valued-parameters.html" title="SQL 2008 TVP (Table Valued Parameters) and LINQ - It is Possible! (Sorta)" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>8</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2010/01/sql-2008-tvp-table-valued-parameters.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UCRX07fip7ImA9WhZVFkQ.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-5479989625163844987</id><published>2010-01-04T18:25:00.004-05:00</published><updated>2011-05-29T14:54:24.306-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-29T14:54:24.306-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="maps" /><category scheme="http://www.blogger.com/atom/ns#" term="api" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="other" /><title>It's Official, I'm the 32nd Google JS Maps API Certified Developer!</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" alt="the google maps api certified developer logo" src="http://1.bp.blogspot.com/_ypRgbP-iK9s/S0J2RkHCPJI/AAAAAAAAAtM/jWHL4cpwfaM/s320/logo_qd_large.gif"&gt;&lt;br&gt;
&lt;/div&gt;&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2010/01/its-official-im-32th-google-js-maps-api.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-5479989625163844987?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/S9cKQF3n-KWE_usj6-ghQfERi9E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S9cKQF3n-KWE_usj6-ghQfERi9E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/S9cKQF3n-KWE_usj6-ghQfERi9E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S9cKQF3n-KWE_usj6-ghQfERi9E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=USUw3clj1c8:J65OaE7ZtqE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=USUw3clj1c8:J65OaE7ZtqE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/USUw3clj1c8" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=5479989625163844987&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/5479989625163844987?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/5479989625163844987?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/USUw3clj1c8/its-official-im-32th-google-js-maps-api.html" title="It's Official, I'm the 32nd Google JS Maps API Certified Developer!" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_ypRgbP-iK9s/S0J2RkHCPJI/AAAAAAAAAtM/jWHL4cpwfaM/s72-c/logo_qd_large.gif" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2010/01/its-official-im-32th-google-js-maps-api.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcCR34_eyp7ImA9WhZRE0w.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-5730898819715712896</id><published>2010-01-03T21:42:00.008-05:00</published><updated>2011-04-08T23:01:06.043-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-08T23:01:06.043-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="custom exceptions" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>Creating Custom Exceptions in .NET - Real World Scenarios</title><content type="html">Here&amp;#39;s an article I&amp;#39;ve written about custom exceptions. It&amp;#39;s not only about custom exceptions per se, it&amp;#39;s also about using them when you have interfaces.&lt;br&gt;
&lt;br&gt;
Enjoy&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2010/01/creating-custom-exceptions-in-net-right.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-5730898819715712896?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VDNmjajyUFJgSEX9ImFM6ZCmFAg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VDNmjajyUFJgSEX9ImFM6ZCmFAg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VDNmjajyUFJgSEX9ImFM6ZCmFAg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VDNmjajyUFJgSEX9ImFM6ZCmFAg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=jBVrRDZCeD4:_2fLs9qNIIs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=jBVrRDZCeD4:_2fLs9qNIIs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/jBVrRDZCeD4" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=5730898819715712896&amp;isPopup=true" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/5730898819715712896?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/5730898819715712896?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/jBVrRDZCeD4/creating-custom-exceptions-in-net-right.html" title="Creating Custom Exceptions in .NET - Real World Scenarios" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_ypRgbP-iK9s/S0FEBv43v5I/AAAAAAAAAtE/qam4W-XQDxs/s72-c/IReader.png" height="72" width="72" /><thr:total>9</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2010/01/creating-custom-exceptions-in-net-right.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYCSHoyfip7ImA9WhZaF0k.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-376560654262383510</id><published>2009-12-30T23:24:00.013-05:00</published><updated>2011-07-03T21:16:09.496-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-03T21:16:09.496-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="maps" /><category scheme="http://www.blogger.com/atom/ns#" term="api" /><category scheme="http://www.blogger.com/atom/ns#" term="jquery" /><category scheme="http://www.blogger.com/atom/ns#" term="website" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title>Google Maps API and jQuery - Tips to Avoid Using Both</title><content type="html">I often get visits on my blog from search engines with keywords like &amp;quot;google maps jquery&amp;quot;. It made me realize that jQuery is now deeply anchored in our habits.&lt;br&gt;
&lt;br&gt;
Then I was reviewing some stuff in the Google API the other day and I saw that the API has much to offer, we just don&amp;#39;t know it.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2009/12/google-maps-api-and-jquery-tips-to.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-376560654262383510?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/rYDz6_pVL8yBck-wUZYqtmGoKWQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rYDz6_pVL8yBck-wUZYqtmGoKWQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/rYDz6_pVL8yBck-wUZYqtmGoKWQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rYDz6_pVL8yBck-wUZYqtmGoKWQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=m1UN9w8iAWw:UALTKhQWt8A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=m1UN9w8iAWw:UALTKhQWt8A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/m1UN9w8iAWw" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=376560654262383510&amp;isPopup=true" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/376560654262383510?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/376560654262383510?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/m1UN9w8iAWw/google-maps-api-and-jquery-tips-to.html" title="Google Maps API and jQuery - Tips to Avoid Using Both" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2009/12/google-maps-api-and-jquery-tips-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YEQ3kzeCp7ImA9WhZVFkQ.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-6374343779933467808</id><published>2009-12-28T00:38:00.009-05:00</published><updated>2011-05-29T14:51:42.780-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-29T14:51:42.780-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="timezone" /><category scheme="http://www.blogger.com/atom/ns#" term="query" /><category scheme="http://www.blogger.com/atom/ns#" term="ms sql server" /><category scheme="http://www.blogger.com/atom/ns#" term="website" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="transact-sql" /><title>Timezone Offsets With Sql Server - Revisited</title><content type="html">This week-end I played a little bit with timezones and two new SQL Server 2008 functions:&lt;br&gt;
&lt;br&gt;
&lt;ul&gt;&lt;li&gt;TODATETIMEOFFSET()&lt;/li&gt;
&lt;li&gt;SWITCHOFFSET()&lt;/li&gt;
&lt;/ul&gt;&lt;br&gt;
It reminded me how I was handling timezones on my websites and I decided to write about it.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2009/12/timezone-offsets-with-sql-server.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-6374343779933467808?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Lw0X9ohf6pPZb43XnN5_FrtMzDE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Lw0X9ohf6pPZb43XnN5_FrtMzDE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Lw0X9ohf6pPZb43XnN5_FrtMzDE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Lw0X9ohf6pPZb43XnN5_FrtMzDE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=KzvaTEyGQRI:KYKHvMXk5Bs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=KzvaTEyGQRI:KYKHvMXk5Bs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/KzvaTEyGQRI" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=6374343779933467808&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/6374343779933467808?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/6374343779933467808?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/KzvaTEyGQRI/timezone-offsets-with-sql-server.html" title="Timezone Offsets With Sql Server - Revisited" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2009/12/timezone-offsets-with-sql-server.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYDRnszfip7ImA9WhZaF0k.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-8973414589679188096</id><published>2009-12-27T20:56:00.037-05:00</published><updated>2011-07-03T21:16:17.586-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-03T21:16:17.586-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="street view" /><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="maps" /><category scheme="http://www.blogger.com/atom/ns#" term="api" /><category scheme="http://www.blogger.com/atom/ns#" term="website" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title>Google Street View And Google Maps Interaction - Sample Showcase</title><content type="html">Hi,&lt;br&gt;
&lt;br&gt;
Recently, I wanted to learn more about the Google Street View API objects. So I decided to create a small application. While there, I thought it would be great to integrate a Google Map with a draggable marker for the two to interact together.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2009/12/google-street-view-with-google-maps_27.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-8973414589679188096?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oNbYxzKo1u8xa47DJeVEgTwZ-1g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oNbYxzKo1u8xa47DJeVEgTwZ-1g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oNbYxzKo1u8xa47DJeVEgTwZ-1g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oNbYxzKo1u8xa47DJeVEgTwZ-1g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=k2UPVd0dGcw:E1z3JuexJBE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=k2UPVd0dGcw:E1z3JuexJBE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/k2UPVd0dGcw" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=8973414589679188096&amp;isPopup=true" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/8973414589679188096?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/8973414589679188096?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/k2UPVd0dGcw/google-street-view-with-google-maps_27.html" title="Google Street View And Google Maps Interaction - Sample Showcase" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>8</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2009/12/google-street-view-with-google-maps_27.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UMQn88cSp7ImA9WhZVFkQ.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-72044973330126064</id><published>2009-12-24T13:57:00.002-05:00</published><updated>2011-05-29T14:54:43.179-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-29T14:54:43.179-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="other" /><title>Happy Holidays 2009</title><content type="html">In my personal name, thank you very much for being here reading my blog.&lt;br&gt;
&lt;br&gt;
As always, I&amp;#39;ll try to learn new things in 2010 and be able to share them with you with passion.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2009/12/happy-holidays-2009.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-72044973330126064?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AgC_gPBisULS16Ak2t5JnUJOCB8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AgC_gPBisULS16Ak2t5JnUJOCB8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AgC_gPBisULS16Ak2t5JnUJOCB8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AgC_gPBisULS16Ak2t5JnUJOCB8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=-W6v8h-_ooc:vE1_oTZSvKM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=-W6v8h-_ooc:vE1_oTZSvKM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/-W6v8h-_ooc" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=72044973330126064&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/72044973330126064?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/72044973330126064?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/-W6v8h-_ooc/happy-holidays-2009.html" title="Happy Holidays 2009" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_ypRgbP-iK9s/SzO43o7MbKI/AAAAAAAAAs8/eUNlKRkVJHg/s72-c/pp_noel2.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2009/12/happy-holidays-2009.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UNSXY5eip7ImA9WhZVFkQ.&quot;"><id>tag:blogger.com,1999:blog-8028247505642201389.post-5561534857338030072</id><published>2009-12-23T09:31:00.003-05:00</published><updated>2011-05-29T14:54:58.822-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-29T14:54:58.822-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="conference" /><category scheme="http://www.blogger.com/atom/ns#" term="api" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="other" /><category scheme="http://www.blogger.com/atom/ns#" term="hack days" /><title>AdWords API v2009 Hack Days In New-York - I'll Be There</title><content type="html">My boss just confirmed with me my presence to the &lt;a href="http://sites.google.com/site/v2009hackdays/home" target="_blank"&gt;AdWords API v2009 Hack Days&lt;/a&gt; in New-York mid-January.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.mikecouturier.com/2009/12/adwords-api-v2009-hack-days-in-new-york.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8028247505642201389-5561534857338030072?l=blog.mikecouturier.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/L3D6ZEGu-NDCvJNGcQW74fgAtaQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L3D6ZEGu-NDCvJNGcQW74fgAtaQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/L3D6ZEGu-NDCvJNGcQW74fgAtaQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L3D6ZEGu-NDCvJNGcQW74fgAtaQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/mikegleasonjr?a=6eeJHuilHyQ:zm7Vuh_WJ3c:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/mikegleasonjr?i=6eeJHuilHyQ:zm7Vuh_WJ3c:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mikegleasonjr/~4/6eeJHuilHyQ" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8028247505642201389&amp;postID=5561534857338030072&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/5561534857338030072?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8028247505642201389/posts/default/5561534857338030072?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/mikegleasonjr/~3/6eeJHuilHyQ/adwords-api-v2009-hack-days-in-new-york.html" title="AdWords API v2009 Hack Days In New-York - I'll Be There" /><author><name>Mike Gleason jr</name><uri>http://www.blogger.com/profile/15824339719026497535</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-YNiyOn-KSDA/TZ5E__4x32I/AAAAAAAAAzg/bhDHz2_HuT8/s220/Mike-Gleason-jr-Couturier.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mikecouturier.com/2009/12/adwords-api-v2009-hack-days-in-new-york.html</feedburner:origLink></entry></feed>

