<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3482195980561498760</id><updated>2011-09-27T15:07:11.871-07:00</updated><category term='Technical'/><category term='Sports'/><category term='Travel'/><category term='Music'/><title type='text'>Joel Forman's Blog</title><subtitle type='html'>.NET and some other stuff...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-4709827672891219165</id><published>2010-06-04T21:18:00.000-07:00</published><updated>2010-06-04T21:19:59.444-07:00</updated><title type='text'>My blog has moved!</title><content type='html'>My blog has moved to &lt;a href="http://joelforman.wordpress.com/"&gt;http://joelforman.wordpress.com&lt;/a&gt;.  If you were following, update to follow me there.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Joel&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-4709827672891219165?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/4709827672891219165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2010/06/my-blog-has-moved.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/4709827672891219165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/4709827672891219165'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2010/06/my-blog-has-moved.html' title='My blog has moved!'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-289136008322622250</id><published>2009-09-11T22:58:00.001-07:00</published><updated>2009-09-12T20:49:32.066-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>Italy Day 14:  Rome</title><content type='html'>Our last day of our trip has us heading back to where we started...Rome.  With a 7 AM flight back home the next day, we had one last night to live it up before heading back.&lt;br /&gt;&lt;br /&gt;I had been wondering if Rome could live up to our first impression.  You know how sometimes when you go back somewhere for the second time, it just isn't quite the same as the wonderful first impression you had.  I was very happy that it did.  We had another great time.&lt;br /&gt;&lt;br /&gt;We didn't really have an agenda.  I just wanted to walk around and take it all in one more time.  We got into the main part of the city at about 5 or so in the evening.  We walked all up from Piazza Venecia to Piazza de Popolo doing some window shopping.  We headed over to the Spanish Steps again, and then down past Trevi Fountain.  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WJAXNr-E5xU/Sqxrt6AKiUI/AAAAAAAAAIs/8rNEy2FgA0s/s1600-h/DSC_0100.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 214px;" src="http://4.bp.blogspot.com/_WJAXNr-E5xU/Sqxrt6AKiUI/AAAAAAAAAIs/8rNEy2FgA0s/s320/DSC_0100.JPG" alt="" id="BLOGGER_PHOTO_ID_5380794091209132354" border="0" /&gt;&lt;/a&gt;We ended up in Campo de Fiore for dinner and had a nice time in the lively square.  Stephanie wanted to grab her favorite white chocolate gelato one last time, so we headed to Piazza Navona later for that.  Seeing all these great places and the backstreets in between cemented our admiration for the city once again.  Walking Rome in the evening was one of the lasting impressions I will take from the trip.&lt;br /&gt;&lt;br /&gt;That's a wrap.  Its up at 4:30 AM to fly back home.  I can't wait to come back....I know we will.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-289136008322622250?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/289136008322622250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/09/italy-day-14-rome.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/289136008322622250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/289136008322622250'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/09/italy-day-14-rome.html' title='Italy Day 14:  Rome'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WJAXNr-E5xU/Sqxrt6AKiUI/AAAAAAAAAIs/8rNEy2FgA0s/s72-c/DSC_0100.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-8359311674299381055</id><published>2009-09-11T13:55:00.001-07:00</published><updated>2009-09-12T20:47:58.327-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>Italy Day 13:  Orvieto</title><content type='html'>We left Florence and took a train to Orvieto.  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WJAXNr-E5xU/Sqxq9aScHKI/AAAAAAAAAIU/f2rZxzTokJU/s1600-h/DSC_0515.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 214px;" src="http://4.bp.blogspot.com/_WJAXNr-E5xU/Sqxq9aScHKI/AAAAAAAAAIU/f2rZxzTokJU/s320/DSC_0515.JPG" alt="" id="BLOGGER_PHOTO_ID_5380793258062126242" border="0" /&gt;&lt;/a&gt;The town is located in Umbria, in the heart of wine country.  We planned to explore a bit of the town of Orvieto, known for wine and olive oil, in the early afternoon before headed to a nearby winery to stay the night.&lt;br /&gt;&lt;br /&gt;We visted the old part of town of &lt;a href="http://en.wikipedia.org/wiki/Orvieto"&gt;Orvieto&lt;/a&gt;, which rises above the surrounding wine country.  You actually have to take a tram/ski lift type ride to get to the old town from below.  It is pretty small up top, and has a great old country feel to it.  We walked the cobblestone streets, and checked out the &lt;a href="http://en.wikipedia.org/wiki/Orvieto_Cathedral"&gt;Orvieto Cathedral&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WJAXNr-E5xU/SqxrHmGCrZI/AAAAAAAAAIc/l5237kVXdvM/s1600-h/DSC_0542.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 214px;" src="http://3.bp.blogspot.com/_WJAXNr-E5xU/SqxrHmGCrZI/AAAAAAAAAIc/l5237kVXdvM/s320/DSC_0542.JPG" alt="" id="BLOGGER_PHOTO_ID_5380793433030045074" border="0" /&gt;&lt;/a&gt;We then headed to our winery, &lt;a href="http://www.locandapalazzone.com/"&gt;Locanda Palazzone&lt;/a&gt;.  I cannot tell you how excited we were to arrive.  The surrounding country was just beautiful, the view from the winery amazing.  The winery itself had a classic look, with a newly remodeled interior.  Our room was two stories, with a view of the countryside.&lt;br /&gt;&lt;br /&gt;We relaxed and swam in the pool, walked around the grounds, and had an imimate dinner outside.  The food was spectacular.  I could not recommend this place enough to anyone wanted a great Tuscan experience.  It was our favorite place we stayed of the trip thus far.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WJAXNr-E5xU/SqxrVHRv4uI/AAAAAAAAAIk/E_3tQqIYJ4I/s1600-h/DSC_0528.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 214px;" src="http://2.bp.blogspot.com/_WJAXNr-E5xU/SqxrVHRv4uI/AAAAAAAAAIk/E_3tQqIYJ4I/s320/DSC_0528.JPG" alt="" id="BLOGGER_PHOTO_ID_5380793665275814626" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-8359311674299381055?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/8359311674299381055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/09/italy-day-13-orvieto.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8359311674299381055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8359311674299381055'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/09/italy-day-13-orvieto.html' title='Italy Day 13:  Orvieto'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WJAXNr-E5xU/Sqxq9aScHKI/AAAAAAAAAIU/f2rZxzTokJU/s72-c/DSC_0515.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-1197202058767863855</id><published>2009-09-10T15:49:00.000-07:00</published><updated>2009-09-12T20:44:35.435-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>Italy Day 11 and 12:  Florence</title><content type='html'>We left Venice on a Sunday morning and arrived in &lt;a href="http://en.wikipedia.org/wiki/Florence"&gt;Florence&lt;/a&gt; a couple hours later.  Our first reaction when we got to Florence...."Whoa...Cars". We had spent the last week in two cities that basically had none: &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WJAXNr-E5xU/SqxpNIzDY3I/AAAAAAAAAH0/cUQPbJAMkFw/s1600-h/DSC_0326+%282%29.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 214px;" src="http://2.bp.blogspot.com/_WJAXNr-E5xU/SqxpNIzDY3I/AAAAAAAAAH0/cUQPbJAMkFw/s320/DSC_0326+%282%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5380791329221731186" border="0" /&gt;&lt;/a&gt; the Cinque Terre and Venice.  Back to reality with speeding cars and motorcycles everywhere in downtown Florence was a trip back to reality a bit.&lt;br /&gt;&lt;br /&gt;We checked into our bed and breakfast after arriving.  This proved to be the most disappointing place we stayed during the trip.  It was a bit outside of the area we would have liked to be, and it proved to be a little less than ideal from a cleanliness perspective.  This may have slightly impressioned our Florence experience, but we tried to make the best of it and get past it.&lt;br /&gt;&lt;br /&gt;We had reservations at the &lt;a href="http://en.wikipedia.org/wiki/Uffizi"&gt;Uffizi Gallery&lt;/a&gt; in the late afternoon and headed out to make them.   The Uffizi had some reallly amazing pieces.  I particularly enjoyed seeing a couple of the Da Vinci and Michaelangelo pieces.  They definately stand out to me from the rest.&lt;br /&gt;&lt;br /&gt;That evening we had a fantastic dinner....what may prove to be the best food of the trip.  We ate at a small place on &lt;a href="http://en.wikipedia.org/wiki/Basilica_of_Santa_Croce,_Florence"&gt;Piazza di Santa Croce&lt;/a&gt;.  After a long day, it was just what the docter ordered.  We had a long relaxing delicious Tuscan meal.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WJAXNr-E5xU/Sqxpb8F9OFI/AAAAAAAAAH8/nRZ8g_x1qXA/s1600-h/DSC_0378.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 214px;" src="http://3.bp.blogspot.com/_WJAXNr-E5xU/Sqxpb8F9OFI/AAAAAAAAAH8/nRZ8g_x1qXA/s320/DSC_0378.JPG" alt="" id="BLOGGER_PHOTO_ID_5380791583509395538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On our second day, we wanted to explore a bit more.  We headed up to &lt;a href="http://en.wikipedia.org/wiki/Piazzale_Michelangelo"&gt;Piazza Michaelangelo&lt;/a&gt; and enjoyed some amazing views of the city.  We then enjoyed a nice walk down by the river and across the &lt;a href="http://en.wikipedia.org/wiki/Ponte_Vecchio"&gt;Ponte Vecchio&lt;/a&gt;.  We enjoy this part of the walk a lot.&lt;br /&gt;&lt;br /&gt;We continued through town and winded up cruising through the Mercado Centrale, a busy gathering of tents with vendors selling all sorts of stuff.  It was interesting but not quite our thing.  We nevertheless took the opportunity to snag a few deals.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WJAXNr-E5xU/SqxqfYn8z1I/AAAAAAAAAIM/V2tbP_iFxuM/s1600-h/DSC_0404.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 214px;" src="http://4.bp.blogspot.com/_WJAXNr-E5xU/SqxqfYn8z1I/AAAAAAAAAIM/V2tbP_iFxuM/s320/DSC_0404.JPG" alt="" id="BLOGGER_PHOTO_ID_5380792742219403090" border="0" /&gt;&lt;/a&gt;In the evening we headed across town and up to another great lookout spot...&lt;a href="http://en.wikipedia.org/wiki/Fiesole"&gt;Fiesole&lt;/a&gt;.  I really enjoyed the view of Florence and its surroundings from here.  Just fantastic.  We had dinner at a place overlooking the city.  The view was fantastic, but the food was not up to par for some of the meals we have had.&lt;br /&gt;&lt;br /&gt;We set our next sights on a more intimate feel of Tuscany...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-1197202058767863855?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/1197202058767863855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/09/italy-day-11-and-12-florence.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/1197202058767863855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/1197202058767863855'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/09/italy-day-11-and-12-florence.html' title='Italy Day 11 and 12:  Florence'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WJAXNr-E5xU/SqxpNIzDY3I/AAAAAAAAAH0/cUQPbJAMkFw/s72-c/DSC_0326+%282%29.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-1549702566610123010</id><published>2009-09-07T02:09:00.001-07:00</published><updated>2009-09-12T20:37:19.421-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>Italy Day 9 and 10:  Venice</title><content type='html'>Internet access has become a little more difficult, and thus the combined posts...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WJAXNr-E5xU/SqxoXJ-Dz7I/AAAAAAAAAHc/CLapVj520mg/s1600-h/DSC_0121.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 214px; height: 320px;" src="http://2.bp.blogspot.com/_WJAXNr-E5xU/SqxoXJ-Dz7I/AAAAAAAAAHc/CLapVj520mg/s320/DSC_0121.JPG" alt="" id="BLOGGER_PHOTO_ID_5380790401823395762" border="0" /&gt;&lt;/a&gt;Our last two days in Venice were just awesome.  We really enjoyed the city a lot, and we will have some great memories.&lt;br /&gt;&lt;br /&gt;On our second to last day, we started out by walking through the city to catch a vaporetto to Murano.  Just walking through the city to different points is a lot of fun.  One minute you are walking amongst bustling tourists, such as near the Rialto Bridge, and the next you are the only people on a deserted little street walking over canals and boats.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Murano"&gt;Murano&lt;/a&gt; is know for its glass blowing.  After getting off the boat (only a ten minute ride or so) we walked up and down the streets.  We must have gone into about 50 or so little glass shops, all with outstanding piece of glass art.  We got a few item to take back that particularly caught our eye.  Stephanie was truly in love with this place.   We had a nice sit down lunch with caprese, lasagna, chicken and potatoes before heading back.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WJAXNr-E5xU/SqxoiSzWfLI/AAAAAAAAAHk/-NQtdQdPPLQ/s1600-h/DSC_0279+%282%29.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 214px;" src="http://2.bp.blogspot.com/_WJAXNr-E5xU/SqxoiSzWfLI/AAAAAAAAAHk/-NQtdQdPPLQ/s320/DSC_0279+%282%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5380790593172962482" border="0" /&gt;&lt;/a&gt;After siesta and before dinner we took a long walk around a part of the city we had not seen before.  We crossed the Rialto and walked down through the city to another bridge, the Accademia, before circling back to a restaurant we had targeted.  We walked as the sun went down, had drinks and took some great pictures.  We ate at a great pizzaria to end the night.&lt;br /&gt;&lt;br /&gt;On our last day in Venice, we targeted some famous sights.  We headed to St. Mark's Square early in the day.  We toured the square and &lt;a href="http://en.wikipedia.org/wiki/St_Mark"&gt;St. Mark's Basilica&lt;/a&gt; with our audioguides.  We did the Correr Museum and then the &lt;a href="http://en.wikipedia.org/wiki/Doge"&gt;Doge's Palace&lt;/a&gt;.  The square itself and the Doge's Palace were our favorites.&lt;br /&gt;&lt;br /&gt;In the evening, we had heard about a Venitian tradition that consisted of a Venetian pub crawl:  going from wine bar to wine bar having wine and small appetizers.  We decided to hit this up, and had a blast.  We went to four or five different places trying different things.  After we stopped eating, we continued to grab drinks to go and walk the streets.  We ended up in St. Mark's square again.  It was my favo&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_WJAXNr-E5xU/SqxovKsCb0I/AAAAAAAAAHs/c1FjCdycJcI/s1600-h/DSC_0630.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 214px;" src="http://1.bp.blogspot.com/_WJAXNr-E5xU/SqxovKsCb0I/AAAAAAAAAHs/c1FjCdycJcI/s320/DSC_0630.JPG" alt="" id="BLOGGER_PHOTO_ID_5380790814333103938" border="0" /&gt;&lt;/a&gt;rite place to be at night.  Three orchestra bands play great music to delight the the crowds.  It was fun to listen and drink along.  We crusied back to our hotel late, after a fabulous night.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-1549702566610123010?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/1549702566610123010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/09/italy-day-9-and-10-venice.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/1549702566610123010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/1549702566610123010'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/09/italy-day-9-and-10-venice.html' title='Italy Day 9 and 10:  Venice'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WJAXNr-E5xU/SqxoXJ-Dz7I/AAAAAAAAAHc/CLapVj520mg/s72-c/DSC_0121.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-6146881586845576291</id><published>2009-09-04T09:10:00.000-07:00</published><updated>2009-09-12T20:33:18.223-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>Italy Day 8:  Venice</title><content type='html'>We got up early to start our travelling today to &lt;a href="http://en.wikipedia.org/wiki/Venice"&gt;Venice&lt;/a&gt;.  It took three trains and about 6 hours or so to get there, but this day of travel seemed way more relaxed than the others.  I think both of us have gotten used to the trains and train stations at this point.&lt;br /&gt;&lt;br /&gt;On the last leg, we boarded a train in Bologna headed for Venice.  We hopped in a car, and ended up sitting right next to the same Americans that we dined next to in&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WJAXNr-E5xU/SqxnlQZ8VMI/AAAAAAAAAHM/GOFgqAWNW6E/s1600-h/DSC_9118+%282%29.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 214px;" src="http://4.bp.blogspot.com/_WJAXNr-E5xU/SqxnlQZ8VMI/AAAAAAAAAHM/GOFgqAWNW6E/s320/DSC_9118+%282%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5380789544557499586" border="0" /&gt;&lt;/a&gt; Rome about 4 days earlier.  Small world.  There were six of them, and they were all super nice.  Stephanie sat with the girls and chatted while I had beers with the guys.  It was a very fun couple hours on this train into Venice, and it flew by.&lt;br /&gt;&lt;br /&gt;We arrived in Venice in the afternoon and made our way via vaporetto, water bus, down the &lt;a href="http://en.wikipedia.org/wiki/Grand_Canal_%28Venice%29"&gt;Grand Canal&lt;/a&gt; and to our hotel near the &lt;a href="http://en.wikipedia.org/wiki/Rialto_Bridge"&gt;Rialto Bridge&lt;/a&gt;.  Venice is beautiful.  It is a little surreal with all the canals and streets intertwined.&lt;br /&gt;&lt;br /&gt;We dined late at a fancy restaurant that was delicious.  It was a fun and romantic dinner.  We wandered around after dinner, stopping on the Rialto Bridge, looking in store fronts.  We ended up walking into St. Mark's Square where orchestras were entertaining onlookers.  Its all a pretty magical place.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WJAXNr-E5xU/Sqxnz3wJK0I/AAAAAAAAAHU/CPjm-2vIBAk/s1600-h/DSC_0151.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 214px;" src="http://3.bp.blogspot.com/_WJAXNr-E5xU/Sqxnz3wJK0I/AAAAAAAAAHU/CPjm-2vIBAk/s320/DSC_0151.JPG" alt="" id="BLOGGER_PHOTO_ID_5380789795637766978" border="0" /&gt;&lt;/a&gt;We ended the night with a &lt;a href="http://en.wikipedia.org/wiki/Gondola"&gt;Gondola&lt;/a&gt; ride.  It was after midnight and we crusied around in our private gondola for about an hour.  Full moon was out and we had a bottle of prosecco in hand.  We had a great time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-6146881586845576291?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/6146881586845576291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/09/italy-day-8-venice.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/6146881586845576291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/6146881586845576291'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/09/italy-day-8-venice.html' title='Italy Day 8:  Venice'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WJAXNr-E5xU/SqxnlQZ8VMI/AAAAAAAAAHM/GOFgqAWNW6E/s72-c/DSC_9118+%282%29.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-3419634073694761605</id><published>2009-09-04T01:29:00.001-07:00</published><updated>2009-09-12T14:31:51.198-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>Italy Day 7:  Cinque Terre</title><content type='html'>Our last day in the Cinque Terre, and I was ready to do some hiking. I convinced Stephanie to wake up early and do the hike from our town, Vernazza, to the town of Monterroso. &lt;a href="http://4.bp.blogspot.com/_WJAXNr-E5xU/SqwTDTLMoQI/AAAAAAAAAG8/q21527ofSfs/s1600-h/DSC_0529.JPG"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 214px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5380696602208674050" border="0" alt="" src="http://4.bp.blogspot.com/_WJAXNr-E5xU/SqwTDTLMoQI/AAAAAAAAAG8/q21527ofSfs/s320/DSC_0529.JPG" /&gt;&lt;/a&gt;The hike between these two towns is the toughest, but the most scenic. We both loved the hike. Stephanie wasn't loving it about 2o minutes in, as the first stretch seems to go up forever. But we were having a great time once it leveled off and had some amazing views. We got some great pictures.&lt;br /&gt;&lt;br /&gt;We were in need of a rest once reaching Monterroso, so we rented chairs and an umbrella on the beach and laid out in the sun. I did a little cooling off in the Mediterranean as well. Very refreshing. We grabbed some lunch and checked out the town a bit before taking a ferry back to Vernazza.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_WJAXNr-E5xU/SqwTJpbHZ8I/AAAAAAAAAHE/CfPBkW2CFDQ/s1600-h/DSC_0547.JPG"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 320px; FLOAT: right; HEIGHT: 214px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5380696711260235714" border="0" alt="" src="http://4.bp.blogspot.com/_WJAXNr-E5xU/SqwTJpbHZ8I/AAAAAAAAAHE/CfPBkW2CFDQ/s320/DSC_0547.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;In the evening we decided to spend our last night in Vernazza, and had dinner Il Pirata delle Cinque Terre. The place is run by two twins from Sicily, and they were very charming and entertaining. The food was absolutely fantastic as well. This made for probably our most enjoyable dining experience thus far. Massimo chatted with us tons on each visit to our table, and he had some great lines that we will remember. On of my favorites was when he was explaining why they don't have a view from their restaurant. He said they prefer "the view on the plate". Another memorable one was the forms of payment they accepted. They said "cash or wash dishes" when we asked if they took Visa. They said they preferred wash dishes. They have some incredible desserts as well. Stephanie was in love with their fresh fruit slushies. They had made a fig shushie that day. We ended up having two (we had one in the afternoon, and had one again after we came back for dinner there). We also had a Cannoli with riccota and chocolate at their insistance that was great as well.&lt;br /&gt;&lt;br /&gt;All in all, I think this was my favorite day in the Cinque Terre.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-3419634073694761605?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/3419634073694761605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/09/italy-day-7-cinque-terre.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/3419634073694761605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/3419634073694761605'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/09/italy-day-7-cinque-terre.html' title='Italy Day 7:  Cinque Terre'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WJAXNr-E5xU/SqwTDTLMoQI/AAAAAAAAAG8/q21527ofSfs/s72-c/DSC_0529.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-6759087614994980721</id><published>2009-09-02T08:15:00.000-07:00</published><updated>2009-09-12T21:22:54.185-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>Italy Day 6:  Cinque Terre</title><content type='html'>&lt;div&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 320px; FLOAT: right; HEIGHT: 214px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5380695775388519298" border="0" alt="" src="http://1.bp.blogspot.com/_WJAXNr-E5xU/SqwSTLB6S4I/AAAAAAAAAGs/y05bXV5a4Xk/s320/DSC_0449.JPG" /&gt;We had the most relaxing day of the trip thus far. The morning was spent laying out on the rocks that line the harbor, in between trips to the local laundromat washing our clothes from the trip. Due to the heat, we went through clothes much faster than anticipated. We grabbed items to each from the local bakery and the local weekly market, which happened to be going on today.&lt;br /&gt;&lt;br /&gt;Late in the day we took a ferry and headed two towns south to the town of &lt;a href="http://en.wikipedia.org/wiki/Manarola"&gt;Manarola&lt;/a&gt;. It was fun to see the coastline and all five towns from the water. We walked through Manarola and window shopped before grabbing some drinks near the harbor.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WJAXNr-E5xU/Sp6YWH0WmvI/AAAAAAAAAE8/YGlV1GTqn9E/s1600-h/viadelamore.jpg"&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_WJAXNr-E5xU/SqxzfAB65II/AAAAAAAAAI0/8SWkj6HsdBQ/s1600-h/DSC_0472.JPG"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 214px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5380802631222092930" border="0" alt="" src="http://1.bp.blogspot.com/_WJAXNr-E5xU/SqxzfAB65II/AAAAAAAAAI0/8SWkj6HsdBQ/s320/DSC_0472.JPG" /&gt;&lt;/a&gt;At sunset, we walked down the Via dell'Amorè to the town of &lt;a href="http://en.wikipedia.org/wiki/Riomaggiore"&gt;Riomaggiore&lt;/a&gt;. The path is cut right out of the rock in many places (pictured here). It was a perfect time of night, and a great walk. Once in Riomaggiore, we walked through town looking for Ristorante Ripa del Sole. Up what seemed like a never ending staircase, we found it at the top of town. We had a very nice dinner there.&lt;br /&gt;&lt;br /&gt;We took the train back to Vernazza. It was a bit of an adventure as I thought we had got on the wrong train. We were very happy when it did stop in Vernazza. We ended the night with drinks at the Blue Marlin, a very fun and local night hotspot.&lt;a href="http://3.bp.blogspot.com/_WJAXNr-E5xU/SqwSpXKb72I/AAAAAAAAAG0/uCuI0uD2l64/s1600-h/DSC_0468.JPG"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 214px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5380696156602625890" border="0" alt="" src="http://3.bp.blogspot.com/_WJAXNr-E5xU/SqwSpXKb72I/AAAAAAAAAG0/uCuI0uD2l64/s320/DSC_0468.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-6759087614994980721?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/6759087614994980721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/09/italy-day-6-cinque-terre.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/6759087614994980721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/6759087614994980721'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/09/italy-day-6-cinque-terre.html' title='Italy Day 6:  Cinque Terre'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_WJAXNr-E5xU/SqwSTLB6S4I/AAAAAAAAAGs/y05bXV5a4Xk/s72-c/DSC_0449.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-682153589080477293</id><published>2009-09-01T05:11:00.000-07:00</published><updated>2009-09-12T14:11:17.993-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>Italy Day 5:  Cinque Terre</title><content type='html'>We spent a good part of the day traveling from Rome to the Cinque Terre in the Italian Riviera. We took a train from Termini Station north to La Spezia, which took about 4 hours. When then changed trains, and took about a 2o minute ride into the town of Vernazza.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_WJAXNr-E5xU/SqwOWN4hOMI/AAAAAAAAAGk/GJz2dkF6Hms/s1600-h/DSC_0373.JPG"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 214px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5380691429647530178" border="0" alt="" src="http://4.bp.blogspot.com/_WJAXNr-E5xU/SqwOWN4hOMI/AAAAAAAAAGk/GJz2dkF6Hms/s320/DSC_0373.JPG" /&gt;&lt;/a&gt;&lt;a href="http://en.wikipedia.org/wiki/Vernazza"&gt;Vernazza&lt;/a&gt;, in the &lt;a href="http://en.wikipedia.org/wiki/Cinque_Terre"&gt;Cinque Terre&lt;/a&gt;, is an incredible place. It is a refreshing difference from the fast pace of Rome. There is but one street that goes through the middle of town....for people only...no cars. We can walk from the beginning of town, down the main street to the water in 5 minutes.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WJAXNr-E5xU/Sp0THmbaJTI/AAAAAAAAAE0/-A8F2JN11L4/s1600-h/vernazza.jpg"&gt;&lt;/a&gt;We dropped our bags and cruised around town. We grabbed a bite and sat by the harbor, taking in all in. After making dinner reservations, I headed up the trail away from Vernazza to take some photos from some great viewpoints. I think I have some postcard material.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_WJAXNr-E5xU/SqwOK-uJBII/AAAAAAAAAGc/7Obd_GSLmCU/s1600-h/DSC_0375.JPG"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 320px; FLOAT: right; HEIGHT: 214px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5380691236598908034" border="0" alt="" src="http://3.bp.blogspot.com/_WJAXNr-E5xU/SqwOK-uJBII/AAAAAAAAAGc/7Obd_GSLmCU/s320/DSC_0375.JPG" /&gt;&lt;/a&gt;We had dinner at a romantic spot, Ristorante Al Castello. Our table was right out over a cliff overlooking the Mediterranean. It was the best food of the trip thus far. We both had Lasagne al Pesto. It will be hard not to come back for it again before we leave.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-682153589080477293?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/682153589080477293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/09/italy-day-5-cinque-terre.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/682153589080477293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/682153589080477293'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/09/italy-day-5-cinque-terre.html' title='Italy Day 5:  Cinque Terre'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WJAXNr-E5xU/SqwOWN4hOMI/AAAAAAAAAGk/GJz2dkF6Hms/s72-c/DSC_0373.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-8112421661592245637</id><published>2009-08-30T14:39:00.000-07:00</published><updated>2009-09-12T14:07:39.165-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>Italy Day 4:  Rome</title><content type='html'>&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_WJAXNr-E5xU/SqwNWr_-1-I/AAAAAAAAAGM/v54atYK7YrI/s1600-h/DSC_0242.JPG"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 214px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5380690338220267490" border="0" alt="" src="http://3.bp.blogspot.com/_WJAXNr-E5xU/SqwNWr_-1-I/AAAAAAAAAGM/v54atYK7YrI/s320/DSC_0242.JPG" /&gt;&lt;/a&gt;We did not have a ton planned for our final day in Rome, and it ended up being a nice relaxing day. We went to &lt;a href="http://en.wikipedia.org/wiki/Galleria_Borghese"&gt;Galleria Borghese&lt;/a&gt; in the morning. The musuem contains several works of Bernini. Bernini's Apollo and Daphne is remarkable, and we circled back to check it out twice.&lt;br /&gt;&lt;br /&gt;Just before sunset, we headed out to &lt;a href="http://en.wikipedia.org/wiki/Piazza_del_Popolo"&gt;Piazza del Popolo&lt;/a&gt;. We strolled from there past many shops and street performers. We wound up having dinner outside in a little piazza just a couple blocks north of the &lt;a href="http://3.bp.blogspot.com/_WJAXNr-E5xU/SqwNeyP1rmI/AAAAAAAAAGU/AvMSmbaQbi4/s1600-h/DSC_0303.JPG"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 214px; FLOAT: right; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5380690477336342114" border="0" alt="" src="http://3.bp.blogspot.com/_WJAXNr-E5xU/SqwNeyP1rmI/AAAAAAAAAGU/AvMSmbaQbi4/s320/DSC_0303.JPG" /&gt;&lt;/a&gt;Pantheon. We ended the night with some amazing Gelato at Giolitti's, a famous spot. It was the most pleasant night in terms of weather, probably about 75 degrees or so around 11. We walked through the streets back to our hotel.&lt;br /&gt;&lt;br /&gt;Tomorrow we are headed north to the Cinque Terra. Should be fantastic.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-8112421661592245637?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/8112421661592245637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/08/italy-day-4-rome.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8112421661592245637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8112421661592245637'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/08/italy-day-4-rome.html' title='Italy Day 4:  Rome'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WJAXNr-E5xU/SqwNWr_-1-I/AAAAAAAAAGM/v54atYK7YrI/s72-c/DSC_0242.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-6859484502322828593</id><published>2009-08-30T06:47:00.000-07:00</published><updated>2009-09-12T14:05:29.587-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>Italy Day 3:  Rome</title><content type='html'>&lt;div&gt;&lt;div&gt;&lt;div&gt;We woke up today and headed for Vatican City. We debated long and hard about whether to book a tour of the Vatican Museum and St. Peter's Basilica, or use our audioguides. Buying the tour (60 euro) meant skipping the long lines people warn you about. And remeber it is super hot outside. But we decided to take our chances. After taxiing to the Vatican, we walked right in....no line at all!&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_WJAXNr-E5xU/SqwMDM414mI/AAAAAAAAAFs/DmlR7wQ320w/s1600-h/DSC_0165.JPG"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 320px; FLOAT: right; HEIGHT: 214px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5380688903939678818" border="0" alt="" src="http://4.bp.blogspot.com/_WJAXNr-E5xU/SqwMDM414mI/AAAAAAAAAFs/DmlR7wQ320w/s320/DSC_0165.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;We started at the &lt;a href="http://en.wikipedia.org/wiki/Vatican_Museums"&gt;Vatican Museum&lt;/a&gt;. We traveled through room upon room of amazing sculptures, tapestries, frescos and mosaics. The art is amazing, but the building may be even more amazing. It is a piece of art in itself. The ceilings are just as impressive as any of the pieces lining the halls.&lt;br /&gt;&lt;br /&gt;The most famous attractions in the Vatican Museum are the Rafael's &lt;a title="Raphael Rooms" href="http://en.wikipedia.org/wiki/Raphael_Rooms"&gt;Stanze della Segnatura&lt;/a&gt; and Michaelangelo's &lt;a href="http://en.wikipedia.org/wiki/Sistine_Chapel"&gt;Sistine Chapel&lt;/a&gt;. Many say that Sistine Chapel is the greatest work of art done by any one man. It did not disappoint, as Stephanie and I look at the ceiling for about a half hour.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_WJAXNr-E5xU/SqwMpdhESLI/AAAAAAAAAF8/WfdocWR1pJI/s1600-h/DSC_0193.JPG"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 214px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5380689561238390962" border="0" alt="" src="http://4.bp.blogspot.com/_WJAXNr-E5xU/SqwMpdhESLI/AAAAAAAAAF8/WfdocWR1pJI/s320/DSC_0193.JPG" /&gt;&lt;/a&gt;After leaving the Vatican Museum, we headed to &lt;a href="http://en.wikipedia.org/wiki/St._Peter"&gt;St. Peter's Basilica&lt;/a&gt;. We entered through &lt;a href="http://en.wikipedia.org/wiki/Saint_Peter"&gt;St. Peter's Square&lt;/a&gt;. The sheer size of the square and the church itself is stunning. St. Peter's Basilica is the largest church in the world, and contains the tomb of St. Peter himself, along with numerous popes. Words cannot describe the church itself. It is something I hope everyone has a chance to see for themselves at some point.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_WJAXNr-E5xU/SqwMyXNO2jI/AAAAAAAAAGE/noohBE8BhO0/s1600-h/DSC_0205.JPG"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 320px; FLOAT: right; HEIGHT: 214px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5380689714163407410" border="0" alt="" src="http://2.bp.blogspot.com/_WJAXNr-E5xU/SqwMyXNO2jI/AAAAAAAAAGE/noohBE8BhO0/s320/DSC_0205.JPG" /&gt;&lt;/a&gt;After a day of sightseeing at the Vatican, we headed over to Travestere for a late dinner. It is a popular spot for dining among locals. We headed down cobblestone streets and alleys in search of a small family restaurant we were recommended. We found it and had a great true, long Italian dinner. It was fantastic.&lt;/div&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/3482195980561498760-6859484502322828593?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/6859484502322828593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/08/italy-day-3-rome.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/6859484502322828593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/6859484502322828593'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/08/italy-day-3-rome.html' title='Italy Day 3:  Rome'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WJAXNr-E5xU/SqwMDM414mI/AAAAAAAAAFs/DmlR7wQ320w/s72-c/DSC_0165.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-9135067338318836051</id><published>2009-08-28T23:42:00.000-07:00</published><updated>2009-09-11T23:32:03.761-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>Italy Day 2:  Rome</title><content type='html'>Day 2 was a busy and incredible day. I am blown away by being here. I have not experienced anything like this ever before.&lt;br /&gt;&lt;br /&gt;We ate a delicious breakfast at our hotel, getting up some energy before we headed out. We walked from our hotel towards the &lt;a href="http://en.wikipedia.org/wiki/Colosseum"&gt;Colosseum&lt;/a&gt;. On the half hour walk, we passed by ancient ruins and incredible streets and buildings. The streets are almost all cobblestone. Approaching the Colosseum the first time is pretty exciting.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_WJAXNr-E5xU/Sqs_GMtM10I/AAAAAAAAAFM/ES3cgWp05uw/s1600-h/DSC_0017.JPG"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 214px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5380463555546765122" border="0" alt="" src="http://2.bp.blogspot.com/_WJAXNr-E5xU/Sqs_GMtM10I/AAAAAAAAAFM/ES3cgWp05uw/s320/DSC_0017.JPG" /&gt;&lt;/a&gt;I will note that there is some major, major heat going on here today. Hot and humid. Purchasing water left and right already.&lt;br /&gt;&lt;br /&gt;We had purchased a Roma Pass earlier, which allowed us to walk right past the long line and into the Colosseum...no wait. I had downloaded maps and free audioguides on our iPods, and we started them up when we got inside. This was a great idea I must say. We watched hot tourists following guides in small groups as we strolled around at our own pace listening to our audioguide. Hearing the history and seeing the Colosseum from the inside is awesome.&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;We then headed towards the &lt;a href="http://en.wikipedia.org/wiki/Roman_Forum"&gt;Roman Forum&lt;/a&gt;, going the wrong way several times before finally landing at the appropriate entrance. The Forum was the beginning of Rome, containing mainly ruins now. Again, equipped with our maps and audioguides, we navigated around on our own, pausing in the shade frequently.&lt;br /&gt;&lt;br /&gt;After finishing up there, we headed towards the &lt;a href="http://en.wikipedia.org/wiki/Monument_to_Vittorio_Emanuele_II"&gt;Vittorio Emanuele monument&lt;/a&gt; on Capitol Hill for lunch. We had a tip that this is a great spot, and it was. On top of the monument, several stories up, you can see 360 degrees of Rome. Getting some food and drinks under umbrellas and fans was great.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_WJAXNr-E5xU/Sqs_qmwVUGI/AAAAAAAAAFc/EaapSK_Tog4/s1600-h/DSC_0089.JPG"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 214px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5380464181014515810" border="0" alt="" src="http://1.bp.blogspot.com/_WJAXNr-E5xU/Sqs_qmwVUGI/AAAAAAAAAFc/EaapSK_Tog4/s320/DSC_0089.JPG" /&gt;&lt;/a&gt;Next was the Pantheon. The dome ceiling of the &lt;a href="http://en.wikipedia.org/wiki/Pantheon,_Rome"&gt;Pantheon&lt;/a&gt; is unbelievable. I could stare at that for days. I don't get how someone could build it today, much less a couple thousand years ago. After this stop, its siesta time so we grabbed a taxi.&lt;br /&gt;&lt;br /&gt;After resting up, we headed back out for dinner. We had revervations at a little place outside Campo De Fiore. Its nightime now, and Rome is bustling with people out drinking and eating in the streets. Almost all restaurants have tables on patios on the cobblestone streets. Ours was no different and we ate a nice meal outside next to another American couple from New York.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_WJAXNr-E5xU/SqtAIb5Hr9I/AAAAAAAAAFk/iLSuZQa5-zQ/s1600-h/DSC_0118.JPG"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 214px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5380464693494656978" border="0" alt="" src="http://2.bp.blogspot.com/_WJAXNr-E5xU/SqtAIb5Hr9I/AAAAAAAAAFk/iLSuZQa5-zQ/s320/DSC_0118.JPG" /&gt;&lt;/a&gt;After dinner we strolled on a night walk across Rome. We went through &lt;a href="http://en.wikipedia.org/wiki/Piazza_Navona"&gt;Piazza Navona&lt;/a&gt; and grabbed dark and white chocolate gelato. Stephanie loved the white. We ate it outside, sitting on the Four Rivers Fountain. We then crusied over to &lt;a href="http://en.wikipedia.org/wiki/Trevi_Fountain"&gt;Trevi Fountain&lt;/a&gt;, which may be the most amazing thing I have ever seen. I had purposely waited to see it until nighttime, and it was worth it. We ended the night walking up the &lt;a href="http://en.wikipedia.org/wiki/Spanish_Steps"&gt;Spanish Steps&lt;/a&gt;.&lt;/div&gt;&lt;/div&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/3482195980561498760-9135067338318836051?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/9135067338318836051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/08/italy-day-2-rome.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/9135067338318836051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/9135067338318836051'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/08/italy-day-2-rome.html' title='Italy Day 2:  Rome'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WJAXNr-E5xU/Sqs_GMtM10I/AAAAAAAAAFM/ES3cgWp05uw/s72-c/DSC_0017.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-4105382665649515115</id><published>2009-08-27T22:52:00.000-07:00</published><updated>2009-09-11T23:09:25.408-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>Italy Day 1:  Rome</title><content type='html'>I will say Day 1, but it was really more like 2. We left Seattle at noon on Wednesday and arrived in Rome at about noon on Thursday. We had a layover at the Amsterdam airport, which was really nice.&lt;br /&gt;&lt;br /&gt;After landing and grabbing our backpacks, we got on the Leonardo Express train, which took us from the airport into Termini Station in Rome. The train was hot...it is pretty damn hot in Rome right now in general. Our hotel, the Grand St. Regis, is within walking distance of the station, so we hoofed it over there. After a short walk with our bags, we were hot, sweaty and exhausted, but excited to be here.&lt;br /&gt;&lt;br /&gt;We got unpacked and then headed out. We decided to walk toward the heart of Rome in search of a little dinner. I started snapping pictures of amazing buildings as we walked, and shortly realized that I probably should take a picture of just about every building. It is unbelievable. We ended up walking by the Pantheon and some other awesome Piazzas, before settling down in a little outdoor spot for some wine and antipasta. It felt great to relax here.&lt;br /&gt;&lt;br /&gt;We walked a bit more and then grabbed a taxi home. We were ready to crash at this point. We had both been up for about 30 hours straight. Looking forward to a big day 2...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-4105382665649515115?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/4105382665649515115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/08/italy-day-1-arrival-in-rome.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/4105382665649515115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/4105382665649515115'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/08/italy-day-1-arrival-in-rome.html' title='Italy Day 1:  Rome'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-6531223287262725962</id><published>2009-08-27T22:49:00.000-07:00</published><updated>2009-09-11T23:09:25.408-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>Italy</title><content type='html'>Stephanie and I are in Italy right now for the next two weeks. We will be staying the following places on our trip...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Rome&lt;/li&gt;&lt;li&gt;Cinque Terra&lt;/li&gt;&lt;li&gt;Venice&lt;/li&gt;&lt;li&gt;Florence&lt;/li&gt;&lt;li&gt;Orvieto&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I am going to do a little blog journal of our travels, hitting up internet cafes when we get the chance.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-6531223287262725962?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/6531223287262725962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/08/italy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/6531223287262725962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/6531223287262725962'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/08/italy.html' title='Italy'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-609352954791840653</id><published>2009-08-05T07:24:00.000-07:00</published><updated>2009-08-05T07:28:42.759-07:00</updated><title type='text'>Home For Sale</title><content type='html'>&lt;p&gt;We are looking for a buyer for our home in Sammamish, WA. Stephanie put up a website for us. Check it out and pass it along to anyone who might be looking... &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.buyinsammamish.com/"&gt;http://www.buyinsammamish.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_WJAXNr-E5xU/SnmWtYsDZpI/AAAAAAAAAEs/-8w2nlZueUE/s1600-h/home.jpg"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 269px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5366486137454159506" border="0" alt="" src="http://4.bp.blogspot.com/_WJAXNr-E5xU/SnmWtYsDZpI/AAAAAAAAAEs/-8w2nlZueUE/s400/home.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-609352954791840653?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/609352954791840653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/08/home-for-sale.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/609352954791840653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/609352954791840653'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/08/home-for-sale.html' title='Home For Sale'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WJAXNr-E5xU/SnmWtYsDZpI/AAAAAAAAAEs/-8w2nlZueUE/s72-c/home.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-4068839400873802037</id><published>2009-07-25T22:15:00.000-07:00</published><updated>2009-09-11T23:10:05.143-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Scheduling or Dispatching Work in Windows Azure</title><content type='html'>I have been developing applications for the cloud on &lt;a href="http://www.microsoft.com/azure"&gt;Windows Azure&lt;/a&gt; since its &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-corrected"&gt;initial&lt;/span&gt; &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;CTP&lt;/span&gt; was released last fall at &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;PDC&lt;/span&gt;. I just recently upgraded to the latest &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=aa40f3e2-afc5-484d-b4e9-6a5227e73590&amp;amp;displaylang=en"&gt;July &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;CTP&lt;/span&gt; of the &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;SDK&lt;/span&gt;&lt;/a&gt;, released publicly last week. They have made a major improvement in this version: the ability to have multiple web and worker role types per application. This has made it significantly easier for me to schedule/dispatch offline processing in my worker roles. I thought I would share an example of what I call the "Dispatcher Pattern".&lt;br /&gt;&lt;br /&gt;Here is a sample of how I can now implement the "Dispatcher Pattern" using multiple worker role types for an application:&lt;br /&gt;&lt;br /&gt;Requirements:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;My application needs to perform a background task, such as aggregating different pieces of data, very often.&lt;/li&gt;&lt;li&gt;I want to be able to scale this work and ensure that I don't have multiple instances doing the same work at the same time.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Solution:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;A "Dispatcher" worker role will quickly determine what work should occur, inserting a queue message into a queue for each piece work. There will only be one instance of the "Dispatcher" running, so you can be confident that the same items are not being inserted into the queue multiple times. The "Dispatcher" role can queue work as frequently as needed.&lt;/li&gt;&lt;li&gt;A second role type actually does the work. This role type, "&lt;span id="SPELLING_ERROR_5" class="blsp-spelling-corrected"&gt;Aggregation&lt;/span&gt; Role" in this case, pulls a message off the queue, does its work, and repeats. While you only needed one instance of a "Dispatcher", you can scale to as many of this role type as you need to keep up with your queue.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I think this is a very useful pattern when it comes to needing to initiate work to take place in your worker roles in Windows Azure, especially when the work is not triggered from an action taking place in a Web Role. You can now have multiple worker role types in an application, and scale them independently.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-4068839400873802037?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/4068839400873802037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/07/scheduling-or-dispatching-work-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/4068839400873802037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/4068839400873802037'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/07/scheduling-or-dispatching-work-in.html' title='Scheduling or Dispatching Work in Windows Azure'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-4360314557847953705</id><published>2009-07-18T20:48:00.001-07:00</published><updated>2009-07-20T17:15:00.857-07:00</updated><title type='text'>New Law Firm Site:  CMS Law Firm</title><content type='html'>Recently I have been buliding some sites for a new friend of mine, Chris Small.&lt;br /&gt;&lt;br /&gt;He is a &lt;a href="http://www.fightyourseattledui.com/"&gt;Bellevue DUI attorney&lt;/a&gt;, &lt;a href="http://www.fightyourseattledui.com/"&gt;Seattle DUI attorney&lt;/a&gt;, &lt;a href="http://www.fightyourseattledui.com/"&gt;Bellevue criminal attorney&lt;/a&gt;, &lt;a href="http://www.fightyourseattledui.com/"&gt;Seattle criminal attorney&lt;/a&gt;, &lt;a href="http://www.fightyourseattletrafficticket.com/"&gt;Bellevue traffic lawyer&lt;/a&gt;, &lt;a href="http://www.fightyourseattletrafficticket.com/"&gt;Seattle traffic lawyer&lt;/a&gt;, and &lt;a href="http://www.cmslawfirm.com/"&gt;Seattle eminent domain lawyer&lt;/a&gt;. Click on the links to check out the sites and give him a call if you need help.&lt;br /&gt;&lt;br /&gt;One of the cool things about working with Chris has been how in tune he is with Search Engine Optimization.  After only a few weeks, his main site, &lt;a href="http://www.cmslawfirm.com/"&gt;www.cmslawfirm.com&lt;/a&gt; already had a Google page rank of 3.  Pretty impressive.   More to come as these sites climb the ladder...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-4360314557847953705?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/4360314557847953705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/07/new-law-firm-site-cms-law-firm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/4360314557847953705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/4360314557847953705'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/07/new-law-firm-site-cms-law-firm.html' title='New Law Firm Site:  CMS Law Firm'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-8202487572616356981</id><published>2009-06-05T11:24:00.000-07:00</published><updated>2009-09-11T23:10:05.143-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Auth and Auth in the Cloud</title><content type='html'>I have been developing on the &lt;a href="http://www.microsoft.com/azure"&gt;Windows Azure&lt;/a&gt; platform for the past 8 months or so. One of the more interesting reads I have had is a &lt;a href="http://go.microsoft.com/fwlink/?LinkID=150835"&gt;developer white paper on the .NET Access Control Service&lt;/a&gt;, one of the components of the Azure Services Platform. It gives a great overview building Claims-based applications and dives into a sample application. I have to say that I think Microsoft is headed in the right direction to delivering Identity Federation in the cloud, making the migration of enterprise applications to the cloud more of a reality.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-8202487572616356981?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/8202487572616356981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/06/auth-and-auth-in-cloud.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8202487572616356981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8202487572616356981'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/06/auth-and-auth-in-cloud.html' title='Auth and Auth in the Cloud'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-8670297434599812546</id><published>2009-05-18T09:45:00.000-07:00</published><updated>2009-05-22T12:20:17.645-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Music'/><title type='text'>Top 5 Concerts</title><content type='html'>I was talking to a buddy of mine about the best concerts we have seen. Thought it would make for an interesting blog post. Here is my list, after some careful &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-corrected"&gt;deliberation&lt;/span&gt;...&lt;br /&gt;&lt;br /&gt;#5. Dave Matthews Band at the Gorge. I'm not singling out a particular show. Any one from 2001 - 2003 is on my list here. But one of them for sure makes my top 5. The music, venue and the whole camping experience during my college years is a great memory.&lt;br /&gt;&lt;br /&gt;#4. Paul Simon at the Paramount, Seattle WA in 2000. Sat in the front row...of the orchestra pit. Literally leaning on the front of the stage, and shook Paul's hand after the encore. Seeing those songs &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-corrected"&gt;performed&lt;/span&gt; that close was great.&lt;br /&gt;&lt;br /&gt;#3. John Mayer at Richards on Richards in Vancouver, BC in 2001. It was awesome to see him before he made it big in a pretty small club/bar, just after Room For Squares was released. There were probably 500 people there or so, and you could walk right up to the front of the stage.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#2. Dave Matthews performing solo acoustic at &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;Benaroya&lt;/span&gt; Hall in Seattle, WA in 2002. It was a 2 hour set of just Dave by himself in a very private setting. Acoustics are amazing in there. Dave played a 5 song encore with a 15 minute story mixed in there as well.&lt;br /&gt;&lt;br /&gt;#1. U2 during their Elevation Tour in Vancouver, &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-corrected"&gt;BC&lt;/span&gt; in 2001. Could have swapped in their Vertigo Tour show in Seattle, WA here as well but the 2001 show was my first time seeing them live and is deserving of the top spot. U2 may be the best live show of all time.&lt;br /&gt;&lt;br /&gt;Honorable mentions (great artists/shows I have also seen):&lt;br /&gt;&lt;br /&gt;Eric Clapton, &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;Fleetwood&lt;/span&gt; Mac, Paul Simon, James Taylor, Jackson Browne, Jason &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;Mraz&lt;/span&gt;, Counting Crows, Dave Matthews and Tim Reynolds, Jack Johnson, Ben Harper, Maroon 5, Mat Kearney, Glen Phillips, Ben Folds, Ben Lee, Death Cab for Cutie, Green Day, Matt &lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;Nathanson&lt;/span&gt;, James Morrison.&lt;br /&gt;&lt;br /&gt;I am headed to &lt;span id="SPELLING_ERROR_7" class="blsp-spelling-error"&gt;Coldplay&lt;/span&gt; at the Gorge in July and have a feeling that might crack the top 5. We will see...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-8670297434599812546?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/8670297434599812546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/05/top-5-concerts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8670297434599812546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8670297434599812546'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/05/top-5-concerts.html' title='Top 5 Concerts'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-8928459515030895748</id><published>2009-05-09T12:39:00.000-07:00</published><updated>2009-05-11T10:35:16.399-07:00</updated><title type='text'>Site Review</title><content type='html'>Paul, a buddy of mine getting his MBA, recently completed &lt;a href="http://ecis.seattleu.edu/students/2009/spring/mba56002/wilsonp/home.htm"&gt;his first website&lt;/a&gt; as part of a homework assignment. When I recently saw him, he asked me for my humble opinion...&lt;br /&gt;&lt;br /&gt;While I absolutely love the &lt;a href="http://ecis.seattleu.edu/students/2009/spring/mba56002/wilsonp/myway.htm"&gt;My Way&lt;/a&gt; page, I have to say I was not overly impressed with the home page, even with my expectations going in. Here are my thoughts:&lt;br /&gt;&lt;br /&gt;1. Looks like Paul was going for the simple approach of completing this assigment. And thats great. So many sites have done simple well. Take &lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt; or &lt;a href="http://www.craigslist.com/"&gt;Craigslist&lt;/a&gt;. Problem with Paul's site is that it doesn't do simple well. It looks like a first website. Borrowing a simple look and feel from someone else would have worked well, and been maybe even faster.&lt;br /&gt;&lt;br /&gt;2. We are in business school now, not elementary school. We need some originality. Where is the catchy name? Where is the logo? "Paul's home page"? How long did it take to come up with that one? A little branding would go a long way.&lt;br /&gt;&lt;br /&gt;3. Again, back to business school. The internet is a place where money can be made. Even though this is just a first website, lets get some advertising on there, some sponsorships, to bring in some money. Who is opposed to making a few bucks while doing your homework?&lt;br /&gt;&lt;br /&gt;I always try to let my actions do the talking, not my words. So I took my own advice here and applied it to Paul's site.&lt;br /&gt;&lt;br /&gt;I give you ... &lt;a href="http://www.pauggle.com/"&gt;www.pauggle.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-8928459515030895748?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/8928459515030895748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/05/site-review.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8928459515030895748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8928459515030895748'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/05/site-review.html' title='Site Review'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-646228451669354013</id><published>2009-05-05T07:48:00.000-07:00</published><updated>2009-09-11T23:08:01.748-07:00</updated><title type='text'>Rule of 3</title><content type='html'>I have been consulting for Microsoft for the past several months in the Windows Azure space. Recently I have been meeting with some folks to help define some best practices for building applications on Windows Azure. One of the people I have been working with is J.D. Meier. He has a couple of great blogs: a &lt;a href="http://blogs.msdn.com/jmeier/default.aspx"&gt;MSDN blog&lt;/a&gt; and one called &lt;a href="http://sourcesofinsight.com/"&gt;Sources of Insight&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I read a &lt;a href="http://sourcesofinsight.com/2009/02/10/the-rule-of-3/"&gt;recent post&lt;/a&gt; on &lt;a href="http://www.sourcesofinsight.com/"&gt;http://www.sourcesofinsight.com/&lt;/a&gt; that I thought was really good. It was about the Rule of 3, and how to apply it to short term and long term goals. Check it out if you get a chance.&lt;br /&gt;&lt;br /&gt;On a different note, a friend of mine was asking me to blog about his new website. The creative juices are flowing. Stay tuned...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-646228451669354013?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/646228451669354013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/05/rule-of-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/646228451669354013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/646228451669354013'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/05/rule-of-3.html' title='Rule of 3'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-8823924218054861969</id><published>2009-04-03T15:26:00.001-07:00</published><updated>2009-04-06T21:11:39.950-07:00</updated><title type='text'>March Web Traffic Statistics</title><content type='html'>We'll, another great month of March has come and gone. It definately was one of my busiest, with managing &lt;a href="http://www.wearmybracket.com/"&gt;http://www.wearmybracket.com&lt;/a&gt; in addition to &lt;a href="http://www.finalforman.net/"&gt;http://www.finalforman.net&lt;/a&gt;. I thought I would post some traffic numbers, for those of you interested besides myself.&lt;br /&gt;&lt;br /&gt;The traffic numbers in 2009 for FinalForman saw another increase. Its always nice to see them keep going up, even if its just slightly. Here is a table breaking down the numbers compared to the last two years:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;March 2007&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;Unique Visitors: 635&lt;br /&gt;Total Visits: 2906&lt;br /&gt;Pages Viewed: 64904&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;March 2008&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;Unique Visitors: 971&lt;br /&gt;Total Visits: 3316&lt;br /&gt;Pages Viewed: 31434&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;March 2009&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;Unique Visitors: 1321&lt;br /&gt;Total Visits: 3706&lt;br /&gt;Pages Viewed: 77550&lt;br /&gt;&lt;br /&gt;The single highest traffic day came on the first Friday of the tournament, March 20th. We saw 431 unique visitors on that day. The day prior and the day after also saw unique visitors in the 400s.&lt;br /&gt;&lt;br /&gt;WearMyBracket.com had its first March, and its numbers were not nearly as impressive. There were slightly over 200 unique visitors for the month of March, with a single day high of 47 on the day I spammed people with my lovely email.&lt;br /&gt;&lt;br /&gt;Looking forward to continuing the upward trends next year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-8823924218054861969?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/8823924218054861969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/04/march-web-traffic-statistics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8823924218054861969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8823924218054861969'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/04/march-web-traffic-statistics.html' title='March Web Traffic Statistics'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-1706052360326890686</id><published>2009-03-09T22:09:00.000-07:00</published><updated>2009-09-11T23:10:05.143-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Silverlight, ADO.NET Data Services, and WCF Services</title><content type='html'>I knew immediately that I wanted to use Silverlight for the user interface for my new &lt;a href="http://www.wearmybracket.com/"&gt;WearMyBracket.com&lt;/a&gt; website.  I wanted a simple, slick UI that would be straight to the point, but still leave folks a little impressed.  And I felt that I had just enough UI skills to get this done. &lt;br /&gt;&lt;br /&gt;I decided on a "flip" effect to take users through a simple order process.  As the user proceeded though my order process, I would flip their canvas over for each step.  This provided me an opportunity to save their progress to a database on each transition.  As far as I know, there are two good ways to do this in Silverlight: an ADO.NET Data Service or a WCF Service.  Either of these can run in your web application hosting your Silverlight application.&lt;br /&gt;&lt;br /&gt;I started down the path of adding an ADO.NET Data Service to my web application.  I liked the flexibiliy that this presented me.  I would not have to write any custom WCF services, as any data operations I wanted to do within my Silverlight application would be possible via the REST-based data service.  In addtion, my data model consisted of only a few tables, so I felt things would not be overly complex and were a good candidate for using a data service.  Creating the data service is made super simple these days in Visual Studio.  After I created my database schema in SQL Server, I went to my web application project, selected "Add New Item", and added an ADO.NET Entity Data Model to my project.  After that model is generated from my database schema, I then added the ADO.NET Data Service.  A few tweaks in code to relate the two, and I was good to go. &lt;br /&gt;&lt;br /&gt;Back in my Silverlight project, I added a service reference to my data service, and started playing around with reading and writing to the data service.  I quickly saw that this was not going to be quite as easy as I thought.  Because of some of the relationships in my schema, and the way the data service needs to be tracking objects, I would have to make multiple calls to the data service from my Silverlight client in order to do some of my operations.  And I also realized that maybe my scenario isn't quite right for a ADO.NET Data Service anyway.  After all, my simple application would only need a couple of  WCF services that could do all my work, providing simple and streamlined calls from my Silverlight app.  I went back and removed my data service, added a Silverlight-enabled WCF service and was on my way.  Writing the implemenation within my couple WCF services took less than an hour.&lt;br /&gt;&lt;br /&gt;ADO.NET Data Services are flexible, in that you do not have to write any custom services for data operations.  However, the I think application needs to have the neccessity for that flexibility.  I didn't have that neccessity.  I only had one client calling application.  My data operations were few, and were not going to change.  In my case,  writing a couple simple WCF services was the way to go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-1706052360326890686?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/1706052360326890686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/03/silverlight-adonet-data-services-and.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/1706052360326890686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/1706052360326890686'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/03/silverlight-adonet-data-services-and.html' title='Silverlight, ADO.NET Data Services, and WCF Services'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-2388038341613030779</id><published>2009-02-23T12:39:00.000-08:00</published><updated>2009-02-23T12:52:00.010-08:00</updated><title type='text'>WearMyBracket.com</title><content type='html'>If you know me, then you probably have participated in, or at least about &lt;a href="http://www.finalforman.net/"&gt;http://www.finalforman.net&lt;/a&gt;.  The site started out as a way to expand a college March Madness pool back in 2001.  Today it is a fun way to keep in touch with a lot of people, and enjoy the month of March.&lt;br /&gt;&lt;br /&gt;After getting denied for tickets for the opening rounds in Boise this year, a large group of us decided to head to Las Vegas instead.  Blessing in disguise, maybe?  While musing about the fun we will have, an idea emerged about wearing our picks on a t-shirt.  People seemed to like the idea.  So I am now introducing....&lt;a href="http://www.wearmybracket.com/"&gt;WearMyBracket.com&lt;/a&gt;.  Anyone can purchase one of our custom designed shirts.  I'll give a shout out to &lt;a href="http://www.jacobgreif.com/"&gt;Jake&lt;/a&gt;, for his help on the shirt and graphics, and Hans, for their help on getting this off the ground.  Place your orders!&lt;br /&gt;&lt;br /&gt;With two sites to manage during the month of March, I am going to be a busy man.  I am already working on a few improvements to FinalForman.net for this year. &lt;br /&gt;&lt;br /&gt;Stay tuned for another post, where I will discuss some of the technical choices I made for this simple site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-2388038341613030779?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/2388038341613030779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/02/wearmybracketcom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/2388038341613030779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/2388038341613030779'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/02/wearmybracketcom.html' title='WearMyBracket.com'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-8141027021175934858</id><published>2009-02-19T08:11:00.000-08:00</published><updated>2009-02-19T08:19:26.263-08:00</updated><title type='text'>I'm back!</title><content type='html'>It has been a long time since my last post.  There are a variety of reasons for this.  Some of those are good, like the following:&lt;div&gt;&lt;ul&gt;&lt;li&gt;Spending lots of time with my one-year old.&lt;/li&gt;&lt;li&gt;Being healthier and more active.&lt;/li&gt;&lt;li&gt;Pursuing other hobbies in my free time, such as music.&lt;/li&gt;&lt;li&gt;Found other outlets for communication, such as Facebook.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;But all of those doesn't mean I can find time to share a post or two.  After all, I am still not a &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc135988.aspx"&gt;5:01 developer&lt;/a&gt;.  So I am back, with some &lt;a href="http://slalomdev.blogspot.com/2009/02/once-month-blog-challenge.html"&gt;motivation from Greg&lt;/a&gt;.  Stay tuned for my February post, coming soon...&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/3482195980561498760-8141027021175934858?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/8141027021175934858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2009/02/im-back.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8141027021175934858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8141027021175934858'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2009/02/im-back.html' title='I&apos;m back!'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-5056146486580496674</id><published>2008-04-18T15:04:00.000-07:00</published><updated>2009-09-11T23:10:05.143-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Silverlight 2:  Communicating Between Controls</title><content type='html'>In an attempt to keep pace with the &lt;a href="http://slalomdev.blogspot.com/2008/03/one-week-challenge.html"&gt;one a week challenge&lt;/a&gt;, here is another post!  Does two in one week make up for none in the last?&lt;br /&gt;&lt;br /&gt;I have been working on my first production Silverlight application, using Silverlight 2 Beta 1.  I have been playing around with how best to structure the site, with maintainability in mind.  As a result, I have several user controls that encapsulate specific pieces of functionality.  I am treating the Page.xaml that is loaded when my site loads conceptually as my "Master Page", containing different user controls, etc.  All in all, I am pretty satisfied.&lt;br /&gt;&lt;br /&gt;I came across the need for a user control to communicate with another user control.  I started down the route of raising an event and registering handlers.  Problem is that my first user control is contained in another user control, and I didn't want to add events and handlers to both user controls to propagate all the way up to my parent page.&lt;br /&gt;&lt;br /&gt;I wrote a quick extension method that uses Generics that solves my problem.  You can use it to retrieve a specific ancestor of an element... quite useful.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WJAXNr-E5xU/SAkimYXr0bI/AAAAAAAAACo/eE7TBtHS2lk/s1600-h/code.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_WJAXNr-E5xU/SAkimYXr0bI/AAAAAAAAACo/eE7TBtHS2lk/s400/code.jpg" alt="" id="BLOGGER_PHOTO_ID_5190718088293372338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here is how I called it within my user control...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WJAXNr-E5xU/SAkjPYXr0cI/AAAAAAAAACw/CHf1kk-oQUQ/s1600-h/code.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_WJAXNr-E5xU/SAkjPYXr0cI/AAAAAAAAACw/CHf1kk-oQUQ/s400/code.jpg" alt="" id="BLOGGER_PHOTO_ID_5190718792668008898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In unit testing, I saw a variety of StackPanels, Grids, and UserControls on the way to my desired Page.  Its important to note that if you have a reference to a Control, its .Parent property will usually give you a container such as a Grid, Canvas, or StackPanel.  If you need an "Grandparent" or "Great Grandparent", this extension works well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-5056146486580496674?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/5056146486580496674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2008/04/silverlight-2-communicating-between.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/5056146486580496674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/5056146486580496674'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2008/04/silverlight-2-communicating-between.html' title='Silverlight 2:  Communicating Between Controls'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WJAXNr-E5xU/SAkimYXr0bI/AAAAAAAAACo/eE7TBtHS2lk/s72-c/code.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-1969712750179592820</id><published>2008-04-17T13:10:00.000-07:00</published><updated>2009-09-11T23:10:30.975-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Managing Environment-Specific Settings In Your Projects</title><content type='html'>Having an automated build and deployment process is a key and sometimes overlooked component to building software.  Part of that process is implementing a mechanism that will manage the changes to environment specific settings that need to be applied to your configuration files when deploying to a specific environment.  And if your current mechanism is using notepad to edit your web.config/app.config once your code is deployed....please continue reading :-).&lt;br /&gt;&lt;br /&gt;A few months ago, I was turned on to the Enterprise Library Configuration Tool, a new component introduced in Microsoft's  &lt;a href="http://msdn2.microsoft.com/en-us/library/aa480453.aspx"&gt;Enterprise Library&lt;/a&gt;.  &lt;a href="http://davidhayden.com/"&gt;David Hayden&lt;/a&gt; has a &lt;a href="http://www.davidhayden.com/blog/dave/archive/2007/03/01/EnvironmentalOverridesEnterpriseLibrary3.aspx"&gt;good post&lt;/a&gt; about how to use this tool.  Patterns and Practices explains it &lt;a href="http://www.pnpguidance.net/Post/EnvironmentalOverridesEnterpriseLibrary3.aspx"&gt;here&lt;/a&gt;.  It addresses this very issue, and provides a user interface to view your settings and apply environmental-specific overrides.  I started using this tool, and found that I enjoyed using that UI because I could easily see all the values for a setting across my environments.&lt;br /&gt;&lt;br /&gt;I was able to automate the merging of the delta files created by the configuration tool into my build process with a executable provided by EntLib, called MergeConfiguration.  I updated my MSBuild project file, TFSBuild.proj, with a target to run this executable after my code was dropped.&lt;br /&gt;&lt;br /&gt;The downfall to this method was a limitation I discovered in the Configuration Tool.  The settings I was allowed to manage and override were limited to Enterprise Library configuration sections, connection strings, and application settings.  I could not change values of settings in sections such as System.Web and System.Net.  Hmmm.  My honeymoon phase with this tool was officially over.&lt;br /&gt;&lt;br /&gt;Another solution to this problem that I like is a solution that &lt;a href="http://www.scotthanselman.com/"&gt;Scott Hanselman&lt;/a&gt; talks about &lt;a href="http://www.hanselman.com/blog/ManagingMultipleConfigurationFileEnvironmentsWithPreBuildEvents.aspx"&gt;here&lt;/a&gt;.  It is pretty simple and here are the steps...&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Create a new configuration in Visual Studio for each of your environments, such as Staging, Production, etc.  You can model each one after the existing Release configuration for starters.&lt;/li&gt;&lt;li&gt;Create a separate configuration file (i.e. web.config) for each of your environments.  So you would end up having web.config.staging, web.config.production, etc.&lt;/li&gt;&lt;li&gt;Create a Pre-Build Event that swaps the environmental-specific web.config for the existing one based upon the configuration that is being built.  You can get a version that does this in Scott's post.&lt;/li&gt;&lt;/ol&gt;After trying this method, I found a couple of things I did not like.  First of all, I didn't like having to create environment-specific configurations within Visual Studio.  In some solutions, I have multiple configurations for code that will be deployed to different locations.  I don't like idea of duplicating configurations for all those existing configurations, that all are essentially the same.  Secondly, in larger solutions, you will have to copy that "pre-build" event into each project that has a configuration file.  This spreads this very similar logic across my solution in different places I need to keep track of.&lt;br /&gt;&lt;br /&gt;So...I have been using a hybrid approach that addresses these issues for me...&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I create a separate configuration file for my different environments (web.config.staging, etc).&lt;/li&gt;&lt;li&gt;I add a target to my MSBuild project file (TFSBuild.proj when using TFS) to copy the correct configuration file to the root of my application after it is built.  This way, if I have to copy multiple files for multiple configurations, all of the statements are right here.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;(Optional) I modify the properties on the configuration files in the root of my projects to set their Build Action to "None".  This means that they will not be included in the build.  I like the settings in those files to be local development settings, and know that they will not be replicated to other environments.  So what is deployed is either the correct environment-specific config copied in Step 2, or none at all.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;The downside with this method (and the one Scott describes) is that you have multiple web.config files to manage.  Some people really do not like this.  I don't mind it.  If you make use of the fact that you can split out configuration sections that do not change across environments into separate includes, you can eliminate a lot of the redundancy.  To me, you are either going to have multiple config files, or multiple delta files.  It probably just depends on preference.&lt;br /&gt;&lt;br /&gt;There are definitely other ways to solve this problem.  If you have other good solutions, I would love to hear about them....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-1969712750179592820?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/1969712750179592820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2008/04/managing-environment-specific-settings.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/1969712750179592820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/1969712750179592820'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2008/04/managing-environment-specific-settings.html' title='Managing Environment-Specific Settings In Your Projects'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-8663761981448104633</id><published>2008-04-01T20:03:00.000-07:00</published><updated>2009-09-11T23:10:30.975-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>TFS Blog Series:  Overview (Part 1)</title><content type='html'>Welcome to the first post of the TFS Blog Series! &lt;a href="http://slalomdev.blogspot.com/"&gt;Greg Martin&lt;/a&gt;, my friend and &lt;a href="http://www.slalom.com/"&gt;Slalom Consulting&lt;/a&gt; collegue, and I will be doing a series of posts about Visual Studio Team System, focused around Team Foundation Server. We will cover a wide range of topics, and hope to give you an in depth look at some of the key features. This series will mostly be from a developer point of view. The majority of the content of the series will apply across both the 2005 and 2008 versions of Team System.&lt;br /&gt;&lt;br /&gt;This first post will be an overview. I hope to explain a bit about the what and the why with TFS. The where, when, and how are probably mixed in there somewhere as well.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;What is Team System?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/vsts2008/products/bb964615.aspx"&gt;Visual Studio Team System&lt;/a&gt; is an integrated Application Life-cycle Management (ALM) solution. There are several products designed for individuals serving different roles on a project, from Architects to Developers to Testers.&lt;br /&gt;&lt;br /&gt;Team System centers around &lt;a href="http://msdn2.microsoft.com/en-us/vsts2008/products/bb933758.aspx"&gt;Team Foundation Server&lt;/a&gt; (TFS). TFS is the collaboration server, the "hub" of the system, and integrates all of the supporting products. It stores information about a project and provides project-related services, both figuratively and literally. The services that TFS provides for a project include:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Work Item Tracking&lt;/li&gt;&lt;li&gt;Source/Version Control&lt;/li&gt;&lt;li&gt;Reporting (via SQL Server Reporting Services)&lt;/li&gt;&lt;li&gt;Build Services (via Team Build)&lt;/li&gt;&lt;li&gt;Project Portal (via SharePoint)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;So what are those other products that make up Team System besides Team Foundation Server? They are the different Team Editions of Visual Studio: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/vsts2008/products/bb933749.aspx"&gt;Visual Studio Team System Architecture Edition&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/vsts2008/products/bb933752.aspx"&gt;Visual Studio Team System Development Edition&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/vsts2008/products/bb933747.aspx"&gt;Visual Studio Team System Database Edition&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/vsts2008/products/bb933754.aspx"&gt;Visual Studio Team System Test Edition&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/vsts2008/products/bb933756.aspx"&gt;Visual Studio Team System Test Load Agent&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/vsts2008/products/bb933735.aspx"&gt;Visual Studio Team Edition Team Suite&lt;/a&gt; (a.k.a all of the above)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;It is important to note that you DO NOT need one of these Team Edtions to use TFS. The regular Visual Studio versions (Standard and Professional) can be used. However, you will miss out on some of the features in the specific editions designed for Team System.&lt;/p&gt;Here is a nice picture provided by Microsoft that visually depicts Team System:&lt;br /&gt;&lt;img style="CURSOR: hand" id="BLOGGER_PHOTO_ID_5185539046918705394" border="0" alt="" src="http://3.bp.blogspot.com/_WJAXNr-E5xU/R_a8SfyB0PI/AAAAAAAAACY/C9v0ARKd8So/s400/VSTS_Overview.png" /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Why should you use it?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To me, here are some of the key reasons for why you would want to use TFS on a project.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Promoting Best Practices&lt;/strong&gt;&lt;br /&gt;Using TFS promotes you to follow best practices, plain and simple. Because you are provided with just about all the pieces you need to full manage a team project, you would have to make a conscience choice to NOT use features, and not follow best practices. It is entirely opposite when you are not using a product like TFS. Then, you have to make the effort to incorporate best practices into your project. With TFS, its all right there for you to use. And you will.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Providing One Common Tool Suite&lt;/strong&gt;&lt;br /&gt;Having a common tool suite is very nice. I personally love not having to leave the Visual Studio IDE to check/modify work items, find documents, view reports, use source control, and run builds. In the past, think about all of the different third party solutions that would come into play. I am sure you probably have worked on a project with VSS or Perforce, NANT, Cruise Control, NUnit, some custom deployment solution, and some sort of Work Item tracking tool. Throwing out all of those in exchange for just ONE product is great. Less time spent getting all of these to play together, and more time spent on the actual delivery of the project.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;What You Get Out of the Box&lt;br /&gt;&lt;/strong&gt;I love to do a presentation where I show what I get with TFS when starting a new project. I say.... "Lets see what I get in 10 minutes of work". After the 10 minutes I have a new project created, complete with different security groups set up. I have initial Iteration 0 work items assigned to project team members in the Work Item Tracking system. I have some initial documents uploaded into the SharePoint portal for our project. I have reports showing the upcoming work, even displaying in that portal. I have source control set up and my initial code solution imported. And I have an automated, continuous integration build established for that code solution, with the first build complete. IN TEN MINUTES!!! Granted I am talking very fast and I know my way around. But you can see just how much you have at your disposal when starting a new project. No time is wasted getting all of these pieces set up individually.&lt;/li&gt;&lt;/ul&gt;So on what type of a project would you use TFS? To me, it is for everyone on any software development project, regardless of project size or team size. I have worked on software projects by myself, and I still use TFS. It's great for giving me a source control and a place to plan out and prioritize my work. And if my team of one were to grow, even to two, the project would be all ready for a collaborative work effort. In teams of larger size, it is a no-brainer.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;What do I need to get started?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The first thing you will need is to identify a Team Foundation Server instance to use. Your company may already have an instance ready for you to use. If you are going to be responsible for installing an instance yourself, check out some &lt;a href="http://msdn2.microsoft.com/en-us/library/ms316494.aspx"&gt;TFS server planning&lt;/a&gt;. If you don't have an instace at your disposal, and you don't want to install/maintain one, you aren't totally out of luck. There are TFS hosting providers starting to pop up as well. Check out &lt;a href="http://www.teamdevcentral.com/overview.html"&gt;TeamDevCentral&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The next step is to install Team Explorer ( &lt;a href="http://download.microsoft.com/download/2/a/d/2ad44873-8ccb-4a1b-9c0d-23224b3ba34c/VSTFClient.img"&gt;2005 version&lt;/a&gt; &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0ed12659-3d41-4420-bbb0-a46e51bfca86&amp;amp;displaylang=en"&gt;2008 version&lt;/a&gt; ). Team Explorer will allow you to manage the projects and project components of a TFS instance from within Visual Studio. You may be surpised to know that you do not need a specific Team Edition of Visual Studio to install Team Explorer and use TFS. You can actually install Team Explorer without having Visual Studio installed at all. Team Explorer will install the shell itself. If your TFS instance does not have TFS Web Access configured, Team Explorer will be the primary mode of interaction with your team project.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is a example of what the Team Explorer window looks like in the IDE:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_WJAXNr-E5xU/R_mlXPyB0QI/AAAAAAAAACg/fg0sXz-muVk/s1600-h/teamexplorer.jpg"&gt;&lt;img style="CURSOR: hand" id="BLOGGER_PHOTO_ID_5186358264685777154" border="0" alt="" src="http://1.bp.blogspot.com/_WJAXNr-E5xU/R_mlXPyB0QI/AAAAAAAAACg/fg0sXz-muVk/s400/teamexplorer.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can see the different areas of Work Items, Documents, Reports, Builds, and Source Control are all nicely viewable in the Visual Studio IDE. One of the nicest things about TFS is its integration within the IDE.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Summary&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If you aren't using TFS, check it out. That's it. I hope you will continue to follow this blog series. There will be some great posts on some specific topics in the near future.&lt;br /&gt;&lt;br /&gt;Here are some additonal TFS / Team System resources:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/TFSGuide"&gt;patterns and pratices: Team Development with TFS Guide&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cshost.members.winisp.net/blog/vstsresources.html"&gt;Visual diagram of TFS/Team System resources&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-8663761981448104633?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/8663761981448104633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2008/04/tfs-blog-series-overview-part-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8663761981448104633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8663761981448104633'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2008/04/tfs-blog-series-overview-part-1.html' title='TFS Blog Series:  Overview (Part 1)'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WJAXNr-E5xU/R_a8SfyB0PI/AAAAAAAAACY/C9v0ARKd8So/s72-c/VSTS_Overview.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-3062586946228424402</id><published>2008-03-24T19:46:00.000-07:00</published><updated>2009-09-11T23:10:30.976-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Team System Code Name Rosario</title><content type='html'>The development community has been hit with an onslaught of releases in the past several months. First came the much anticipated Visual Studio 2008, and its various editions. Then you add in TFS 2008, Team Explorer 2008, the .NET 3.5 Framework, ASP.NET MVC, Silverlight 2 Beta, and the list goes on. It is truly an exciting time.&lt;br /&gt;&lt;br /&gt;But something kind of slipped under the radar, at least in my opinion. Microsoft released a CTP of &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/bb725993.aspx"&gt;Visual Studio Team System Code Name "Rosario"&lt;/a&gt;, the version of Team System that follows 2008. (Wait, isn't it still early 2008?)&lt;br /&gt;&lt;br /&gt;Here are some of the highlights that will be included in "Rosario", either in the current CTP or future releases:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Historical Debugging - support to go back to a specific point in time.&lt;/li&gt;&lt;li&gt;Rule Sets - configure your projects to use various categorized sets of Code Analysis rules in your solution.&lt;/li&gt;&lt;li&gt;Just My Code Profiler - support to exclude external framework and component calls from performance tests.&lt;/li&gt;&lt;li&gt;Version History - ability to track changes across branches and merges.&lt;/li&gt;&lt;li&gt;Add to Source Control - ability to drag/drop and add from outside mapped folders.&lt;/li&gt;&lt;li&gt;Additional Metric and Dashboards - increasing project visibility.&lt;/li&gt;&lt;li&gt;Build/Deploy Setup - integrated support to build setup packages.&lt;/li&gt;&lt;li&gt;And a ton more...&lt;/li&gt;&lt;/ul&gt;Here are some helpful links regarding "Rosario":&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=65D0E3BD-9DF3-421A-804F-8F01BD90F0B4&amp;amp;displaylang=en"&gt;November CTP (VPC Image)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=50C4B0B3-AE27-45FA-8D13-400066E0FCF5&amp;amp;displaylang=en"&gt;November CTP Documentation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/feeds/msdn/en-us/teamsystem/specs.xml"&gt;Specification RSS Feed&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-3062586946228424402?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/3062586946228424402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2008/03/team-system-code-name-rosario.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/3062586946228424402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/3062586946228424402'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2008/03/team-system-code-name-rosario.html' title='Team System Code Name Rosario'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-5227666637367315940</id><published>2008-03-19T10:25:00.000-07:00</published><updated>2009-09-11T23:10:30.976-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Mounting ISO Images on Windows Vista</title><content type='html'>This post will be entirely useless to you, until you encounter this same problem and remember  that you read this.&lt;br /&gt;&lt;br /&gt;I was recently building out a new developer image for Vista.  I have all of my ISO files for installing large programs such as Visual Studio Editions, SQL Server, and the like, stored on a handy external hard drive.  One of my first tasks is to install an application that allows me to mount images.  I have been using &lt;a href="http://www.slysoft.com/en/virtual-clonedrive.html"&gt;Virtual CloneDrive&lt;/a&gt; lately.  I have really liked this tool, especially since it allows you to just double-click an ISO file and off it goes.&lt;br /&gt;&lt;br /&gt;I used Virtual CloneDrive to mount a couple files and those installations went fine, including VS 2008 .   I then proceeded to an ISO for VS 2005 Team Edition for Software Developers.  I have used this ISO many a time before, not on Vista however.  However, this time the setup could not access certain files.  After some digging, I found a &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=203630&amp;amp;SiteID=1"&gt;forum post&lt;/a&gt; about similar issues, and another post on a &lt;a href="http://www.mohundro.com/blog/PermaLink,guid,865fcaca-d9e4-4bba-a92f-32a68685a9c3.aspx"&gt;possible solution&lt;/a&gt;.  It seems that Virtual CloneDrive is not completely compatible with Vista, at least for some ISOs.  The solution was to uninstall, and use &lt;a href="http://www.daemon-tools.cc/dtcc/index.php?"&gt;Daemon Tools&lt;/a&gt; instead.  I tried, and sure enough, the installation worked fine with Daemon Tools.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-5227666637367315940?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/5227666637367315940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2008/03/mounting-iso-images-on-windows-vista.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/5227666637367315940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/5227666637367315940'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2008/03/mounting-iso-images-on-windows-vista.html' title='Mounting ISO Images on Windows Vista'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-8377762310522876930</id><published>2008-03-10T20:54:00.000-07:00</published><updated>2009-09-11T23:10:30.976-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Silverlight 2</title><content type='html'>I recently attended &lt;a href="http://http//www.visitmix.com/"&gt;Mix '08&lt;/a&gt;, Microsoft's conference for discussing new web technologies. The buzz was definately around &lt;a href="http://http//www.microsoft.com/silverlight/default.aspx"&gt;Silverlight 2&lt;/a&gt;, the latest release of Microsoft's answer to Adobe Flash. Silverlight 2 Beta 1 is now available, and in my opinion, will become the norm for consumer-facing rich internet applications.&lt;br /&gt;&lt;br /&gt;Silverlight 1.0, and subsequent 1.1, was released in 2007, and included support for mainly media-driven content sites. Version 2.0 introduces a wide variety of built-in controls and layout options that will bring the simplicity and familiarity of .NET Web Development to a rich client-side interface.&lt;br /&gt;&lt;br /&gt;Here are a variety of resources I have assembled around Silverlight 2.0, from installation guides, to tutorials, examples, and sites.&lt;br /&gt;&lt;br /&gt;Tools/Installs:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/silverlight/resources/installationFiles.aspx?v=2.0"&gt;Silverlight Beta 2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=32A3E916-E681-4955-BC9F-CFBA49273C7C&amp;amp;displaylang=en"&gt;Microsoft Expression Blend 2.5 (March Preview)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E0BAE58E-9C0B-4090-A1DB-F134D9F095FD&amp;amp;displaylang=en"&gt;Microsoft Silverlight Tools Beta 1 for Visual Studio 2008&lt;/a&gt; and &lt;a href="http://weblogs.asp.net/bradleyb/archive/2008/03/06/installation-tips-for-sivliverlight-tools-beta-1-for-visual-studio-2008.aspx"&gt;Installation Tips&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Presentations/Tutorials:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://sessions.visitmix.com/?selectedSearch=KYN0801"&gt;Mix '08 Keynote&lt;/a&gt; given by &lt;a href="http://weblogs.asp.net/scottgu/"&gt;Scott Guthrie&lt;/a&gt; and others and included a great showcase of Silverlight 2 sites.&lt;/li&gt;&lt;li&gt;Mix '08 Session: Building Rich Internet Applications Using Microsoft Silverlight 2. This is an excellent presentation/demo given by Mike Harsh and Joe Stegman. Here are links to &lt;a href="http://sessions.visitmix.com/?selectedSearch=CT01"&gt;Part 1&lt;/a&gt;, &lt;a href="http://sessions.visitmix.com/?selectedSearch=CT02"&gt;Part 2&lt;/a&gt;, and &lt;a href="http://blogs.msdn.com/mharsh/archive/2008/03/05/slides-and-demos-from-my-mix-08-talk.aspx"&gt;Mike's blog post&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2008/02/22/first-look-at-silverlight-2.aspx"&gt;First Look at Silverlight 2&lt;/a&gt; is a great post by Scott Guthrie on Silverlight 2 including a sample Digg client application.&lt;/li&gt;&lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2008/02/28/first-look-at-using-expression-blend-with-silverlight-2.aspx"&gt;Using Expression Blend with Silverlight 2&lt;/a&gt; is another good post by Scott Guthrie on getting into this design tool for Silverlight apps.&lt;/li&gt;&lt;li&gt;Jeff Procise delivers a nice MSDN Magazine article on &lt;a href="http://msdn2.microsoft.com/en-us/magazine/cc164249.aspx"&gt;Silverlight Tips and Tricks&lt;/a&gt;, touching on performance, installation, and other goodies.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Sites/Examples:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Deep Zoom is a feature in Silverlight 2.0. Hard Rock's new &lt;a href="http://memorabilia.hardrock.com/"&gt;memorabelia site&lt;/a&gt; showcases it. &lt;a href="http://www.hanselman.com/blog/"&gt;Scott Hansleman&lt;/a&gt; has a &lt;a href="http://www.hanselman.com/blog/DeepZoomSeadragonSilverlight2MultiScaleImagesAtMix.aspx"&gt;good post&lt;/a&gt; about this site and the technology in general.&lt;/li&gt;&lt;li&gt;&lt;a href="http://download.microsoft.com/download/2/c/4/2c433161-f56c-4bab-bbc5-b8c6f240afcc/Silverlight_2008_FINAL_edit_640x360_2M_CBR_noaud.wmv"&gt;Video&lt;/a&gt; featuring some of the previous and new Silverlight sites.&lt;/li&gt;&lt;li&gt;&lt;a href="http://photozoom.mslivelabs.com/"&gt;PhotoZoom&lt;/a&gt; is a great site featuring Deep Zoom. You can upload photos, and it will stitch them together into an album and you can Deep Zoom away.&lt;/li&gt;&lt;li&gt;A plethora of great examples are in the &lt;a href="http://silverlight.net/showcase/"&gt;showcase&lt;/a&gt; at Microsoft's Silverlight site.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-8377762310522876930?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/8377762310522876930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2008/03/silverlight-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8377762310522876930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8377762310522876930'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2008/03/silverlight-2.html' title='Silverlight 2'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-5690942571964974453</id><published>2008-03-09T21:14:00.000-07:00</published><updated>2008-03-09T21:22:16.042-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sports'/><title type='text'>FinalForman.NET</title><content type='html'>For those that know me, you know where my brain is this time of year.  There is something always special about the tournament.  Even when I haven't been paying close attention this season, February turns to March and all of a sudden I care again.&lt;br /&gt;&lt;br /&gt;And that brings me to......&lt;a href="http://www.finalforman.net/"&gt;http://www.finalforman.net&lt;/a&gt;.  Trying to do my part in getting the word out.  Check it out, let me know what you think.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-5690942571964974453?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/5690942571964974453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2008/03/finalformannet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/5690942571964974453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/5690942571964974453'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2008/03/finalformannet.html' title='FinalForman.NET'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-2676667210637903572</id><published>2008-01-13T22:02:00.000-08:00</published><updated>2009-09-11T23:10:30.976-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Enum To Collection: Make Binding Easy</title><content type='html'>I prefer storing domain data for applications in an Enum, when that data seldom/rarely changes. In doing so, I find that I need to display this data in the form of a DropDownList in the UI. Through a generic "Enum To Collection" method, and the use of ObjectDataSources, this task is very easy.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Here is the generic static method to turn an Enum into a Collection:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="csharpcode"&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; Collection&amp;lt;KeyValuePair&amp;lt;&lt;span class="kwrd"&gt;string&lt;/span&gt;, &lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt;&amp;gt; ToCollection&amp;lt;T&amp;gt;()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      Collection&amp;lt;KeyValuePair&amp;lt;&lt;span class="kwrd"&gt;string&lt;/span&gt;, &lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt;&amp;gt; collection = &lt;span class="kwrd"&gt;new&lt;/span&gt; Collection&amp;lt;KeyValuePair&amp;lt;&lt;span class="kwrd"&gt;string&lt;/span&gt;, &lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt;&amp;gt;();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      Array values = Enum.GetValues(&lt;span class="kwrd"&gt;typeof&lt;/span&gt; (T));&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt; &lt;span class="kwrd"&gt;in&lt;/span&gt; values)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;           collection.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; KeyValuePair&amp;lt;&lt;span class="kwrd"&gt;string&lt;/span&gt;, &lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt;(Enum.GetName(&lt;span class="kwrd"&gt;typeof&lt;/span&gt; (T), &lt;span class="kwrd"&gt;value&lt;/span&gt;), &lt;span class="kwrd"&gt;value&lt;/span&gt;));&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      &lt;span class="kwrd"&gt;return&lt;/span&gt; collection;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;I then define a static method in my business class decorated with the DataObject attribute:&lt;br /&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;br /&gt;[DataObjectMethod(DataObjectMethodType.Select)]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; Collection&amp;lt;KeyValuePair&amp;lt;&lt;span class="kwrd"&gt;string&lt;/span&gt;, &lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt;&amp;gt; GetDays()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;     &lt;span class="kwrd"&gt;return&lt;/span&gt; EnumHelper.ToCollection&amp;lt;Days&amp;gt;();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div&gt;Then, just drop a DropDownList control onto your page. Use the Configure Data Source wizard to select your static method you just defined:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_WJAXNr-E5xU/R4r9YhxT7XI/AAAAAAAAACI/daz9jW-_miA/s1600-h/odsWizard.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5155211321302838642" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_WJAXNr-E5xU/R4r9YhxT7XI/AAAAAAAAACI/daz9jW-_miA/s400/odsWizard.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;And that's it. Check it out:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_WJAXNr-E5xU/R4r9khxT7YI/AAAAAAAAACQ/isDyItQGL1E/s1600-h/finishdropdown.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5155211527461268866" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_WJAXNr-E5xU/R4r9khxT7YI/AAAAAAAAACQ/isDyItQGL1E/s400/finishdropdown.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Note: I like to set "AppendDataBoundItems" to true, and add my "-Select-" value on the page. This is nice because I don't have to deal with that logic in my business tier.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Hope you like it and happy binding.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-2676667210637903572?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/2676667210637903572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2008/01/enum-to-collection-make-binding-easy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/2676667210637903572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/2676667210637903572'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2008/01/enum-to-collection-make-binding-easy.html' title='Enum To Collection: Make Binding Easy'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WJAXNr-E5xU/R4r9YhxT7XI/AAAAAAAAACI/daz9jW-_miA/s72-c/odsWizard.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-8243597194317301209</id><published>2008-01-04T22:35:00.000-08:00</published><updated>2009-09-11T23:10:30.976-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Easy trick to decreasing your page size!</title><content type='html'>While working on a project with &lt;a href="http://www.thannap.com/"&gt;Than Nap&lt;/a&gt;, a fellow &lt;a href="http://www.slalom.com/"&gt;Slalom &lt;/a&gt;consultant, I picked up a simple trick to decreasing your page size.&lt;br /&gt;&lt;br /&gt;If you have worked with MasterPages in ASP.NET 2.0, you have no doubt been looking at the source of a page, and seen something like the following....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_WJAXNr-E5xU/R38s0xxT7TI/AAAAAAAAABk/JVbXh_yRJr0/s1600-h/before.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5151885783960120626" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_WJAXNr-E5xU/R38s0xxT7TI/AAAAAAAAABk/JVbXh_yRJr0/s400/before.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The naming convention of controls following the hierarchy of pages in which the control is nested. When the ID of a masterpage is not explicitly set, it defaults to ctl00. When you add a new MasterPage to a project/website, you get default content like the following...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_WJAXNr-E5xU/R38s8BxT7UI/AAAAAAAAABs/FTlmH0odSTk/s1600-h/placeholder.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5151885908514172226" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_WJAXNr-E5xU/R38s8BxT7UI/AAAAAAAAABs/FTlmH0odSTk/s400/placeholder.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you just start going from here, you may be making a mistake.  The names you give (or don't give) your MasterPage and ContentPlaceHolders show up twice per control.  And you might be appalled if you look at the source for a gridview/detailsview.&lt;br /&gt;&lt;br /&gt;Here's the tip:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Name your contentplaceholders with as short of name as possible. I use "c" for a main content area, "t" for a title, and so on. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add the following piece of code to code behind of your MasterPage. &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_WJAXNr-E5xU/R38tmBxT7VI/AAAAAAAAAB0/VvcMhRKYwk0/s1600-h/override.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5151886630068677970" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_WJAXNr-E5xU/R38tmBxT7VI/AAAAAAAAAB0/VvcMhRKYwk0/s400/override.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The same example I started with (btnSave) would now look like this in source...&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;a href="http://4.bp.blogspot.com/_WJAXNr-E5xU/R38tzxxT7WI/AAAAAAAAAB8/t1l3tQ-dIBg/s1600-h/after.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5151886866291879266" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_WJAXNr-E5xU/R38tzxxT7WI/AAAAAAAAAB8/t1l3tQ-dIBg/s400/after.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In larger applications, with complex web forms, this little trick may get you a 10% decrease in page size alone!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-8243597194317301209?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/8243597194317301209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2008/01/easy-trick-to-decreasing-your-page-size.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8243597194317301209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/8243597194317301209'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2008/01/easy-trick-to-decreasing-your-page-size.html' title='Easy trick to decreasing your page size!'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WJAXNr-E5xU/R38s0xxT7TI/AAAAAAAAABk/JVbXh_yRJr0/s72-c/before.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-3329532977430189892</id><published>2007-12-30T21:23:00.000-08:00</published><updated>2009-09-11T23:10:30.976-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Enums and Custom Attributes</title><content type='html'>A few projects ago, while working with &lt;a href="http://slalomdev.blogspot.com/"&gt;Greg Martin&lt;/a&gt;, I discovered the benefit of using custom attributes with enums. It is a great way to empower your enums to replace custom logic in your applications. Since then, I have been on a bit of a attribute rampage, and I swear it has simplified many complex scenarios, and reduced the amount of custom code I would normally write.&lt;br /&gt;&lt;br /&gt;Here are the bits, and please excuse my cheesy example, or just make fun of it.&lt;br /&gt;&lt;br /&gt;I use an interface which my custom attributes derive from, in addition to deriving from System.Attribute. The interface merely enforces a property named Value to be defined. The interface is used in a later static method, as you will see.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_WJAXNr-E5xU/R3iGLxxT7JI/AAAAAAAAAAU/VKjstwMIwUg/s1600-h/interface.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5150013710795009170" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_WJAXNr-E5xU/R3iGLxxT7JI/AAAAAAAAAAU/VKjstwMIwUg/s320/interface.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;I create a custom attribute deriving from System.Attribute and my interface. &lt;/p&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_WJAXNr-E5xU/R3iG4hxT7LI/AAAAAAAAAAk/WWXeLyCT86k/s1600-h/attribute1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5150014479594155186" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_WJAXNr-E5xU/R3iG4hxT7LI/AAAAAAAAAAk/WWXeLyCT86k/s400/attribute1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I add my custom attribute to a targeted enum.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_WJAXNr-E5xU/R3iHGxxT7MI/AAAAAAAAAAs/9f6y6ZLoFiw/s1600-h/daysEnum1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5150014724407291074" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_WJAXNr-E5xU/R3iHGxxT7MI/AAAAAAAAAAs/9f6y6ZLoFiw/s400/daysEnum1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I use a static generic method to retrieve the custom attribute value for a given enum value.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_WJAXNr-E5xU/R3iH-RxT7NI/AAAAAAAAAA0/qaLbGbws8kk/s1600-h/method.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5150015677890030802" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_WJAXNr-E5xU/R3iH-RxT7NI/AAAAAAAAAA0/qaLbGbws8kk/s400/method.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I retrieve my attribute value in code with a simple "one-liner".&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_WJAXNr-E5xU/R3iIqBxT7OI/AAAAAAAAAA8/Es0Gf5TcUeE/s1600-h/howTo1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5150016429509307618" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_WJAXNr-E5xU/R3iIqBxT7OI/AAAAAAAAAA8/Es0Gf5TcUeE/s400/howTo1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When I see another need for a custom attribute and I already have a solid pattern in place. Just add a new attribute class, modify my enum, and off I go.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_WJAXNr-E5xU/R3iJfRxT7PI/AAAAAAAAABE/S3cW9MaHh2I/s1600-h/attribute2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5150017344337341682" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_WJAXNr-E5xU/R3iJfRxT7PI/AAAAAAAAABE/S3cW9MaHh2I/s400/attribute2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_WJAXNr-E5xU/R3iJ3hxT7QI/AAAAAAAAABM/-vO5VLvO4HI/s1600-h/daysEnum2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5150017760949169410" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_WJAXNr-E5xU/R3iJ3hxT7QI/AAAAAAAAABM/-vO5VLvO4HI/s400/daysEnum2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_WJAXNr-E5xU/R3iKGRxT7RI/AAAAAAAAABU/YgGFT97AfDI/s1600-h/howtouse.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5150018014352239890" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_WJAXNr-E5xU/R3iKGRxT7RI/AAAAAAAAABU/YgGFT97AfDI/s400/howtouse.jpg" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;In my applications, I continue to find more and more ways to use attributes and enums together. Hope you find this useful as well.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-3329532977430189892?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/3329532977430189892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2007/12/enums-and-custom-attributes.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/3329532977430189892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/3329532977430189892'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2007/12/enums-and-custom-attributes.html' title='Enums and Custom Attributes'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_WJAXNr-E5xU/R3iGLxxT7JI/AAAAAAAAAAU/VKjstwMIwUg/s72-c/interface.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3482195980561498760.post-6920790551498338263</id><published>2007-12-30T08:45:00.000-08:00</published><updated>2007-12-30T08:51:54.880-08:00</updated><title type='text'>Welcome to my Blog!</title><content type='html'>I find myself reading more and more blogs these days, and enjoying every minute of it.  I justed started using &lt;a href="http://www.google.com/reader"&gt;Google Reader&lt;/a&gt;.  Check it out if you haven't already.  At any rate, inspired by reading great posts elsewhere, I figured it might be time to start blogging a bit myself.&lt;br /&gt;&lt;br /&gt;This blog will probably be Developer-focused, but you may see a bit of humor/family/sports content here and there.  Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3482195980561498760-6920790551498338263?l=joelforman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelforman.blogspot.com/feeds/6920790551498338263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelforman.blogspot.com/2007/12/welcome-to-my-blog.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/6920790551498338263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3482195980561498760/posts/default/6920790551498338263'/><link rel='alternate' type='text/html' href='http://joelforman.blogspot.com/2007/12/welcome-to-my-blog.html' title='Welcome to my Blog!'/><author><name>Slalom Cloud Solutions</name><uri>http://www.blogger.com/profile/08477124696059898880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
