<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>Emmanuel&apos;s Blog</title>
      <link>http://blog.ehuna.org/</link>
      <description>Random general thoughts and ideas from Emmanuel Huna - some personal and some technical on software development and Microsoft technologies (WPF, WCF, ASP.NET, Windows Azure, SQL Azure, LINQ, ADO.NET, etc...)</description>
      <language>en</language>
      <copyright>Copyright 2010</copyright>
      <lastBuildDate>Fri, 29 Jan 2010 22:11:00 -0800</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title><![CDATA[Red-Gate&rsquo;s SQL Compare &ndash; now with SQL Azure support!]]></title>
         <description><![CDATA[<p>For a few years I’ve been using <a href="http://www.red-gate.com/products/SQL_Compare/index.htm" target="_blank">SQL Compare</a> from Red-Gate – an amazing product that allows you to do compare and synchronize SQL Server database schemas – and much more:</p>  <blockquote>   <p><a href="http://www.red-gate.com/products/SQL_Compare/index.htm" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.ehuna.org/liveimages/RedGatesSQLComparenowwithSQLAzuresupport_CEA0/image.png" width="345" height="200" /></a>       <br /><em>For more info see -        <br /></em><a href="http://www.red-gate.com/products/SQL_Compare/index.htm"><em>http://www.red-gate.com/products/SQL_Compare/index.htm</em></a><em>&#160;</em></p> </blockquote>  <p>Red Gate has announced they now have an early access build of SQL Compare 8 that works with SQL Azure!&#160; If you're interested in trying this out please complete the form at:</p>  <p>&#160;&#160; <a href="http://www.red-gate.com/Azure"><font size="5">http://www.red-gate.com/Azure</font></a></p>  <p>Please note that I' do not work for Microsoft or Red Gate Software – I’m just a very happy customer.</p>  <p>Below I have more information on how this support for SQL Azure came about.&#160; Just like Microsoft has the “Windows 7 was my idea!” ads – I’m proud to say “Support for SQL Azure in SQL Compare was my idea!” – and this time it might just be true!</p> ]]></description>
         <link>http://blog.ehuna.org/2010/01/redgates_sql_compare_now_with.html</link>
         <guid>http://blog.ehuna.org/2010/01/redgates_sql_compare_now_with.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">03 - Technical</category>
        
        
         <pubDate>Fri, 29 Jan 2010 22:11:00 -0800</pubDate>
      </item>
            <item>
         <title><![CDATA[How to speed up your Windows Azure Development &ndash; two screencasts available]]></title>
         <description><![CDATA[<p>Today I sat down with my co-worker Arif A. and we went over a couple of ways I found to speed up Windows Azure Development.&#160; </p>  <p><a href="http://screencasts.ehuna.org/2010/01/how_to_speed_up_windows_azure.html" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.ehuna.org/liveimages/HowtospeedupyourWindowsAzureDevelopmentt_12FED/image.png" width="436" height="335" /></a> </p>  <p>Basically we discuss how you can host your web roles in IIS and how you can create a keyboard shortcut to quickly attach the Visual Studio debugger to an IIS process – giving you your RAD (<a href="http://en.wikipedia.org/wiki/Rapid_application_development" target="_blank">Rapid Application Development</a>) process back!&#160; I created two separate screencasts which you can access below:</p>  <p>&#160; How to speed up Windows Azure Development (Part 1 of 2, 18 minutes)   <br />&#160; <a href="http://screencasts.ehuna.org/2010/01/how_to_speed_up_windows_azure.html">http://screencasts.ehuna.org/2010/01/how_to_speed_up_windows_azure.html</a></p>  <p>&#160; How to speed up Windows Azure Development (Part 2 of 2, 9 minutes)   <br />&#160; <a href="http://screencasts.ehuna.org/2010/01/how_to_speed_up_windows_azure_1.html">http://screencasts.ehuna.org/2010/01/how_to_speed_up_windows_azure_1.html</a></p>  <p>Each article contains the screencast, additional notes and a sample Visual Studio 2008 project you can download.&#160; Good Times!</p>]]></description>
         <link>http://blog.ehuna.org/2010/01/how_to_speed_up_your_windows_a.html</link>
         <guid>http://blog.ehuna.org/2010/01/how_to_speed_up_your_windows_a.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">03 - Technical</category>
        
        
         <pubDate>Thu, 28 Jan 2010 21:33:00 -0800</pubDate>
      </item>
            <item>
         <title><![CDATA[TechCrunch.com hacked&hellip; again]]></title>
         <description><![CDATA[<p>At 11:05 PM (PST) I checked out <a href="http://www.techcrunch.com/" target="_blank">TechCrunch.com</a> and saw:</p>  <p><a href="http://blog.ehuna.org/liveimages/TechCrunch.comhackedagain_1479D/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.ehuna.org/liveimages/TechCrunch.comhackedagain_1479D/image_thumb.png" width="479" height="135" /></a> </p>  <p>Now at 11:15 PM (PST) it just says:</p>  <p><a href="http://blog.ehuna.org/liveimages/TechCrunch.comhackedagain_1479D/image_3.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.ehuna.org/liveimages/TechCrunch.comhackedagain_1479D/image_thumb_3.png" width="477" height="99" /></a> </p>  <p>TechCrunch.com is hosted on Rackspace.com and <a href="http://www.inquisitr.com/59036/techcrunch-hacked/" target="_blank">some have reported</a> this might be a security issue with Rackspace.com and that the attack could be server based (and not DNS related).&#160; <a href="http://www.inquisitr.com/59036/techcrunch-hacked/" target="_blank">Inquisitr.com</a> reports that TechCrunch.com was hacked around 10 PM as well.&#160; These are interesting times we live in.&#160; </p>]]></description>
         <link>http://blog.ehuna.org/2010/01/techcrunchcom_hacked_again.html</link>
         <guid>http://blog.ehuna.org/2010/01/techcrunchcom_hacked_again.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">03 - Technical</category>
        
        
         <pubDate>Mon, 25 Jan 2010 23:16:00 -0800</pubDate>
      </item>
            <item>
         <title><![CDATA[How to stop getting exceptions when connecting to SQL Azure: &ldquo;System.Data.SqlClient.SqlException: An established connection was aborted by the software in your host machine&rdquo;]]></title>
         <description><![CDATA[<p><em>Note: this is a technical article for developers who work with SQL Server, SQL Azure, Windows Azure, ADO.NET, .netTiers and other geek technologies.&#160; Skip this if you’re not a developer – this will be really boring otherwise.</em></p>  <p>We have deployed a few web roles to Windows Azure and every once in a while we get the following exception when connecting to SQL Azure:</p>  <blockquote>   <p><em><strong>System.Data.SqlClient.SqlException</strong>: A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An established connection was aborted by the software in your host machine.) </em></p> </blockquote>  <p>This does not happen on every call, but it happened over 70 times a few weeks ago as our QA team was testing our web role.&#160; Both the web roles and the SQL Azure database were in the same Windows Azure Data Center.&#160; We did set the maxconnection to 96 for connection pooling.&#160; We use .netTiers (<a href="http://nettiers.com/)">http://nettiers.com/)</a> for our ORM, it's similar to nHibernate. </p>  <blockquote>   <p><a href="http://blog.ehuna.org/liveimages/Howtostopgettingexceptionswhenconnecting_E9B3/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.ehuna.org/liveimages/Howtostopgettingexceptionswhenconnecting_E9B3/image_thumb.png" width="367" height="357" /></a>       <br /><em>I asked <a href="http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/6002fbce-449c-4398-a2db-a16020dfeea0/" target="_blank">this question</a> on the Windows Azure Forums         <br />We finally figured out how to solve the issue when using .netTiers</em></p> </blockquote>  <p>Below I show you how you can avoid these exceptions – with a specific fix if you are using .netTiers (<a title="http://nettiers.com/" href="http://nettiers.com/">http://nettiers.com/</a>) as your ORM.&#160; See below for the exciting details.</p> ]]></description>
         <link>http://blog.ehuna.org/2010/01/how_to_stop_getting_exceptions.html</link>
         <guid>http://blog.ehuna.org/2010/01/how_to_stop_getting_exceptions.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">03 - Technical</category>
        
        
         <pubDate>Sun, 24 Jan 2010 20:33:00 -0800</pubDate>
      </item>
            <item>
         <title>A day in a restaurant</title>
         <description><![CDATA[<p>Here’s another video from our Thanksgiving trip to Bend, Oregon.&#160; Actually, this is a a stitched picture I made from a bunch of smaller pictures while watching the Raiders lose again earlier today.&#160; There’s an iPhone app for that – it’s called “Autostitch” ($1.99) – see the details at <a title="http://www.cloudburstresearch.com/" href="http://cloudburstresearch.com/">cloudburstresearch.com/</a>.</p>  <p>Here’s our family enjoying burgers and shakes in a relaxing environment at a restaurant called the Pilot Butte (<a href="http://www.pilotbutte.com">www.pilotbutte.com</a>), in Bend, OR:</p> <object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8161499&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8161499&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>  <p>Turn up your sound and enjoy the relaxing Bossa Nova, Brazilian jazz from <a href="http://en.wikipedia.org/wiki/Ant%C3%B4nio_Carlos_Jobim" target="_blank">Antonio Carlos Jobim</a>.&#160; Below I copy the original stitched picture used in the video and a few other stitched pictures from the same trip.</p> ]]></description>
         <link>http://blog.ehuna.org/2009/12/a_day_in_a_restaurant_1.html</link>
         <guid>http://blog.ehuna.org/2009/12/a_day_in_a_restaurant_1.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">01 - General</category>
        
        
         <pubDate>Sun, 13 Dec 2009 16:45:24 -0800</pubDate>
      </item>
            <item>
         <title><![CDATA[Bingo&rsquo;s first time in the snow]]></title>
         <description><![CDATA[<p>Last month for Thanksgiving, Janelle and I went up to Bend, OR – where her Dad Joe lives.&#160; We brought along, Bingo, our pup and he had the chance to play in the snow for the first time:</p> <object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8157798&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8157798&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>  <p>Our niece Emma is shown in the second part of the video throwing the ball to Bingo.&#160; The background music is “Winter Wonderland” by <a href="http://en.wikipedia.org/wiki/Harry_Connick,_Jr." target="_blank">Harry Connick Jr.</a> and his daughter Kate.&#160; </p>]]></description>
         <link>http://blog.ehuna.org/2009/12/bingos_first_time_in_the_snow.html</link>
         <guid>http://blog.ehuna.org/2009/12/bingos_first_time_in_the_snow.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">01 - General</category>
        
        
         <pubDate>Sun, 13 Dec 2009 13:38:00 -0800</pubDate>
      </item>
            <item>
         <title>Visualizing Windows Azure diagnostic data</title>
         <description><![CDATA[<p>At the Microsoft Professional Developers conference as couple of weeks ago, I attended an excellent session on Windows Azure diagnostics.&#160; Microsoft has made the video of this session available and you can check it out here:</p>  <p>&#160; Windows Azure Monitoring, Logging, and Management APIs&#160; <br />&#160; <a title="http://microsoftpdc.com/Sessions/SVC15" href="http://microsoftpdc.com/Sessions/SVC15">http://microsoftpdc.com/Sessions/SVC15</a> (I also embed the video below)    <br />    <br />We followed some of the principles defined in the above session and turned on monitoring on our currently cloud deployed web and worker roles.&#160;&#160; Lanh, my co-worker, just finished the first version of our “Windows Azure Monitoring” application and we can now visualize this data – check out an example of our graphs:</p>  <blockquote>   <p>&#160;<a href="http://blog.ehuna.org/liveimages/VisualizingWindowsAzurediagnosticdata_BE67/windowsazurediagnosticsgraphs.jpg" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="windows-azure-diagnostics-graphs" border="0" alt="windows-azure-diagnostics-graphs" src="http://blog.ehuna.org/liveimages/VisualizingWindowsAzurediagnosticdata_BE67/windowsazurediagnosticsgraphs_thumb.jpg" width="397" height="296" /></a> <em>Visualizing Windows Azure web and worker roles performance counters        <br />Click on image to zoom in</em></p> </blockquote>  <p>We can see CPU and RAM usage by hour, by day and for the last week.&#160; Our system collects the data automatically from Azure storage or on demand.&#160; We keep one week of raw data, but the aggregate data (e.g. the graph data) we don’t delete.&#160; I think the graphs above are awesome – it’s like art!&#160; </p>  <p>I believe Microsoft will eventually have some cool tools for us in the Windows Azure portal , but having this custom Windows Azure diagnostics application will be useful regardless.&#160; For example, right now we will manually increase or decrease the number of web and worker role instances based on the performance counters above.&#160; But eventually we may use the Windows Azure Management APIs and allow this application to do it for us.&#160; </p>  <p>See below for more information on how we designed and implemented the above graphs.</p> ]]></description>
         <link>http://blog.ehuna.org/2009/12/visualizing_windows_azure_diag_1.html</link>
         <guid>http://blog.ehuna.org/2009/12/visualizing_windows_azure_diag_1.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">03 - Technical</category>
        
        
         <pubDate>Thu, 10 Dec 2009 20:34:00 -0800</pubDate>
      </item>
            <item>
         <title>An easier way to access the Windows Azure local development fabric from another computer</title>
         <description><![CDATA[<p>In development, when your Windows Azure web role is running in the local development fabric, you can normally only access it on <a href="http://127.0.0.1">http://127.0.0.1</a> on the local machine.&#160; </p>  <blockquote>   <p><a href="http://blog.ehuna.org/liveimages/AneasierwaytoaccesstheWindowsAzurelocald_C1FD/clip_image015.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image015" border="0" alt="clip_image015" src="http://blog.ehuna.org/liveimages/AneasierwaytoaccesstheWindowsAzurelocald_C1FD/clip_image015_thumb.png" width="429" height="195" /></a>      <br /><em>Using <a href="http://www.boutell.com/rinetd/" target="_blank">rinetd</a> and <a href="http://serviceex.com/" target="_blank">ServiceEx</a> to access local Azure web roles</em></p> </blockquote>  <p>A couple of days ago I published an article with instructions to bypass this localhost restriction:</p>  <p>&#160; Accessing the Windows Azure local development fabric from another computer    <br />&#160; <a title="http://blog.ehuna.org/2009/10/accessing_the_windows_azure_lo.html" href="http://blog.ehuna.org/2009/10/accessing_the_windows_azure_lo.html">http://blog.ehuna.org/2009/10/accessing_the_windows_azure_lo.html</a></p>  <p>The solution above uses SSH tunnels and involves two computers, a server and client and an authentication model.&#160; </p>  <p>I found a new way to bypass this localhost restriction, which is a bit simpler.&#160; See the details below.</p> ]]></description>
         <link>http://blog.ehuna.org/2009/10/an_easier_way_to_access_the_wi.html</link>
         <guid>http://blog.ehuna.org/2009/10/an_easier_way_to_access_the_wi.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">01 - General</category>
        
        
         <pubDate>Wed, 28 Oct 2009 23:41:00 -0800</pubDate>
      </item>
            <item>
         <title>Accessing the Windows Azure local development fabric from another computer</title>
         <description><![CDATA[<p>A couple of months ago when I started working with Windows Azure, I quickly realized that a web role running on the local development fabric could only bind to localhost (127.0.0.1).&#160; I opened a thread in the Microsoft forums:</p>  <p>&#160; Can the development fabric bind to the real IP address? (not 127.0.0.1)    <br />&#160; <a title="http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/9b8957e6-7983-47a7-9d75-954dee70dbf0" href="http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/9b8957e6-7983-47a7-9d75-954dee70dbf0">http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/9b8957e6-7983-47a7-9d75-954dee70dbf0</a></p>  <p>One developer, JuanSueroNYC, found a way to make this work for WCF services.&#160; But I want to access ASP.NET Sites as well as WCF Services running on my Azure web roles – and I’d like to make it as simple as possible (one time configuration).</p>  <blockquote>   <p><a href="http://blog.ehuna.org/liveimages/AccessingtheWindowsAzurelocaldevelopment_9A32/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.ehuna.org/liveimages/AccessingtheWindowsAzurelocaldevelopment_9A32/image_thumb.png" width="397" height="212" /></a>&#160; <br /><em>We create SSH tunnels using freeSSHd and PuTTY</em></p> </blockquote>  <p>Whenever I’m working on a project I like to use CruiseControl.NET (<a title="http://ccnet.thoughtworks.com/" href="http://ccnet.thoughtworks.com/">http://ccnet.thoughtworks.com/</a>) and create a continuous integration system.&#160; Every night at 2:00 AM , this system is responsible for getting the latest code from source control, compiling, running unit tests, deploying and more.&#160; This allows our business folks to get an earlier look at our product and makes sure no single developer or designer has broken the build.</p>  <p>We also work on WPF smart clients and I didn’t want to force the client teams to run the Azure web roles on their machines just because Microsoft only allows the local development fabric to bind to 127.0.0.1.</p>  <p>I was bummed out when I realized that Microsoft has placed this dumb restriction on Windows Azure web roles.&#160; I’ve seen a response from Microsoft where they mumble something about the local development fabric running with admin rights and that not being secure – but I could always run IIS with admin rights – should we only allow IIS to bind to 127.0.0.1?&#160; </p>  <p>My guess is that this dumb decision was made by some pointy head guy who doesn’t understand technology and was afraid that from a business perspective developers would use the local development fabric as a cheap Production load balancer.&#160; Ridiculous – but don’t underestimate the stupidity of business folks.</p>  <p>Ok, enough ranting – see below for a full tutorial on how to access web roles running on a Windows Azure local development fabric from any other computer and not only on <a href="http://127.0.0.1">http://127.0.0.1</a> on the local host.&#160; Thanks to my co-worker Lanh for coming up with this solution – great work!</p> ]]></description>
         <link>http://blog.ehuna.org/2009/10/accessing_the_windows_azure_lo.html</link>
         <guid>http://blog.ehuna.org/2009/10/accessing_the_windows_azure_lo.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">01 - General</category>
        
        
         <pubDate>Tue, 27 Oct 2009 11:28:00 -0800</pubDate>
      </item>
            <item>
         <title><![CDATA[Slide-show: from &lsquo;Storage room&rsquo; to &lsquo;Endless Pool room&rsquo;]]></title>
         <description><![CDATA[<p>During the weekend I created a slide-show that shows how we transformed an old storage room into a room that now hosts our Endless Pool (<a href="http://blog.ehuna.org/2009/10/endless_pool_purchased_on_ebay.html" target="_blank">click here</a> to check out ‘First swim in our Endless Pool’).</p>  <blockquote>   <p><a href="http://slideshow.ehuna.org/home/200908-endlesspool/" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.ehuna.org/liveimages/SlideshowfromStorageroomtoEndlessPoolroo_813C/image.png" width="456" height="343" /></a>&#160; <br />The slide-show: <a title="http://slideshow.ehuna.org/home/200908-endlesspool/" href="http://slideshow.ehuna.org/home/200908-endlesspool/" target="_blank">http://slideshow.ehuna.org/home/200908-endlesspool/</a></p> </blockquote>  <p>The slideshow gives you an idea of how houses are built in northern California.&#160; With the insulation and the double pane windows this is the best room in the house!</p>  <p>The song is “<a href="http://en.wikipedia.org/wiki/New_Soul" target="_blank">New Soul</a>” by the French/Israeli singer <a href="http://en.wikipedia.org/wiki/Yael_Naim" target="_blank">Yael Naim</a>.&#160; This song was featured in one of Apple’s recent ads for the MacBook Air.&#160; The slideshow runs for about 10 minutes and the song is about 3 minutes long – so it will repeat.</p>]]></description>
         <link>http://blog.ehuna.org/2009/10/slideshow_from_storage_room_to.html</link>
         <guid>http://blog.ehuna.org/2009/10/slideshow_from_storage_room_to.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">01 - General</category>
        
        
         <pubDate>Tue, 27 Oct 2009 09:10:00 -0800</pubDate>
      </item>
            <item>
         <title>First swim in our Endless Pool</title>
         <description><![CDATA[<p>For the past few months our contractor has been busy installing our new Endless pool and fixing up an old storage room that now hosts the pool.&#160; </p>  <p>Yesterday the cover was installed and the work is almost done!&#160; In the video below I give an overview of the Endless Pool and take it out for a first swim:</p> <object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7121436&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7121436&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>  <p>Thanks to Yury Guzman and the whole crew from Grand Land Masters – they did an amazing job with the room and the Endless Pool installation.&#160; If you are in the San Francisco Bay Area and you want one of these installed give Yury a call - <a title="http://glmlandscapes.com/" href="http://glmlandscapes.com/">http://glmlandscapes.com/</a> – you won’t regret it.    <br />    <br /><strong>Update 10/21</strong>: for Jon and other iPhone users, I also uploaded the video to YouTube – you can <a href="http://www.youtube.com/watch?v=ZHSykGEUWeY" target="_blank">view it here</a>.</p>  <p>The background music is a Brazilian Bossa Nova song named “<a href="http://en.wikipedia.org/wiki/Agua_de_Beber" target="_blank">Agua de Beber</a>” sung by Astrid Gilberto and written by <a href="http://en.wikipedia.org/wiki/Antonio_Carlos_Jobim" target="_blank">Antonio Carlos Jobim</a>.&#160; Below I have more information on the Endless Pool and how it works.</p> ]]></description>
         <link>http://blog.ehuna.org/2009/10/endless_pool_purchased_on_ebay.html</link>
         <guid>http://blog.ehuna.org/2009/10/endless_pool_purchased_on_ebay.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">01 - General</category>
        
        
         <pubDate>Sat, 17 Oct 2009 18:59:00 -0800</pubDate>
      </item>
            <item>
         <title>Modifying .netTiers templates to support Windows Azure configuration</title>
         <description><![CDATA[<p>My favorite ORM for .NET development is by far .netTiers (<a title="http://nettiers.com/" href="http://nettiers.com/">http://nettiers.com/</a>) – a set of templates for CodeSmith (<a title="http://www.codesmithtools.com/" href="http://www.codesmithtools.com/">http://www.codesmithtools.com/</a>) that create an awesome Business Logic Layer (BLL) and a Data Access Layer (DAL) in seconds.</p>  <blockquote>   <p><a href="http://nettiers.com/" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.ehuna.org/liveimages/Mod.netTierstemplatestosupportWindowsAzu_E3CE/image.png" width="435" height="211" /></a>       <br />The .netTiers Application Framework: <a title="http://nettiers.com/" href="http://nettiers.com/">http://nettiers.com/</a></p> </blockquote>  <p>.netTiers uses a connection string to connect to a SQL Server database at runtime – it works with an on-premise SQL Server (e.g. SQL Server Express 2008) or a SQL Azure database in the cloud.&#160; Out of the box, .netTiers reads this connection string from a Web.config (or app.config) file.</p>  <p>Since Windows Azure has its configuration in ServiceConfiguration.cscfg, I modified the .netTiers 2.3 templates so at runtime our DAL reads the connection string from the correct place.</p>  <p>Thanks to SuperJeffe who gave me the pointer in <a href="http://community.codesmithtools.com/forums/t/10124.aspx" target="_blank">this thread</a> on what changes were needed.&#160; Below you can find my notes on what changes were made to the .netTiers templates and you can download the modified templates as well.</p> ]]></description>
         <link>http://blog.ehuna.org/2009/09/modifying_nettiers_templates_t.html</link>
         <guid>http://blog.ehuna.org/2009/09/modifying_nettiers_templates_t.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">03 - Technical</category>
        
        
         <pubDate>Mon, 28 Sep 2009 16:05:00 -0800</pubDate>
      </item>
            <item>
         <title>Windows Azure and SQL Azure Videos</title>
         <description><![CDATA[<p>In the past 2-3 weeks I’ve spent my time researching Microsoft's new cloud operating system, Windows Azure.&#160; I just finished 3 days of meetings with my co-workers Arif and Lanh, where I gave them an overview on how to write code to target Windows Azure.&#160; </p>  <p>I thought it would be a good idea to publish these videos here and share them with the community – all of the content below is free.</p>  <blockquote>   <p><a href="http://blog.ehuna.org/liveimages/e47b483f9afe_9C3C/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.ehuna.org/liveimages/e47b483f9afe_9C3C/image_thumb.png" width="341" height="238" /></a>       <br />Windows Azure: Microsoft's new &quot;Cloud Operating System&quot; </p> </blockquote>  <p>We also covered the new SQL Server in the cloud, SQL Azure, and ways to make calls to SQL Azure using the .netTiers ORM and ADO.NET.&#160; </p>  <p><strong>We ended up with 7 videos, over 4 hours of content and over 90 items covered!&#160; </strong>You can access all of the videos using the links below.</p>  <p>If you’d like to follow along and copy/paste code as you watch the videos, I have posted the source code to all samples seen in the video on Codeplex:</p>  <blockquote>   <p>CloudService1 - Windows Azure and SQL Azure samples      <br /><a title="http://cloudservice1.codeplex.com/" href="http://cloudservice1.codeplex.com/">http://cloudservice1.codeplex.com/</a></p> </blockquote>  <p>You'll also need a the Windows Azure SDK v1.0 (September CTP) installed – you can get it from the <a href="http://msdn.microsoft.com/en-us/azure/default.aspx" target="_blank">Windows Azure Developer Center</a> on the Microsoft Developer Network (MSDN).&#160; You can also download the <a href="http://www.microsoft.com/web/Downloads/platform.aspx" target="_blank">Web Platform Installer 2.0</a> – which will setup everything you need to start coding on Windows Azure.&#160; </p>  <p><strong>Update 11/24/2009</strong>: Microsoft released a new version of the Windows Azure SDK – the “November 2009” CTP – and changed many of the APIs we were using in earlier versions of the Azure SDK.&#160; Much of the Azure specific APIs covered in the videos below apply to the October 2009 Windows Azure SDK (or earlier versions).</p>  <p>See below for links and descriptions to all videos.</p> ]]></description>
         <link>http://blog.ehuna.org/2009/09/windows_azure_and_sql_azure_vi.html</link>
         <guid>http://blog.ehuna.org/2009/09/windows_azure_and_sql_azure_vi.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">03 - Technical</category>
        
        
         <pubDate>Sat, 26 Sep 2009 11:23:00 -0800</pubDate>
      </item>
            <item>
         <title><![CDATA[Tested .netTiers with SQL Azure &ndash; it just works]]></title>
         <description><![CDATA[<p>A few days ago Microsoft released a “Community Technology Preview” of SQL Azure, a hosted version of Microsoft SQL Server 2008.&#160; In addition to the SQL Azure CTP, Microsoft also has a CTP for Windows Azure, where you can deploy web and worker roles – similar to how we deploy ASP.NET web sites and Windows Services today.&#160; For more information check out <a title="http://www.microsoft.com/azure/" href="http://www.microsoft.com/azure/">http://www.microsoft.com/azure/</a>.</p>  <p>A few weeks back I had started a thread on .netTiers and Azure:</p>  <p>&#160; .netTiers and Windows Azure?    <br />&#160; <a href="http://community.codesmithtools.com/forums/p/9327/37238.aspx">http://community.codesmithtools.com/forums/p/9327/37238.aspx</a></p>  <p>At the time only &quot;Azure Storage&quot; was available - Azure storage has support for Blobs, queues and &quot;Tables&quot;.&#160; Tables are not the tables we are used to in our relational databases and it would have been very difficult to have .netTiers work out of the box.</p>  <p>Well, now that the SQL Azure CTP is out, I tried to create a project that used .netTiers and its BLL and DAL to work with data in SQL Azure.&#160; It works!</p>  <p>Here's the process:</p>  <ol>   <li>Work on an on-premise SQL Server - create your schema, indexes, foreign keys and custom stored procs, etc... just like you do today.&#160; </li>    <li>At design time, use CodeSmith and generate your .netTiers DAL and BLL based on your on-premise SQL Server schema, like you do today. </li>    <li>At run-time, in development: use your on premise SQL Server or your SQL Azure SQL server - they both work by simply changing your connection string! </li>    <li>At run-time, in the Azure Cloud (Staging/Production): use SQL Azure </li> </ol>  <p>Your web and worker roles must run in full trust for the .netTiers DAL/BLL to work.&#160; In your Azure service definition, make sure you set enableNativeCodeExecution to &quot;true&quot; - something like:</p>  <p>&#160; &lt;WebRole name=&quot;MYPROJECT_WebRole&quot; enableNativeCodeExecution=&quot;true&quot;&gt;</p>  <p>Also, currently when creating your database, indexes, stored procs, etc... in SQL Azure, you'll need to manually generate a script in SSMS and then clean it up before running it in SQL Azure - I blogged about it here:</p>  <p>&#160; Cleaning up scripts for SQL Azure    <br />&#160; <a href="http://blog.ehuna.org/2009/08/cleaning_up_scripts_for_sql_az.html">http://blog.ehuna.org/2009/08/cleaning_up_scripts_for_sql_az.html</a></p>  <p>Here's what I've tried so far:</p>  <ul>   <li>Using .netTiers inside the Azure &quot;Development Fabric&quot; and connecting to a local on-premise SQL Server. </li>    <li>Using .netTiers inside the Azure &quot;Development Fabric&quot; and connecting to a SQL Azure database in the cloud. </li>    <li>Using .netTiers in a web role in the Azure Cloud connecting to a SQL Azure database in the cloud. </li> </ul>  <p>All I had to do to make the above work is to change my connection string - no need to change code!&#160; Good times!&#160; Below I copy my Windows Azure configuration file and give you an example on how to change your .netTiers connections string dynamically when it’s deployed to the Azure cloud.</p>  <p>Note: I originally posted these good news <a href="http://community.codesmithtools.com/forums/p/10093/37475.aspx" target="_blank">at the .netTiers forums</a> – I thought it would be a good idea to cross post it here as well.</p> ]]></description>
         <link>http://blog.ehuna.org/2009/09/tested_nettiers_with_sql_azure.html</link>
         <guid>http://blog.ehuna.org/2009/09/tested_nettiers_with_sql_azure.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">03 - Technical</category>
        
        
         <pubDate>Sat, 05 Sep 2009 09:26:36 -0800</pubDate>
      </item>
            <item>
         <title>Windows PowerShell commands to clean up scripts for SQL Azure</title>
         <description><![CDATA[<p><strong>Update 9/1</strong>: George Huey released an amazing tool, the “SQL Azure Migration Wizard”!&#160; Here’s more info:</p>  <p>&#160; SQL Azure Migration Wizard – Information and Screencast   <br />&#160; <a title="http://blog.wadewegner.com/index.php/2009/09/01/sql-azure-migration-wizard/" href="http://blog.wadewegner.com/index.php/2009/09/01/sql-azure-migration-wizard/">http://blog.wadewegner.com/index.php/2009/09/01/sql-azure-migration-wizard/</a></p>  <p>&#160; SQL Azure Migration Wizard – Source Code and Binaries   <br />&#160; <a title="http://sqlazuremw.codeplex.com/" href="http://sqlazuremw.codeplex.com/">http://sqlazuremw.codeplex.com/</a></p>  <p>Good times!</p>  <p>A couple of days ago, <a href="http://blog.ehuna.org/2009/08/cleaning_up_scripts_for_sql_az.html" target="_blank">I published my notes</a> on what steps need to be taken to clean up a SQL script generated on an on-premise SQL Server 2008 so it can run on SQL Azure.</p>  <p>As I started creating a real schema with primary keys, indexes, foreign keys, Stored Procedures, etc…&#160; I realized it was a pain to manually have to clean up these scripts each time I wanted to update my SQL Azure database.</p>  <p>I thought of a few solutions and decided to go with a fast and easy way to clean up the SQL scripts using Windows PowerShell.&#160; Here’s the content of my <strong>CleanUpScriptForSQLAzure.ps1</strong> script:</p>  <pre class="csharpcode"><span class="kwrd">function</span> Replace-<span class="kwrd">String</span>($find, $replace, $path) 
{ 
    echo <span class="str">&quot;Replacing string `&quot;</span>$find`<span class="str">&quot; with string `&quot;</span>$replace`<span class="str">&quot; in file contents and file names of path: $path&quot;</span> 
    ls $path | <span class="kwrd">select</span>-<span class="kwrd">string</span> $find -list |% { echo <span class="str">&quot;Processing contents of $($_.Path)&quot;</span>; (<span class="kwrd">get</span>-content $_.Path) |% { $_ -replace $find, $replace } | <span class="kwrd">set</span>-content $_.Path -Force } 
    ls $path\*$find* |% { echo <span class="str">&quot;Renaming $($_.FullName) to $($_.FullName.Replace($find, $replace))&quot;</span>;mv $_.FullName $_.FullName.Replace($find, $replace) } 
} 

# After generating a script <span class="kwrd">with</span> SSMS we need <span class="kwrd">to</span> clean it up before running it <span class="kwrd">on</span> SQL Azure 
Replace-<span class="kwrd">String</span> <span class="str">&quot;SET ANSI_NULLS ON&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span> 
Replace-<span class="kwrd">String</span> <span class="str">&quot;SET ANSI_NULLS OFF&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span> 
Replace-<span class="kwrd">String</span> <span class="str">&quot;SET ANSI_PADDING ON&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span> 
Replace-<span class="kwrd">String</span> <span class="str">&quot;SET ANSI_PADDING OFF&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span> 
Replace-<span class="kwrd">String</span> <span class="str">&quot;ON \[PRIMARY\]&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span> 
Replace-<span class="kwrd">String</span> <span class="str">&quot;\(PAD_INDEX  = OFF,&quot;</span> <span class="str">&quot;(&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span> 
Replace-<span class="kwrd">String</span> <span class="str">&quot;,PAD_INDEX  = OFF&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span> 
Replace-<span class="kwrd">String</span> <span class="str">&quot;, PAD_INDEX  = OFF&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span> 
Replace-<span class="kwrd">String</span> <span class="str">&quot;PAD_INDEX  = OFF&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span> 
Replace-<span class="kwrd">String</span> <span class="str">&quot;,SORT_IN_TEMPDB = OFF&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span> 
Replace-<span class="kwrd">String</span> <span class="str">&quot;, SORT_IN_TEMPDB = OFF&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span> 
Replace-<span class="kwrd">String</span> <span class="str">&quot;SORT_IN_TEMPDB = OFF&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span> 
Replace-<span class="kwrd">String</span> <span class="str">&quot;,ALLOW_ROW_LOCKS  = ON&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span> 
Replace-<span class="kwrd">String</span> <span class="str">&quot;, ALLOW_ROW_LOCKS  = ON&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span> 
Replace-<span class="kwrd">String</span> <span class="str">&quot;ALLOW_ROW_LOCKS  = ON&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span> 
Replace-<span class="kwrd">String</span> <span class="str">&quot;,ALLOW_PAGE_LOCKS  = ON&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span> 
Replace-<span class="kwrd">String</span> <span class="str">&quot;, ALLOW_PAGE_LOCKS  = ON&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span>
Replace-<span class="kwrd">String</span> <span class="str">&quot;ALLOW_PAGE_LOCKS  = ON&quot;</span> <span class="str">&quot;&quot;</span> <span class="str">&quot;c:\data\sqlazurescripts&quot;</span></pre>
<style type="text/css">





.csharpcode, .csharpcode pre
{
	font-size: xx-small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>

<p>To use the above script, generate the SQL scripts using SQL Server Management Studio pointing to an on-premise SQL Server and save the scripts in the “c:\data\sqlazurescripts” folder (or any other folder you prefer).</p>

<p><a href="http://blog.ehuna.org/liveimages/WindowsPowerShellcommandstocleanupscript_D545/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.ehuna.org/liveimages/WindowsPowerShellcommandstocleanupscript_D545/image_thumb.png" width="536" height="146" /></a> </p>

<p>Then run <strong>CleanUpScriptForSQLAzure.ps1</strong> and you should see something like this:</p>

<p><a href="http://blog.ehuna.org/liveimages/WindowsPowerShellcommandstocleanupscript_D545/image_3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.ehuna.org/liveimages/WindowsPowerShellcommandstocleanupscript_D545/image_thumb_3.png" width="609" height="181" /></a> </p>

<p>I have found that this PowerShell script cleans up all of the scripts I’ve generated so far – including both scripts to generate schema and data, and scripts to create the stored procedures.&#160; But there are some commands not yet included in the above script (see <a href="http://blog.ehuna.org/2009/08/cleaning_up_scripts_for_sql_az.html" target="_blank">my published notes</a> for more details).</p>

<p>Until Microsoft gives us a better tool we can use these PowerShell commands to clean up the SQL scripts.&#160; You may also want to check out the <a href="http://hanssens.org/post/CTP-Release-e2809cSQL-Azure-Managere2809d-v01.aspx" target="_blank">SQL Azure Manager CTP on hanssens.org</a>.</p>

<p>Final note: if you get errors executing the <strong>CleanUpScriptForSQLAzure.ps1</strong> script in Powershell, you will need to update your execution policy.&#160; Here’s a good page with pointers on how to do that:</p>

<p>&#160; Introduction to Windows PowerShell Cmdlets 
  <br />&#160; <a title="http://computerperformance.co.uk/powershell/powershell_cmdlet.htm" href="http://computerperformance.co.uk/powershell/powershell_cmdlet.htm">http://computerperformance.co.uk/powershell/powershell_cmdlet.htm</a></p>

<p>Setting “ExecutionPolicy = RemoteSigned” in HKLM\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell worked for me.</p>]]></description>
         <link>http://blog.ehuna.org/2009/08/windows_powershell_commands_to.html</link>
         <guid>http://blog.ehuna.org/2009/08/windows_powershell_commands_to.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">03 - Technical</category>
        
        
         <pubDate>Thu, 27 Aug 2009 15:08:00 -0800</pubDate>
      </item>
      
   </channel>
</rss>
