<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>OhmBlog</title>
    <link>https://www.gazitt.com/blog/</link>
    <description>Omri's WCF/WF propaganda machine :-)</description>
    <language>en-us</language>
    <copyright>Omri Gazitt</copyright>
    <lastBuildDate>Mon, 12 May 2008 17:47:49 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>omri@gazitt.com</managingEditor>
    <webMaster>omri@gazitt.com</webMaster>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=dd5a7066-d288-48ef-91a8-af895fecbe8c</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,dd5a7066-d288-48ef-91a8-af895fecbe8c.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,dd5a7066-d288-48ef-91a8-af895fecbe8c.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=dd5a7066-d288-48ef-91a8-af895fecbe8c</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Today we released the <a href="http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx">betas</a> for
VS2008 sp1 and .NET 3.5 sp1. <a href="http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx">Scott </a>did
a good job (as usual :-)) running through the top-level enhancements, so I won't parrot
it all here.. but I'd like to go through the next level of detail on what new goodies
we have for service developers.
</p>
The most interesting/exciting feature for service developers is what we call Data
Services (previously known as "Astoria").  The best way to explain how Data Services
fits into the overall "services platform" that .NET provides is through a picture:<br /><p><img src="http://www.gazitt.com/blog/images/NetServicesFramework.jpg" /></p><p>
As a service developer, .NET offers me a layered stack - if I want to write "to the
metal", I can build a service on top of System.Net and HttpListener (which is a managed
wrapper on top of HTTP.SYS - our kernel HTTP driver).  Not many people end up
doing that, because there are lots of good pieces that we've already written for you.. 
</p><p>
WCF provides the next layer.  WCF gives you some modular pieces, such as channels
(HTTP, TCP, MSMQ, etc); Serialization, which is a fancy word for pouring objects into
a serialized formats such as XML, binary, JSON, and deserializing back into objects;
and what we call "Syndication", which are some classes that support various data publishing
microformats such as RSS and ATOM.  Finally, we have a layer called Service Model
that ties all of this stuff together in a coherent, approachable programming model.  
</p><p>
WCF is a powerful but general framework, so the next layer up consists of particular
scenarios that we wanted to significantly simplify. I think of two canonical scenarios
for writing services: "resource-oriented" services, where you model your service as
a bunch of resources and offer request/response, HTTP-based access to those resources;
and "operation-oriented" services, where you want to create a new "operation" that
wraps a more involved operation that often has to coordinate state changes across
multiple resources.
</p>
Operation-oriented services become more attractive the more asynchrony you need in
your service implementation.. the canonical example is "book a trip" which in turn
composes other asynchronous services, such as "book the airfare", "book the hotel",
etc.  We realized that most operation-oriented services are actually most
easily modeled as workflows.. and that's why we invested heavily in .NET 3.5 in Workflow
Services, which is a pretty deep integration between WCF and Workflow.<br /><p>
Resource-oriented services became easier to write in .NET 3.5 via our REST support
that we added to WCF.  But we thought we could do even better for some canonical
scenarios, such as when you have data in a database (or any LINQ data source) that
you want to expose over REST/ATOM.  So the ADO.NET team built Data Services,
which is layered on top of WCF's REST and ATOM capabilities and offers a really easy
way of doing just that.  
</p><p>
Any layer of abstraction makes some choices, and some of those choices may not be
exactly what you want.  The nice thing is that given the layering of Workflow
Services and Data Services over WCF, if you don't like the choices we've made for
you, you can always drop down to the layer below (WCF).  
</p><p>
As I type this, I realize that there's really one additional scenario that I didn't
capture in the picture - which is "services that back a presentation layer". 
ASP.NET AJAX is the obvious example of that today.. in .NET 3.5, we added support
for being able to "back" an ASP.NET AJAX page with a "AJAX-Enabled WCF Service" (complete
with a VS template).  So that's another example of a targetted scenario that's
layered on top of WCF... (I'll have to fix my picture :-))
</p><p>
Besides Data Services, there are some additional cool new enhancements in WCF and
WF that are worth mentioning:
</p><ul><li>
We are enabling DataContract Serializer to serialize types without the need to annotate
them with the [DataContract] attribute and its relatives.  We affectionately
have taken to calling this feature POCO (plain old C# Objects), tipping our hat to
POJO :-)</li><li>
We’ve enabled interoperable object references in our serialization format.  This
was done to support certain Entity Data Model (EDM) types but is generally useful
in improving our interoperability with Java</li><li>
We’ve made the WCF Test Client (the form that comes up when you hit "F5" on a service)
into a stand-alone tool and added more features to increase the breadth of web services
it can handle</li><li>
The WCF Service template is now available in the Visual Web Developer Express SKU</li><li>
We are delivering a hosting wizard for Visual Studio WCF Service projects that allows
easy deployment of Web Services from VS into IIS</li><li>
Event Logging is now enabled in Partial trust so that people who host their services
in medium trust environments have more of the WCF "juice" :-)</li><li>
We extended the syndication OM to support the ServiceDocument in AtomPub</li><li>
We did some nice perf enhancements to the WF activities designer to make it much more
snappy, even if you have a large number of activities</li></ul><p>
And of course, we fixed many of the most common bugs that you all have reported to
us (thanks!)
</p>
All in all, a bunch of good value in a service pack release.. of course, this is a
beta, so there are still some issues in the bits.  Please give them a test-drive
and let us know what you think! 
<p>
 
</p><img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=dd5a7066-d288-48ef-91a8-af895fecbe8c" /></body>
      <title>VS2008 and .NET 3.5 SP1 Enhancements for Service Developers</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,dd5a7066-d288-48ef-91a8-af895fecbe8c.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,dd5a7066-d288-48ef-91a8-af895fecbe8c.aspx</link>
      <pubDate>Mon, 12 May 2008 17:47:49 GMT</pubDate>
      <description>&lt;p&gt;
Today we released the &lt;a href="http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx"&gt;betas&lt;/a&gt; for
VS2008 sp1 and .NET 3.5 sp1. &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx"&gt;Scott &lt;/a&gt;did
a good job (as usual :-)) running through the top-level enhancements, so I won't parrot
it all here.. but I'd like to go through the next level of detail on what new goodies
we have for service developers.
&lt;/p&gt;
The most interesting/exciting feature for service developers is what we call Data
Services (previously known as "Astoria").&amp;nbsp; The best way to explain how Data Services
fits into the overall "services platform" that .NET provides is through a picture:&lt;br&gt;
&lt;p&gt;
&lt;img src="http://www.gazitt.com/blog/images/NetServicesFramework.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
As a service developer, .NET offers me a layered stack - if I want to write "to the
metal", I can build a service on top of System.Net and HttpListener (which is a managed
wrapper on top of HTTP.SYS - our kernel HTTP driver).&amp;nbsp; Not many people end up
doing that, because there are lots of good pieces that we've already written for you.. 
&lt;/p&gt;
&lt;p&gt;
WCF provides the next layer.&amp;nbsp; WCF gives you some modular pieces, such as channels
(HTTP, TCP, MSMQ, etc); Serialization, which is a fancy word for pouring objects into
a serialized formats such as XML, binary, JSON, and deserializing back into objects;
and what we call "Syndication", which are some classes that support various data publishing
microformats such as RSS and ATOM.&amp;nbsp; Finally, we have a layer called Service Model
that ties all of this stuff together in a coherent, approachable programming model.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
WCF is a powerful but general framework, so the next layer up consists of particular
scenarios that we wanted to significantly simplify. I think of two canonical scenarios
for writing services: "resource-oriented" services, where you model your service as
a bunch of resources and offer request/response, HTTP-based access to those resources;
and "operation-oriented" services, where you want to create a new "operation" that
wraps a more involved operation that often has to coordinate state changes across
multiple resources.
&lt;/p&gt;
Operation-oriented services become more attractive the more asynchrony you need in
your service implementation.. the canonical example is "book a trip" which in turn
composes other asynchronous services, such as "book the airfare", "book the hotel",
etc.&amp;nbsp; We realized that most operation-oriented services are actually&amp;nbsp;most
easily modeled as workflows.. and that's why we invested heavily in .NET 3.5 in Workflow
Services, which is a pretty deep integration between WCF and Workflow.&lt;br&gt;
&lt;p&gt;
Resource-oriented services became easier to write in .NET 3.5 via our REST support
that we added to WCF.&amp;nbsp; But we thought we could do even better for some canonical
scenarios, such as when you have data in a database (or any LINQ data source) that
you want to expose over REST/ATOM.&amp;nbsp; So the ADO.NET team built Data Services,
which is layered on top of WCF's REST and ATOM capabilities and offers a really easy
way of doing just that.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Any layer of abstraction makes some choices, and some of those choices may not be
exactly what you want.&amp;nbsp; The nice thing is that given the layering of Workflow
Services and Data Services over WCF, if you don't like the choices we've made for
you, you can always drop down to the layer below (WCF).&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
As I type this, I realize that there's really one additional scenario that I didn't
capture in the picture - which is "services that back a presentation layer".&amp;nbsp;
ASP.NET AJAX is the obvious example of that today.. in .NET 3.5, we added support
for being able to "back" an ASP.NET AJAX page with a "AJAX-Enabled WCF Service" (complete
with a VS template).&amp;nbsp; So that's another example of a targetted scenario that's
layered on top of WCF... (I'll have to fix my picture :-))
&lt;/p&gt;
&lt;p&gt;
Besides Data Services, there are some additional cool new enhancements in WCF and
WF that are worth mentioning:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
We are enabling DataContract Serializer to serialize types without the need to annotate
them with the [DataContract] attribute and its relatives.&amp;nbsp; We affectionately
have taken to calling this feature POCO (plain old C# Objects), tipping our hat to
POJO :-)&lt;/li&gt;
&lt;li&gt;
We’ve enabled interoperable object references in our serialization format.&amp;nbsp; This
was done to support certain Entity Data Model (EDM) types but is generally useful
in improving our interoperability with Java&lt;/li&gt;
&lt;li&gt;
We’ve made the WCF Test Client (the form that comes up when you hit "F5" on a service)
into a stand-alone tool and added more features to increase the breadth of web services
it can handle&lt;/li&gt;
&lt;li&gt;
The WCF Service template is now available in the Visual Web Developer Express SKU&lt;/li&gt;
&lt;li&gt;
We are delivering a hosting wizard for Visual Studio WCF Service projects that allows
easy deployment of Web Services from VS into IIS&lt;/li&gt;
&lt;li&gt;
Event Logging is now enabled in Partial trust so that people who host their services
in medium trust environments have more of the WCF "juice" :-)&lt;/li&gt;
&lt;li&gt;
We extended the syndication OM to support the ServiceDocument in AtomPub&lt;/li&gt;
&lt;li&gt;
We did some nice perf enhancements to the WF activities designer to make it much more
snappy, even if you have a large number of activities&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
And of course, we fixed many of the most common bugs that you all have reported to
us (thanks!)
&lt;/p&gt;
All in all, a bunch of good value in a service pack release.. of course, this is a
beta, so there are still some issues in the bits.&amp;nbsp; Please give them a test-drive
and let us know what you think! 
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=dd5a7066-d288-48ef-91a8-af895fecbe8c" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,dd5a7066-d288-48ef-91a8-af895fecbe8c.aspx</comments>
      <category>Indigo AKA WCF;Web Services/XML;Workflow</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=bbe5031c-b28b-411f-9b3c-e4b7c312f60d</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,bbe5031c-b28b-411f-9b3c-e4b7c312f60d.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,bbe5031c-b28b-411f-9b3c-e4b7c312f60d.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=bbe5031c-b28b-411f-9b3c-e4b7c312f60d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
SL2 beta1 adds a new packaging format for Silverlight apps - a .xap file.  Silverlight
apps work fine in cassini (the ASP.NET development webserver), but trying to deploy
the web project to IIS results in a blank page where the silverlight control ought
to be. 
</p>
        <p>
The issue is that IIS needs to be told about the mapping between the extension and
the MIME type.  To fix it, open the IIS MMC, open the MIME Types editor, and
add a new entry with the file name extension "<font color="#000080"><font color="#0000ff">.xap</font>"</font> and
the MIME Type being "<font color="#0000ff" size="2">application/x-silverlight-2-b1</font>". 
Refresh your page and that should do it...<font color="#0000ff" size="2"></font></p>
        <font color="#0000ff" size="2">
        </font>
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=bbe5031c-b28b-411f-9b3c-e4b7c312f60d" />
      </body>
      <title>Deploying a Silverlight2 Beta1 Web Project to IIS</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,bbe5031c-b28b-411f-9b3c-e4b7c312f60d.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,bbe5031c-b28b-411f-9b3c-e4b7c312f60d.aspx</link>
      <pubDate>Mon, 17 Mar 2008 00:24:19 GMT</pubDate>
      <description>&lt;p&gt;
SL2 beta1 adds a new packaging format for Silverlight apps - a .xap file.&amp;nbsp; Silverlight
apps work fine in cassini (the ASP.NET development webserver), but trying to deploy
the web project to IIS results in a blank page where the silverlight control ought
to be. 
&lt;/p&gt;
&lt;p&gt;
The issue is that IIS needs to be told about the mapping between the extension and
the MIME type.&amp;nbsp; To fix it, open the IIS MMC, open the MIME Types editor, and
add a new entry with the file name extension "&lt;font color=#000080&gt;&lt;font color=#0000ff&gt;.xap&lt;/font&gt;"&lt;/font&gt; and
the MIME Type being "&lt;font color=#0000ff size=2&gt;application/x-silverlight-2-b1&lt;/font&gt;".&amp;nbsp;
Refresh your page and that should do it...&lt;font color=#0000ff size=2&gt;
&lt;/p&gt;
&gt;&lt;font color=#0000ff size=2&gt;&lt;/font&gt;&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=bbe5031c-b28b-411f-9b3c-e4b7c312f60d" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,bbe5031c-b28b-411f-9b3c-e4b7c312f60d.aspx</comments>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=781bdc17-144c-4a65-9070-c279c88a43c8</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,781bdc17-144c-4a65-9070-c279c88a43c8.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,781bdc17-144c-4a65-9070-c279c88a43c8.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=781bdc17-144c-4a65-9070-c279c88a43c8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
While I'm on migration, here are some pointers for stuff I had to do when migrating
my LINQ-to-SQL project from VS2008 Beta2 to RTM.
</p>
        <ul>
          <li>
The DBML file was unreadable because the Beta2 version had an <em>encoding="utf-16" </em>attribute
on the &lt;?xml&gt; decl, but the file itself didn't have an Unicode BOM.  Changing
this to utf-8 fixed that problem. 
</li>
          <li>
.Remove() has been renamed (probably more aptly) to .DeleteOnSubmit(). </li>
        </ul>
        <p>
That's pretty much all I had to do to port my LINQ-to-SQL project to VS2008 RTM.. 
</p>
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=781bdc17-144c-4a65-9070-c279c88a43c8" />
      </body>
      <title>Migrating from the VS2008 Beta2 LINQ-to-SQL to RTM</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,781bdc17-144c-4a65-9070-c279c88a43c8.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,781bdc17-144c-4a65-9070-c279c88a43c8.aspx</link>
      <pubDate>Sun, 16 Mar 2008 00:08:25 GMT</pubDate>
      <description>&lt;p&gt;
While I'm on migration, here are some pointers for stuff I had to do when migrating
my LINQ-to-SQL project from VS2008 Beta2 to RTM.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
The DBML file was unreadable because the Beta2 version had an &lt;em&gt;encoding="utf-16" &lt;/em&gt;attribute
on the &amp;lt;?xml&amp;gt; decl, but the file itself didn't have an Unicode BOM.&amp;nbsp; Changing
this to utf-8 fixed that problem. 
&lt;li&gt;
.Remove() has been renamed (probably more aptly) to .DeleteOnSubmit().&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
That's pretty much all I had to do to port my LINQ-to-SQL project to VS2008 RTM.. 
&lt;/p&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=781bdc17-144c-4a65-9070-c279c88a43c8" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,781bdc17-144c-4a65-9070-c279c88a43c8.aspx</comments>
      <category>LINQ</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=5b14effe-468d-4703-a1af-d1b3c1da052d</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,5b14effe-468d-4703-a1af-d1b3c1da052d.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,5b14effe-468d-4703-a1af-d1b3c1da052d.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=5b14effe-468d-4703-a1af-d1b3c1da052d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I got some time this weekend to start migrating my SL1.1 alpha app
to SL2 beta1.  For starters, the SL 1.1 alpha project file contains reference
(&lt;import&gt;) to a project file that doesn't exist anymore - you get the following
error when trying to load the project:
</p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p>
"Unable to read the project file '... .csproj'. ... The imported project "C:\Program
Files\MSBuild\Microsoft\VisualStudio\v9.0\Silverlight\Microsoft.Silverlight.Csharp.targets"
was not found."
</p>
        </blockquote>
        <p dir="ltr">
I started hunting for the right &lt;import&gt;, and then came upon this <a href="http://geekswithblogs.net/shahedul/archive/2008/03/05/120263.aspx">blog
entry</a> that provides all (well, most) of what you need to know for migration...
</p>
        <p dir="ltr">
After changing the project &lt;import&gt; from ...\VisualStudio\v9.0\Silverlight\...
to ...\Silverlight\v2.0\..., I was able to read the project file.  After that,
I removed all references to all assemblies, and re-added references to mscorlib, system,
System.Core, System.Windows, System.Windows.Browser, System.Windows.Controls, and
System.Xml, and I got my 576 errors reduced down to 15.  Not tooo shabby! :-)
</p>
        <p dir="ltr">
There were a few more "simple and mechanical" changes to make the project compile:
</p>
        <ul dir="ltr">
          <li>
            <div>Some EventHandler's had to be changed to MouseEventHandler, some MouseEventHandler's
had to be changed to MouseButtonEventHandler
</div>
          </li>
          <li>
            <div>System.Windows.Media.Visual is gone - I was able to use System.Windows.UIElement
for the same purpose (a generic type for all types of silverlight controls)
</div>
          </li>
          <li>
            <div>KeyboardEventArgs --&gt; KeyEventArgs
</div>
          </li>
          <li>
            <div>System.Windows.Browser.Net is gone - BrowserHttpWebRequest is not needed
anymore.  You can now use the System.Net assembly and use HttpWebRequest.Create().
</div>
          </li>
          <li>
            <div>The old System.Web.Services namespace (which was the ASMX client) has now been
replaced by the WCF client (woohoo!)  So you have to remove your old Web Reference
and add a new Service Reference.
</div>
          </li>
        </ul>
        <p>
Those were the key changes I made to make the project compile.  
</p>
        <p>
Update: a couple of things I forgot to note (turns out I had more than one Silverlight
project :-))
</p>
        <ul>
          <li>
A few more type changes: some EventHander's --&gt; RoutedEventHandler's</li>
          <li>
No synchronous proxies from Add Service Reference: need to convert to the async equivalents 
</li>
          <li>
Change all of the generic forms of X.SetValue&lt;type&gt;() to the non-generic versions -
X.SetValue()</li>
          <li>
HtmlPage.Navigate() doesn't exist - use HtmlPage.Window.Navigate()</li>
          <li>
XamlReader is now in System.Windows.Markup (have to add the using directive)</li>
          <li>
System.Windows.Input.Cursors.Default no longer exists</li>
          <li>
System.Windows.Controls.Image.Source is now a bit more involved - now ImageSource
is an abstract class that's more than just a Uri.  The most convenient concrete
class is BitmapImage (defined in System.Windows.Media.Imaging), which has a UriSource
property that's typed as a Uri.  So instead of 
<br /><font size="2"><p>
Image.Source = 
</p></font><font color="#0000ff" size="2">new</font><font size="2"></font><font color="#2b91af" size="2">Uri</font><font size="2">("</font><font color="#0000ff" size="2"><a href="http://foo/">http://foo</a></font><font size="2">", </font><font color="#2b91af" size="2">UriKind</font><font size="2">.RelativeOrAbsolute);
</font><font size="2"><p>
Image.Source = 
</p></font><font color="#0000ff" size="2">new</font><font size="2"></font><font color="#2b91af" size="2">BitmapImage</font><font size="2">(</font><font color="#0000ff" size="2">new</font><font size="2"></font><font color="#2b91af" size="2">Uri</font><font size="2">(</font><font color="#0000ff" size="2"><a href="http://foo/">http://foo</a></font><font size="2">, </font><font color="#2b91af" size="2">UriKind</font><font size="2">.RelativeOrAbsolute));</font><font size="2"></font></li>
        </ul>
        <ul>
          <li>
Point[] --&gt; PointCollection</li>
          <li>
HtmlDocument.Document.GetElementByID --&gt; HtmlDocument.Document.GetElementById</li>
        </ul>
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=5b14effe-468d-4703-a1af-d1b3c1da052d" />
      </body>
      <title>Migrating from Silverlight 1.1 Alpha to Silverlight 2 Beta1 Projects</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,5b14effe-468d-4703-a1af-d1b3c1da052d.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,5b14effe-468d-4703-a1af-d1b3c1da052d.aspx</link>
      <pubDate>Sat, 15 Mar 2008 23:34:09 GMT</pubDate>
      <description>&lt;p&gt;
I got some time this weekend to&amp;nbsp;start&amp;nbsp;migrating my&amp;nbsp;SL1.1 alpha app
to SL2 beta1.&amp;nbsp; For starters, the SL 1.1 alpha project file contains reference
(&amp;lt;import&amp;gt;) to a project file that doesn't exist anymore - you get the following
error when trying to load the project:
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
"Unable to read the project file '... .csproj'. ... The imported project "C:\Program
Files\MSBuild\Microsoft\VisualStudio\v9.0\Silverlight\Microsoft.Silverlight.Csharp.targets"
was not found."
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr&gt;
I started hunting for the right &amp;lt;import&amp;gt;, and then came upon this &lt;a href="http://geekswithblogs.net/shahedul/archive/2008/03/05/120263.aspx"&gt;blog
entry&lt;/a&gt; that provides all (well, most) of what you need to know for migration...
&lt;/p&gt;
&lt;p dir=ltr&gt;
After changing the project &amp;lt;import&amp;gt; from ...\VisualStudio\v9.0\Silverlight\...
to ...\Silverlight\v2.0\..., I was able to read the project file.&amp;nbsp; After that,
I removed all references to all assemblies, and re-added references to mscorlib, system,
System.Core, System.Windows, System.Windows.Browser, System.Windows.Controls, and
System.Xml, and I got my 576 errors reduced down to 15.&amp;nbsp; Not tooo shabby! :-)
&lt;/p&gt;
&lt;p dir=ltr&gt;
There were a few more "simple and mechanical" changes to make the project compile:
&lt;/p&gt;
&lt;ul dir=ltr&gt;
&lt;li&gt;
&lt;div&gt;Some EventHandler's had to be changed to MouseEventHandler, some MouseEventHandler's
had to be changed to MouseButtonEventHandler
&lt;/div&gt;
&lt;li&gt;
&lt;div&gt;System.Windows.Media.Visual is gone - I was able to use System.Windows.UIElement
for the same purpose (a generic type for all types of silverlight controls)
&lt;/div&gt;
&lt;li&gt;
&lt;div&gt;KeyboardEventArgs --&amp;gt; KeyEventArgs
&lt;/div&gt;
&lt;li&gt;
&lt;div&gt;System.Windows.Browser.Net is gone - BrowserHttpWebRequest&amp;nbsp;is not needed
anymore.&amp;nbsp; You can now use&amp;nbsp;the System.Net assembly and use HttpWebRequest.Create().
&lt;/div&gt;
&lt;li&gt;
&lt;div&gt;The old System.Web.Services namespace (which was the ASMX client) has now been
replaced by the WCF client (woohoo!)&amp;nbsp; So you have to remove your old Web Reference
and add a new Service Reference.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Those were the key changes I made to make the project compile.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Update: a couple of things I forgot to note (turns out I had more than one Silverlight
project :-))
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
A few more type changes: some EventHander's --&amp;gt; RoutedEventHandler's&lt;/li&gt;
&lt;li&gt;
No synchronous proxies from Add Service Reference: need to convert to the async equivalents 
&lt;/li&gt;
&lt;li&gt;
Change all of the generic forms of X.SetValue&amp;lt;type&amp;gt;() to the non-generic versions&amp;nbsp;-
X.SetValue()&lt;/li&gt;
&lt;li&gt;
HtmlPage.Navigate() doesn't exist - use HtmlPage.Window.Navigate()&lt;/li&gt;
&lt;li&gt;
XamlReader is now in System.Windows.Markup (have to add the using directive)&lt;/li&gt;
&lt;li&gt;
System.Windows.Input.Cursors.Default no longer exists&lt;/li&gt;
&lt;li&gt;
System.Windows.Controls.Image.Source is now a bit more involved - now ImageSource
is an abstract class that's more than just a&amp;nbsp;Uri.&amp;nbsp; The most convenient concrete
class is BitmapImage (defined in System.Windows.Media.Imaging), which has a UriSource
property that's typed as a Uri.&amp;nbsp; So instead of 
&lt;br&gt;
&lt;font size=2&gt; 
&lt;p&gt;
Image.Source = 
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;Uri&lt;/font&gt;&lt;font size=2&gt;("&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;a href="http://foo/"&gt;http://foo&lt;/a&gt;&lt;/font&gt;&lt;font size=2&gt;", &lt;/font&gt;&lt;font color=#2b91af size=2&gt;UriKind&lt;/font&gt;&lt;font size=2&gt;.RelativeOrAbsolute);&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
Image.Source = 
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;BitmapImage&lt;/font&gt;&lt;font size=2&gt;(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;Uri&lt;/font&gt;&lt;font size=2&gt;(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;a href="http://foo/"&gt;http://foo&lt;/a&gt;&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#2b91af size=2&gt;UriKind&lt;/font&gt;&lt;font size=2&gt;.RelativeOrAbsolute));&lt;/font&gt;&lt;font size=2&gt;&gt;
&lt;/li&gt;
&lt;/ul&gt;
&gt; 
&lt;ul&gt;
&lt;li&gt;
Point[] --&amp;gt; PointCollection&lt;/li&gt;
&lt;li&gt;
HtmlDocument.Document.GetElementByID --&amp;gt; HtmlDocument.Document.GetElementById&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=5b14effe-468d-4703-a1af-d1b3c1da052d" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,5b14effe-468d-4703-a1af-d1b3c1da052d.aspx</comments>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=d3ff5727-7024-429f-80cf-df6b403d31fc</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,d3ff5727-7024-429f-80cf-df6b403d31fc.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,d3ff5727-7024-429f-80cf-df6b403d31fc.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=d3ff5727-7024-429f-80cf-df6b403d31fc</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The MySpace developer API's launched <a href="http://www.internetnews.com/dev-news/article.php/3725936">today</a>. 
Their API's are all RESTful, and they built them using WCF's REST features that we
just shipped in .NET 3.5.  MySpace will be <a href="http://blogs.msdn.com/vbertocci/archive/2008/02/01/wcf-and-myspace-a-restful-mix-session.aspx">talking</a> about
their experience at <a href="http://visitmix.com/">MIX08</a>, so if you're going,
you should check out the talk..
</p>
        <p>
 
</p>
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=d3ff5727-7024-429f-80cf-df6b403d31fc" />
      </body>
      <title>MySpace API's </title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,d3ff5727-7024-429f-80cf-df6b403d31fc.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,d3ff5727-7024-429f-80cf-df6b403d31fc.aspx</link>
      <pubDate>Wed, 06 Feb 2008 07:05:52 GMT</pubDate>
      <description>&lt;p&gt;
The MySpace developer API's launched &lt;a href="http://www.internetnews.com/dev-news/article.php/3725936"&gt;today&lt;/a&gt;.&amp;nbsp;
Their API's are all RESTful, and they built them using WCF's REST features that we
just shipped in .NET 3.5.&amp;nbsp; MySpace will be &lt;a href="http://blogs.msdn.com/vbertocci/archive/2008/02/01/wcf-and-myspace-a-restful-mix-session.aspx"&gt;talking&lt;/a&gt; about
their experience at &lt;a href="http://visitmix.com/"&gt;MIX08&lt;/a&gt;, so if you're going,
you should check out the talk..
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=d3ff5727-7024-429f-80cf-df6b403d31fc" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,d3ff5727-7024-429f-80cf-df6b403d31fc.aspx</comments>
      <category>Indigo AKA WCF;Web Services/XML</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=d07751db-f4ff-42e9-a575-04169827016d</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,d07751db-f4ff-42e9-a575-04169827016d.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,d07751db-f4ff-42e9-a575-04169827016d.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=d07751db-f4ff-42e9-a575-04169827016d</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Can SSL configuration be more arcane?  A week ago I noticed that my Server cert
expired.  I bought a new SBS cert via eNom (my domain name provider).  SBS
posts easy enough <a href="http://www.securebusinessservices.com/help/ssl-certificate-install.asp">directions</a> on
their website for installing the cert.  Four days later, I finally have it working.
</p>
        <p>
Basically, a three step process.  
</p>
        <ol>
          <li>
Step one is you create a new certificate request in the IIS MMC; take the base64-encoded
request, submit it into a form (or send it via e-mail), get it validated by the SBS
folks, who send you back a base64-encoded certificate, along with some trusted root
and intermediate authority certificates.  
</li>
          <li>
Step two is using the cert management MMC plug-in to install the trusted root and
intermediate certs (always a pleasure using that tool I tell you).  
</li>
          <li>
Step three is completing the certificate request in IIS by supplying the base64-encoded
cert file and IIS creating the appropriate corresponding private key file.</li>
        </ol>
        <p>
First mistake: remove the old (expired) cert before I have the new one working. 
Oops.  No HTTPS support for my site until I fix it.
</p>
        <p>
Second mistake: forgot to install the trusted root cert before completing the IIS
process.  Once you complete the process, no going back.  Need to create
a new request, send it to SBS, and get a new cert.  One more day lost.
</p>
        <p>
Now comes the hard part.  New server cert installed, all the right supporting
certs are in place, but IIS fails every HTTPS request (no error logs).  The page
IE displays is just like a DNS lookup failure, but it comes back immediately
(as opposed to looking for latency you see with DNS failures).   So
what's going on?  netstat -a shows that port 443 is in LISTENING state. 
telnet localhost 443 confirms (but resets the connection with the first keystroke). 
Firewall seems to be fine (allows 443).  Time to sleep on it.
</p>
        <p>
Now it's time to find a new machine and try to put the cert on it "from scratch" to
see if the issue is the old machine.  As soon as I go in to add HTTPS to the
site's bindings, the problem becomes apparent: the HTTPS protocol requires a cert
to be associated with it... bingo!  The issue is that the old cert is gone, and
I haven't re-associated the HTTPS binding with the new cert.  You'd think that
the site would just come back with a "bad cert" error message but it just got stuck
in a very hard to diagnose state.
</p>
        <p>
Now comes the fun part.  When I try to remove the HTTPS binding and recreate
it using the new server cert, I keep getting a dialog with a weird error message ("A
specified login session does not exist. It may already have been terminated"). 
That's a logon error which seems to indicate some bad permissions.  Sure enough,
other certs that I have lying around on the machine work.  So how do I fix this
one?  SIMPLE.  Just set the right permissions on the private key file. 
What could be easier?
</p>
        <ol>
          <li>
find the SHA1 thumbprint of the cert.  You can do that easy enough inside IIS</li>
          <li>
find the "findprivatekey.exe" utility (we snuck it into the WCF SDK a while back,
so I have it lying around on one of my machines, but it's also on <a href="http://msdn2.microsoft.com/en-us/library/ms732026.aspx">MSDN</a>)</li>
          <li>
use that utility to find the private key file associated with the thumbprint (findprivatekey
my localmachine -t &lt;thumbprint&gt; -a).  That returns a file in the MachineKeys
directory.</li>
          <li>
bring up the file in explorer</li>
          <li>
set the right permissions (or use the cacls utility) - give NETWORK SERVICE read access. 
Ah, that doesn't quite work.  Heck, just give Everyone access.  That does
the trick - yay!</li>
        </ol>
        <p>
Someone remind me - why do I still run my own website??
</p>
        <p>
 
</p>
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=d07751db-f4ff-42e9-a575-04169827016d" />
      </body>
      <title>IIS7 and Certs</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,d07751db-f4ff-42e9-a575-04169827016d.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,d07751db-f4ff-42e9-a575-04169827016d.aspx</link>
      <pubDate>Thu, 24 Jan 2008 07:06:56 GMT</pubDate>
      <description>&lt;p&gt;
Can SSL configuration be more arcane?&amp;nbsp; A week ago I noticed that my Server cert
expired.&amp;nbsp; I bought a new SBS cert via eNom (my domain name provider).&amp;nbsp; SBS
posts easy enough &lt;a href="http://www.securebusinessservices.com/help/ssl-certificate-install.asp"&gt;directions&lt;/a&gt; on
their website for installing the cert.&amp;nbsp; Four days later, I finally have it working.
&lt;/p&gt;
&lt;p&gt;
Basically, a three step process.&amp;nbsp; 
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Step one is you create a new certificate request in the IIS MMC; take the base64-encoded
request, submit it into a form (or send it via e-mail), get it validated by the SBS
folks, who send you back a base64-encoded certificate, along with some trusted root
and intermediate authority certificates.&amp;nbsp; 
&lt;/li&gt;
&lt;li&gt;
Step two is using the cert management MMC plug-in to install the trusted root and
intermediate certs (always a pleasure using that tool I tell you).&amp;nbsp; 
&lt;/li&gt;
&lt;li&gt;
Step three is completing the certificate request in IIS by supplying the base64-encoded
cert file and IIS creating the appropriate corresponding private key file.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
First mistake: remove the old (expired) cert before I have the new one working.&amp;nbsp;
Oops.&amp;nbsp; No HTTPS support for my site until I fix it.
&lt;/p&gt;
&lt;p&gt;
Second mistake: forgot to install the trusted root cert before completing the IIS
process.&amp;nbsp; Once you complete the process, no going back.&amp;nbsp; Need to create
a new request, send it to SBS, and get a new cert.&amp;nbsp; One more day lost.
&lt;/p&gt;
&lt;p&gt;
Now comes the hard part.&amp;nbsp; New server cert installed, all the right supporting
certs are in place, but IIS fails every HTTPS request (no error logs).&amp;nbsp; The page
IE displays is just like a DNS lookup failure,&amp;nbsp;but it comes back immediately
(as opposed to looking for&amp;nbsp;latency you see with DNS failures).&amp;nbsp;&amp;nbsp; So
what's going on?&amp;nbsp; netstat -a shows that port 443 is in LISTENING state.&amp;nbsp;
telnet localhost 443 confirms (but resets the connection with the first keystroke).&amp;nbsp;
Firewall seems to be fine (allows 443).&amp;nbsp; Time to sleep on it.
&lt;/p&gt;
&lt;p&gt;
Now it's time to find a new machine and try to put the cert on it "from scratch" to
see if the issue is the old machine.&amp;nbsp; As soon as I go in to add HTTPS to the
site's bindings, the problem becomes apparent: the HTTPS protocol requires a cert
to be associated with it... bingo!&amp;nbsp; The issue is that the old cert is gone, and
I haven't re-associated the HTTPS binding with the new cert.&amp;nbsp; You'd think that
the site would just come back with a "bad cert" error message but it just got stuck
in a very hard to diagnose&amp;nbsp;state.
&lt;/p&gt;
&lt;p&gt;
Now comes the fun part.&amp;nbsp; When I try to remove the HTTPS binding and recreate
it using the new server cert, I keep getting a dialog with a weird error message ("A
specified login session does not exist. It may already have been terminated").&amp;nbsp;
That's a logon error which seems to indicate some bad permissions.&amp;nbsp; Sure enough,
other certs that I have lying around on the machine work.&amp;nbsp; So how do I fix this
one?&amp;nbsp; SIMPLE.&amp;nbsp; Just set the right permissions on the private key file.&amp;nbsp;
What could be easier?
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
find the SHA1 thumbprint of the cert.&amp;nbsp; You can do that easy enough inside IIS&lt;/li&gt;
&lt;li&gt;
find the "findprivatekey.exe" utility (we snuck it into the WCF SDK a while back,
so I have it lying around on one of my machines, but it's also on &lt;a href="http://msdn2.microsoft.com/en-us/library/ms732026.aspx"&gt;MSDN&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;
use that utility to find the private key file associated with the thumbprint (findprivatekey
my localmachine -t &amp;lt;thumbprint&amp;gt; -a).&amp;nbsp; That returns a file in the MachineKeys
directory.&lt;/li&gt;
&lt;li&gt;
bring up the file in explorer&lt;/li&gt;
&lt;li&gt;
set the right permissions (or use the cacls utility) - give NETWORK SERVICE read access.&amp;nbsp;
Ah, that doesn't quite work.&amp;nbsp; Heck, just give Everyone access.&amp;nbsp; That does
the trick - yay!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Someone remind me - why do I still run my own website??
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=d07751db-f4ff-42e9-a575-04169827016d" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,d07751db-f4ff-42e9-a575-04169827016d.aspx</comments>
      <category>Blogging;Software</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=f5cb912e-29a5-4c21-9764-93e401cdd4d9</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,f5cb912e-29a5-4c21-9764-93e401cdd4d9.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,f5cb912e-29a5-4c21-9764-93e401cdd4d9.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=f5cb912e-29a5-4c21-9764-93e401cdd4d9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Just got an iPhone.  Yes, it's all that.  Amazing little device.  
</p>
        <p>
My HTC "startrek" (aka cingular 3125) died a bizarre death (even reloading the ROM
image of Win Mobile 5 didnt' help - must be some hardware issue).  So this was
the perfect opportunity to get me one of those little toys.
</p>
        <p>
It's hands down a better phone than any smartphone I've had before.  The UI is
intuitive, elegant, and chic.  Most importantly, the web browsing experience
is actually functional (the first time I've ever felt that about a phone).
</p>
        <p>
Of course, the biggest limitation is lack of ActiveSync support.  This has been
the single most useful feature of my smartphone - the ability to sync calendar and
e-mail items over the air (and using "push" as opposed to having to manually or even
automatically pull).  There have been rumors for months about Apple licensing
ActiveSync and delivering this functionality, but it hasn't happened yet.  I
bought mine hoping that it'll happen around the time Apple opens up the phone for
developers (Feb 08).
</p>
        <p>
 
</p>
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=f5cb912e-29a5-4c21-9764-93e401cdd4d9" />
      </body>
      <title>iPhone</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,f5cb912e-29a5-4c21-9764-93e401cdd4d9.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,f5cb912e-29a5-4c21-9764-93e401cdd4d9.aspx</link>
      <pubDate>Tue, 13 Nov 2007 07:50:21 GMT</pubDate>
      <description>&lt;p&gt;
Just got an iPhone.&amp;nbsp; Yes, it's all that.&amp;nbsp; Amazing little device.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
My HTC "startrek" (aka cingular 3125) died a bizarre death (even reloading the ROM
image of Win Mobile 5 didnt' help - must be some hardware issue).&amp;nbsp; So this was
the perfect opportunity to get me one of those little toys.
&lt;/p&gt;
&lt;p&gt;
It's hands down a better phone than any smartphone I've had before.&amp;nbsp; The UI is
intuitive, elegant, and chic.&amp;nbsp; Most importantly, the web browsing experience
is actually functional (the first time I've ever felt that about a phone).
&lt;/p&gt;
&lt;p&gt;
Of course, the biggest limitation is lack of ActiveSync support.&amp;nbsp; This has been
the single most useful feature of my smartphone - the ability to sync calendar and
e-mail items over the air (and using "push" as opposed to having to manually or even
automatically pull).&amp;nbsp; There have been rumors for months about Apple licensing
ActiveSync and delivering this functionality, but it hasn't happened yet.&amp;nbsp; I
bought mine hoping that it'll happen around the time Apple opens up the phone for
developers (Feb 08).
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=f5cb912e-29a5-4c21-9764-93e401cdd4d9" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,f5cb912e-29a5-4c21-9764-93e401cdd4d9.aspx</comments>
      <category>Technology</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=fd7533d5-d275-482b-abbd-175f2f39429d</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,fd7533d5-d275-482b-abbd-175f2f39429d.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,fd7533d5-d275-482b-abbd-175f2f39429d.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=fd7533d5-d275-482b-abbd-175f2f39429d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So far, it's been surprisingly easy to migrate my webserver and blog to IIS7 (from
which this blog entry is being served).  I basically xcopied my inetpub/wwwroot
directory and granted r/w access to NETWORK SERVICE.  The "tricky" part I was
dreading was cert management - but it was amazingly easy; I basically copied
the certificates I got from SBS over to the new machine, double-clicked on them (which
put them in the "default" places), then exported my IIS cert on the old machine and
imported on the new machine.  Had my linksys redirect HTTP and HTTPS traffic
to the new machine.  All done.
</p>
        <p>
So far I've fully tested the http/https paths to the main page (boy, that's old, I
need to put something new there :-)); the blog; and the web services (both the ASMX
and the WCF versions).  I'm not 100% sure I have CardSpace working yet - will
test tomorrow...
</p>
        <p>
I like the new IIS admin UI but it does take some getting used to.  Fortunately
I've played around with it enough on my Vista boxes to get the hang of it, but for
people who are used to the old MMC interface, I can imagine it may be a bit frustrating
at first (it was for me).  But overall, a much cleaner interface that does simplify
many things that were difficult/unintuitive (e.g. cert management).
</p>
        <p>
 
</p>
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=fd7533d5-d275-482b-abbd-175f2f39429d" />
      </body>
      <title>Moved OhmBlog to Windows Server 2008 bld6001 / IIS7</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,fd7533d5-d275-482b-abbd-175f2f39429d.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,fd7533d5-d275-482b-abbd-175f2f39429d.aspx</link>
      <pubDate>Thu, 26 Jul 2007 06:14:11 GMT</pubDate>
      <description>&lt;p&gt;
So far, it's been surprisingly easy to migrate my webserver and blog to IIS7 (from
which this blog entry is being served).&amp;nbsp; I basically xcopied my inetpub/wwwroot
directory and granted r/w access to NETWORK SERVICE.&amp;nbsp; The "tricky" part I was
dreading was cert management -&amp;nbsp;but it was amazingly easy; I basically copied
the certificates I got from SBS over to the new machine, double-clicked on them (which
put them in the "default" places), then exported my IIS cert on the old machine and
imported on the new machine.&amp;nbsp; Had my linksys redirect HTTP and HTTPS traffic
to the new machine.&amp;nbsp; All done.
&lt;/p&gt;
&lt;p&gt;
So far I've fully tested the http/https paths to the main page (boy, that's old, I
need to put something new there :-)); the blog; and the web services (both the ASMX
and the WCF versions).&amp;nbsp; I'm not 100% sure I have CardSpace working yet - will
test tomorrow...
&lt;/p&gt;
&lt;p&gt;
I like the new IIS admin UI but it does take some getting used to.&amp;nbsp; Fortunately
I've played around with it enough on my Vista boxes to get the hang of it, but for
people who are used to the old MMC interface, I can imagine it may be a bit frustrating
at first (it was for me).&amp;nbsp; But overall, a much cleaner interface that does simplify
many things that were difficult/unintuitive (e.g. cert management).
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=fd7533d5-d275-482b-abbd-175f2f39429d" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,fd7533d5-d275-482b-abbd-175f2f39429d.aspx</comments>
      <category>Blogging</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=c34e1370-d964-439b-b3b3-26e3bbb6df75</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,c34e1370-d964-439b-b3b3-26e3bbb6df75.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,c34e1370-d964-439b-b3b3-26e3bbb6df75.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=c34e1370-d964-439b-b3b3-26e3bbb6df75</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A couple of weeks ago I started my sabbatical - 3 months of anything but work :) 
I've been hoping to see alot more live music (as well as get a chance to play more),
and in keeping with that spirit, I flew down to Berkeley last week to see Sonic
Youth performing the Daydream Nation album at the Berkeley Community Theater. 
Daydream was my favorite album for the better part of a decade, so flying to the bay
area was a small price to pay.  And seeing it with my best mate Dave, from the
second row - priceless.  We were literally right beneath Thurston (literally
5 feet away), and 15 feet from Kim.  Worth every penny we paid StubHub :)
</p>
        <p>
There's a great <a href="http://www.pitchforkmedia.com/article/news/43622-thurston-moore-talks-solo-album-idaydream-nationi">article</a> on
Pitchfork about how hard it was for the band to figure out how to play an album they
made so long ago (it's been almost two decades..)  Thurston plays almost
every song in a custom tuning, so he had to go back and look at pictures of himself
playing to figure it out.. I have to say, they totally nailed it.  
</p>
        <p>
Here are some <a href="http://www.facebook.com/album.php?aid=7882&amp;l=16dbb&amp;id=569989001">photos</a> I
took, and here is my YouTube video of <a href="http://www.youtube.com/watch?v=qk6czli6420">Teen
Age Riot</a>.  The sound quality isn't good because we're mostly picking up Thurston's
amp and not much else, but the proximity is unbeatable :-)
</p>
        <img src="https://www.gazitt.com/blog/content/binary/thurston.jpg" border="0" />
        <img src="https://www.gazitt.com/blog/content/binary/kim.jpg" border="0" />
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=c34e1370-d964-439b-b3b3-26e3bbb6df75" />
      </body>
      <title>Sonic Youth in Berkeley</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,c34e1370-d964-439b-b3b3-26e3bbb6df75.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,c34e1370-d964-439b-b3b3-26e3bbb6df75.aspx</link>
      <pubDate>Sat, 21 Jul 2007 08:23:41 GMT</pubDate>
      <description>&lt;p&gt;
A couple of weeks ago I started my sabbatical - 3 months of anything but work :)&amp;nbsp;
I've been hoping to see alot more live music (as well as get a chance to play more),
and in keeping with that spirit, I flew down to Berkeley last week to see&amp;nbsp;Sonic
Youth performing the Daydream Nation album at the Berkeley Community Theater.&amp;nbsp;
Daydream was my favorite album for the better part of a decade, so flying to the bay
area was a small price to pay.&amp;nbsp; And seeing it with my best mate Dave, from the
second row - priceless.&amp;nbsp; We were literally right beneath Thurston (literally
5 feet away), and 15 feet from Kim.&amp;nbsp; Worth every penny we paid StubHub :)
&lt;/p&gt;
&lt;p&gt;
There's a great &lt;a href="http://www.pitchforkmedia.com/article/news/43622-thurston-moore-talks-solo-album-idaydream-nationi"&gt;article&lt;/a&gt; on
Pitchfork about how hard it was for the band to figure out how to play an album they
made so long ago&amp;nbsp;(it's been almost two decades..)&amp;nbsp; Thurston plays almost
every song in a custom tuning, so he had to go back and look at pictures of himself
playing to figure it out.. I have to say, they totally nailed it.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Here are some &lt;a href="http://www.facebook.com/album.php?aid=7882&amp;amp;l=16dbb&amp;amp;id=569989001"&gt;photos&lt;/a&gt; I
took, and here is&amp;nbsp;my YouTube video of &lt;a href="http://www.youtube.com/watch?v=qk6czli6420"&gt;Teen
Age Riot&lt;/a&gt;.&amp;nbsp; The sound quality isn't good because we're mostly picking up Thurston's
amp and not much else, but the proximity is unbeatable :-)
&lt;/p&gt;
&lt;img src="https://www.gazitt.com/blog/content/binary/thurston.jpg" border=0&gt;&lt;img src="https://www.gazitt.com/blog/content/binary/kim.jpg" border=0&gt;&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=c34e1370-d964-439b-b3b3-26e3bbb6df75" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,c34e1370-d964-439b-b3b3-26e3bbb6df75.aspx</comments>
      <category>Music</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=daf2251a-c8e4-4b20-8092-3f809d4d9539</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,daf2251a-c8e4-4b20-8092-3f809d4d9539.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,daf2251a-c8e4-4b20-8092-3f809d4d9539.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=daf2251a-c8e4-4b20-8092-3f809d4d9539</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Last night, I went to see the Police again (this time, with <a href="http://pluralsight.com/blogs/dbox/">Don</a>,
his son Max, and <a href="http://blogs.msdn.com/shycohen/">Shy</a>).  The tickets
were twice as expensive as for the <a href="https://www.gazitt.com/blog/PermaLink,guid,1999f467-29ce-416c-bbed-4e776cdd57f0.aspx">"dress
rehearsal" show</a> in Vancouver, we sat twice as far from the stage, and there
were four times the number of people (the ~20K capacity Key Arena was sold out). 
Near as I could tell, the set was <em>identical </em>(although the songs were in a
different order).  Even the jokes were the same (e.g. the one about Jimmy Swaggart
calling "Murder by Numbers" as having been written by the devil himself).  And
it was still a great show - well worth going to again...
</p>
        <p>
That said, I'm not looking for tickets for tonight's repeat show :-)
</p>
        <p>
The main difference for me was that Andy Summers looked much more comfortable on stage
this time - he really ripped out some solos, played around with different fills, and
in general just looked like he was enjoying himself.  The band felt tighter -
more in tune with each other.  Looks like they may survive the 2007 tour without
breaking up or killing each other :-)
</p>
        <p>
 
</p>
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=daf2251a-c8e4-4b20-8092-3f809d4d9539" />
      </body>
      <title>The Police, Take Two</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,daf2251a-c8e4-4b20-8092-3f809d4d9539.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,daf2251a-c8e4-4b20-8092-3f809d4d9539.aspx</link>
      <pubDate>Thu, 07 Jun 2007 18:30:28 GMT</pubDate>
      <description>&lt;p&gt;
Last night, I went to see the Police again (this time, with &lt;a href="http://pluralsight.com/blogs/dbox/"&gt;Don&lt;/a&gt;,
his son Max, and &lt;a href="http://blogs.msdn.com/shycohen/"&gt;Shy&lt;/a&gt;).&amp;nbsp; The tickets
were twice as expensive as for the &lt;a href="https://www.gazitt.com/blog/PermaLink,guid,1999f467-29ce-416c-bbed-4e776cdd57f0.aspx"&gt;"dress
rehearsal" show&lt;/a&gt; in Vancouver,&amp;nbsp;we sat twice as far from the stage, and there
were four times the number of people (the ~20K capacity Key Arena was sold out).&amp;nbsp;
Near as I could tell, the set was &lt;em&gt;identical &lt;/em&gt;(although the songs were in a
different order).&amp;nbsp; Even the jokes were the same (e.g. the one about Jimmy Swaggart
calling "Murder by Numbers" as having been written by the devil himself).&amp;nbsp; And
it was still a great show - well worth going to again...
&lt;/p&gt;
&lt;p&gt;
That said, I'm not looking for tickets for tonight's repeat show :-)
&lt;/p&gt;
&lt;p&gt;
The main difference for me was that Andy Summers looked much more comfortable on stage
this time - he really ripped out some solos, played around with different fills, and
in general just looked like he was enjoying himself.&amp;nbsp; The band felt tighter -
more in tune with each other.&amp;nbsp; Looks like they may survive the 2007 tour without
breaking up or killing each other :-)
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=daf2251a-c8e4-4b20-8092-3f809d4d9539" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,daf2251a-c8e4-4b20-8092-3f809d4d9539.aspx</comments>
      <category>Music</category>
    </item>
  </channel>
</rss>