﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Base4 Ideas</title><link>http://www.base4.net/Blog.aspx</link><description>Integrating Structured and Unstructured Data</description><lastBuildDate>Thu, 15 May 2008 11:51:49 GMT</lastBuildDate><item><title>Imprecise is not precise enough</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Tahoma size=2&gt;I’ve been thinking about &lt;A href="/blog.aspx?ID=610"&gt;my last post&lt;/A&gt;, and I realized it was a bit imprecise. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Tahoma&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Tahoma&gt;&lt;FONT size=2&gt;See if we drill in on the axis “unsafe” versus “safe” and “useless” versus “useful” as described in the video &lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://channel9.msdn.com/Showpost.aspx?postid=326762"&gt;&lt;SPAN style="COLOR: windowtext"&gt;Programming language Nirvana&lt;/SPAN&gt;&lt;/A&gt;&lt;B&gt;,&lt;/B&gt; &lt;A href="http://research.microsoft.com/~emeijer/"&gt;Erik&lt;/A&gt; suggests introducing another axis that measures how precise or imprecise (or for embellishment “honest” and “dishonest”) types are in the language.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT face=Tahoma&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT face=Tahoma&gt;Now how exactly is this preciseness to be measured? Well the type of a method is precise if in addition to the value that is returned, it also specifies the potential effects involved in computing the result. For instance, Java’s throws clauses, or Haskell’s monads. Interestingly&lt;B&gt;,&lt;/B&gt; if you apply this measure to dynamic languages they are trivially precise simply because they specify no type at all. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT face=Tahoma&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Tahoma&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;But if you take for example a property such as &lt;A href="http://msdn2.microsoft.com/en-us/library/system.datetime.ticks.aspx"&gt;System.DateTime.Ticks&lt;/A&gt;, it is imprecise because it claims to be a long, where as in reality it is a value that changes over time, rather rapidly in fact &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Wingdings"&gt;J&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT face=Tahoma&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT face=Tahoma&gt;Now except for mathematically oriented languages like Haskell, which is precise, safe, and useless, most practical languages are by this definition imprecise. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Tahoma size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Tahoma size=2&gt;So if you are really pedantic and extremely precise in your definition of “functional” programming, like say Erik, then most languages do not hit the &lt;/FONT&gt;&lt;A href="http://www.math.chalmers.se/~rjmh/Papers/whyfp.html"&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=Tahoma size=2&gt;Pure Functional Programming&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt; bar.&amp;nbsp;Indeed Erik would be much happier if we agreed on a less precise word for languages that encourage a &lt;/FONT&gt;&lt;A href="http://en.wikipedia.org/wiki/Functional_programming"&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=Tahoma size=2&gt;functional programming&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt; *&lt;B&gt;&lt;A href="http://www.cs.nott.ac.uk/~gmh/faq.html"&gt;&lt;SPAN style="COLOR: windowtext"&gt;style&lt;/SPAN&gt;&lt;/A&gt;&lt;/B&gt;*. Perhaps something like “&lt;/FONT&gt;&lt;A href="http://en.wikipedia.org/wiki/Closure_(computer_science)"&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=Tahoma size=2&gt;closure&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt; oriented programming” would make him happy? Examples of closures range from anonymous delegates and &amp;nbsp;lambda expressions in C#, VB and F#, to even more powerful closures constructs like &lt;/FONT&gt;&lt;A href="http://research.microsoft.com/projects/fsharp/manual/advanced.aspx"&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=Tahoma size=2&gt;object expressions in F#&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT face=Tahoma&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Tahoma size=2&gt;Notice that a language can add excellent features that encourage a functional programming &lt;B&gt;*style*&lt;/B&gt;.&amp;nbsp; Like pattern matching which is &lt;/FONT&gt;&lt;A href="http://research.microsoft.com/projects/fsharp/manual/quicktour.aspx#QuickTourPatterns"&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=Tahoma size=2&gt;found in both in F#&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt; and Erlang, or concurrency oriented programming found in Erlang which makes it dirt cheap to create threads, so cheap in fact that you can build clever abstractions for &lt;/FONT&gt;&lt;A href="http://www.erlang-projects.org/Public/documentation/tutorials/simple_fault-toleran/view"&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=Tahoma size=2&gt;fault tolerant code&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Tahoma size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Tahoma size=2&gt;Still if we return to the question of precision, one of Erik’s favorite interview questions is to ask how you might simulate one language effect with another. For instance spawning up a new thread is such a powerful effect that you can &lt;/FONT&gt;&lt;A href="http://www.codepoetics.com/wiki/index.php?title=Topics:SICP_in_other_languages:Erlang:Chapter_3#SICP_Chapter_.2303_Examples_in_Erlang"&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=Tahoma size=2&gt;simulate mutable cells&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt; with it. &amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Tahoma size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Tahoma size=2&gt;The point being that, just because you remove one imprecise language effect doesn’t mean you can’t simulate it with another even more imprecise effect…&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Tahoma size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Tahoma size=2&gt;If you want more, I suggest you check out these mind expanding videos:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://channel9.msdn.com/Showpost.aspx?postid=326762"&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=Tahoma&gt;Programming language Nirvana&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://channel9.msdn.com/ShowPost.aspx?PostID=358968"&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=Tahoma&gt;Brian Beckman on Monads&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://channel9.msdn.com/Showpost.aspx?postid=351659"&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=Tahoma&gt;Joe Armstrong&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://channel9.msdn.com/ShowPost.aspx?PostID=352136"&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=Tahoma&gt;Joe Armstrong and Erik Meijer&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://channel9.msdn.com/Showpost.aspx?postid=349220"&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=Tahoma&gt;Dave Thomas and Erik Meijer&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://channel9.msdn.com/tags/FSharp"&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=Tahoma&gt;F# videos&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT face=Tahoma&gt;Happy viewing…&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=615&gt;&amp;amp;subject=Imprecise+is+not+precise+enough" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=615&amp;amp;title=Imprecise+is+not+precise+enough" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=615&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=615" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=615</link><guid>http://www.base4.net/Blog.aspx?ID=615</guid><pubDate>Thu, 13 Dec 2007 17:10:24 GMT</pubDate><category>Erlang</category><category>FSharp</category><category>Functional</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>FSharp Erlang et al are all hoaxes</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;font face="Tahoma" size="2"&gt;So last night I finally picked up the courage to wander into &lt;a href="http://research.microsoft.com/%7Eemeijer/"&gt;Erik Meijer&lt;/a&gt;'s office and introduce myself. He sits about 3 doors down from me.&lt;br&gt;&lt;br&gt;Anyway cue about 3 hours of very lively discussion. It all started off with me innocently talking about my vision of how &lt;a href="http://blogs.msdn.com/alexj"&gt;metadata&lt;/a&gt; unlocks my dreams of a functional GUI.&lt;br&gt;&lt;br&gt;Oh how wrong I was! See when you talk functional with Erik, you had better be talking about a real functional language. Nothing dishonest or half baked like F#, Erlang or god forbid REST! &lt;br&gt;&lt;br&gt;They are all rubbish, according to Erik, at least that is, until you admit you are simply being pragmatic rather than pure!&lt;br&gt;&lt;br&gt;Seems Erik is giving a talk on campus next week about F# and Erlang being dishonest, I'm going to be there. &lt;br&gt;&lt;br&gt;Cause it is sure to be mind expanding...&lt;br&gt;&lt;br&gt;Oh and btw &lt;a href="http://research.microsoft.com/%7Eemeijer/"&gt;Erik&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/wesdyer"&gt;Wes&lt;/a&gt; and the rest of Erik's team recently released a preview of &lt;a href="http://labs.live.com/volta/"&gt;Volta&lt;/a&gt;... if only I could get a chance to take a look...&lt;/font&gt;&lt;br&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=610&gt;&amp;amp;subject=FSharp+Erlang+et+al+are+all+hoaxes" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=610&amp;amp;title=FSharp+Erlang+et+al+are+all+hoaxes" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=610&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=610" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=610</link><guid>http://www.base4.net/Blog.aspx?ID=610</guid><pubDate>Sat, 08 Dec 2007 07:13:04 GMT</pubDate><category>Erlang</category><category>FSharp</category><category>Functional</category><category>REST</category><category>Volta</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>My new MSDN blog </title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Okay so I've finally got around to setting up my own &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/alexj"&gt;&lt;FONT face=Tahoma size=2&gt;msdn blog&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Over there on that blog I will post all work related posts. So if you are at all interested in the EntityFramework, the Entity Data Model and Metadata you might want to head over and &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/alexj/rss.xml"&gt;&lt;FONT face=Tahoma size=2&gt;subscribe&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;In the meantime this blog won't die... but I suspect the other one will get more attention going forward.&lt;/FONT&gt;&lt;/P&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=609&gt;&amp;amp;subject=My+new+MSDN+blog+" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=609&amp;amp;title=My+new+MSDN+blog+" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=609&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=609" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=609</link><guid>http://www.base4.net/Blog.aspx?ID=609</guid><pubDate>Fri, 09 Nov 2007 21:18:47 GMT</pubDate><category>EDM</category><category>EF</category><category>Metadata</category><category>Microsoft</category><category>MSDN</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>Gotcha - Iterators and IDisposable</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Okay I’ve been pretty busy recently... at Microsoft they
have a phrase for this phase “Sucking on the firehose”.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;But last friday evening I got to sit down with &lt;a href="http://blogs.msdn.com/wesdyer/default.aspx"&gt;Wes Dyer&lt;/a&gt;, who sits
about 5 doors down, and have a bit of chat &lt;/font&gt;&lt;font face="Tahoma" size="2"&gt;(yes I talk code on Friday night).&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;My first question was one that has been bothering me for a
while. Indeed ever since about &lt;span style=""&gt;&amp;nbsp;&lt;/span&gt;5 months
ago when I showed how you can use &lt;a href="/blog.aspx?ID=409"&gt;Extension methods to make IDataReader play
nice with LINQ&lt;/a&gt;… &lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;To refresh your memory:&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;public&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;
&lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;IDataRecord&lt;/span&gt;&amp;gt; Enumerate(&lt;span style="color: blue;"&gt;this&lt;/span&gt;
&lt;span style="color: rgb(43, 145, 175);"&gt;IDataReader&lt;/span&gt; reader)&lt;br&gt;
{&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;using&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; (reader)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 36pt; text-indent: 36pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;while&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; (reader.Read())&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 72pt; text-indent: 36pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;yield&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: blue;"&gt;return&lt;/span&gt;
reader;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;br&gt;
&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;}&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span style=""&gt;&lt;/span&gt;The key trick is that
IDataReader extends IDataRecord too, so you can use the IDataReader Read()
method to move through the IDataRecords.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Anyway what concerned me was this, what happens if you do
something like this:&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;foreach&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(43, 145, 175);"&gt; (IDataRecord &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;record&lt;span style="color: rgb(43, 145, 175);"&gt; &lt;/span&gt;&lt;span style="color: blue;"&gt;in&lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; &lt;/span&gt;reader.&lt;span style="color: rgb(43, 145, 175);"&gt;Enumerate())&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;break&lt;/span&gt;;&lt;br&gt;
}&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;It looks a lot like the iterator will never leave the &lt;b&gt;using
{}&lt;/b&gt;. Now since we are relying on the using pattern to automatically dispose the
reader, I worried that the &lt;b&gt;Close() &lt;/b&gt;method would never be called on the reader, and we would leak connections.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;When I asked Wes about this, he said ‘that is amazing’, see Wes
had just come out of a 2 hour meeting covering that exact topic! &lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;It seems that what I feared, was indeed a problem in C#
2.0. But Wes implemented a fix for C# 3.0 to insure that iterators if
interrupted will dispose of resources appropriately.&lt;br&gt;&lt;br&gt;
Now if only I could remember how Wes said the C# 3.0 compiler expanded that
statement under the hood! &lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;I have a vague recollection of how it works, but before I share it I need to be 100% sure... stay tuned! &lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;In the meantime checkout section &lt;a href="http://download.microsoft.com/download/3/8/8/388e7205-bc10-4226-b2a8-75351c669b09/csharp%20language%20specification.doc"&gt;10.14.4 of the C# spec&lt;/a&gt;... you'll see that calls to Iterators actually involve the creation of an Enumerator Object that implements IDisposable, the Close() on this object is put in a finally block to guarantee it is called, and it does the magic that insures all inner block resources are disposed.&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=608&gt;&amp;amp;subject=Gotcha+-+Iterators+and+IDisposable" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=608&amp;amp;title=Gotcha+-+Iterators+and+IDisposable" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=608&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=608" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=608</link><guid>http://www.base4.net/Blog.aspx?ID=608</guid><pubDate>Tue, 06 Nov 2007 04:03:29 GMT</pubDate><category>CSharp</category><category>ExtensionMethods</category><category>HowItReallyWorks</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>Bring the love back</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;font face="Tahoma" size="2"&gt;I got this via Scoble, so a lot of you will know about it already, but if like me you occasionally feel overwealmed by Scoble's output you might have missed it.&lt;br&gt;&lt;br&gt;&lt;object height="366" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/heSudg-tfIk&amp;amp;rel=0&amp;amp;border=0"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/heSudg-tfIk&amp;amp;rel=0&amp;amp;border=0" type="application/x-shockwave-flash" wmode="transparent" height="366" width="425"&gt;&lt;/object&gt;&lt;br&gt;&lt;br&gt;Very funny, and &lt;a href="http://bringtheloveback.com/"&gt;from a guy&lt;/a&gt; working on a campaign for Microsoft. I find this kind of thing very encouraging.&lt;/font&gt;&lt;br&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=607&gt;&amp;amp;subject=Bring+the+love+back" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=607&amp;amp;title=Bring+the+love+back" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=607&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=607" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=607</link><guid>http://www.base4.net/Blog.aspx?ID=607</guid><pubDate>Thu, 18 Oct 2007 05:55:51 GMT</pubDate><category>Advertising</category><category>Microsoft</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>VB Sucks</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;... is an opinion lots of C# snobs hold. &lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;There is just one
problem. &lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;We C# snobs are often completely ill informed and ignorant when it comes to VB.NET, not that that stops us judging...&lt;br&gt;&lt;br&gt;I really need to re-learn VB so I better understand VB and C#'s
relative strengths.&lt;br&gt;&lt;br&gt;But thanks to people like &lt;a href="http://research.microsoft.com/%7Eemeijer/"&gt;Erik Meijer&lt;/a&gt;, Paul Yuk and the ever vigilant
&lt;a href="http://community.softteq.com/blogs/nick/default.aspx"&gt;Nick Randolph&lt;/a&gt; I already:&lt;br&gt;
1) ...think VB is cool&lt;br&gt;
2) ...understand that VB has significant advantages over C# in many
scenarios&lt;br&gt;
3) ...know VB has, and is gaining more, compelling dynamic capabilities&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=606&gt;&amp;amp;subject=VB+Sucks" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=606&amp;amp;title=VB+Sucks" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=606&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=606" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=606</link><guid>http://www.base4.net/Blog.aspx?ID=606</guid><pubDate>Thu, 18 Oct 2007 05:18:26 GMT</pubDate><category>CSharp</category><category>LanguageWars</category><category>VB</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>SyncLINQ</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Paul Stovell has been working on an interesting extension to
LINQ called &lt;a href="http://www.paulstovell.net/blog/index.php/introducing-synclinq/"&gt;SyncLINQ&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;The basic premise is that when you data bind to a LINQ
expression today, if the underlying data-source changes you have no obvious way
of knowing whether you should refresh the user interface. SyncLINQ fixes this
by raising events from the underlying data source through the various intermediary
enumerations as appropriate, so that if the resulting data actually changes you
can be notified with an event.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;The code revolves around a call to &lt;b&gt;datasource.ToSyncLinq()&lt;/b&gt;,
which returns something that raises changes to the underlying datasource as events and flows the event raising through any chaining of typical linq comprehensions (where, orderby, select etc)&lt;br&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Paul has put together an &lt;a href="http://www.paulstovell.net/IntroducingSyncLINQ.wmv"&gt;interesting&lt;/a&gt; demo showing how this works. The code is not available yet, but I will definitely check it out
when it is.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;strike&gt;Unfortunately it currently looks as if you have to call
lambdas for each operation directly&lt;/strike&gt; Paul and I both find it more convenient to use lambda's directly for each operation:&lt;br&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;font face="Tahoma" size="2"&gt;.ToSyncLinq().Where(p=&amp;gt; p.Firstname == “Paul”).Select(p=&amp;gt;...&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;rather than using a standard LINQ comprehension:&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;font face="Tahoma" size="2"&gt;from p in DataSource.ToSyncLinq()&lt;br&gt;
where p.Firstname == “Paul”&lt;br&gt;
select new …&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;font face="Tahoma" size="2"&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;As an added bonus the lambda approach also allows you to directly leverage two other SyncLinq features directly namely &lt;b&gt;Asychronous()&lt;/b&gt; &lt;/span&gt;&lt;/font&gt;&lt;font face="Tahoma" size="2"&gt;and &lt;b&gt;Pooled() &lt;/b&gt;more conveniently. &lt;br&gt;&lt;br&gt;The &lt;b&gt;Asychronous()&lt;/b&gt; method call is intriguing, because it allows you to bind your linq comprehension in the foreground thread, and have a background worker thread do the work of actually filling your databound component by using events.&lt;/font&gt;&lt;br&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=604&gt;&amp;amp;subject=SyncLINQ" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=604&amp;amp;title=SyncLINQ" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=604&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=604" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=604</link><guid>http://www.base4.net/Blog.aspx?ID=604</guid><pubDate>Tue, 16 Oct 2007 02:33:06 GMT</pubDate><category>interesting</category><category>LINQ</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>Pop quiz</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;font face="Tahoma" size="2"&gt;So I stumbled across a good article on LINQ recently.&lt;br&gt;&lt;br&gt;Anyway the article had some code that looked a little like this:&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;font face="Tahoma" size="2"&gt;&lt;font color="#0000ff"&gt;public static&lt;/font&gt; Expression&amp;lt;Func&amp;lt;T,R&amp;gt;&amp;gt; Expr&amp;lt;T,R&amp;gt;(Expression&amp;lt;Func&amp;lt;T,R&amp;gt;&amp;gt; f)&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;return&lt;/font&gt; f;&lt;br&gt;}&lt;/font&gt;&lt;br&gt;&lt;font face="Tahoma" size="2"&gt;&lt;br&gt;Now if you are like me you will have to look at this function a couple of times, before you realize it basically returns the argument untouched. I.e. it does nothing. &lt;br&gt;&lt;br&gt;So the question is this, How can this function be useful?&lt;/font&gt;&lt;br&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=598&gt;&amp;amp;subject=Pop+quiz" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=598&amp;amp;title=Pop+quiz" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=598&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=598" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=598</link><guid>http://www.base4.net/Blog.aspx?ID=598</guid><pubDate>Sat, 13 Oct 2007 06:37:54 GMT</pubDate><category>CSharp</category><category>expressions</category><category>Generics</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>Gartner - Meta-Data is strategic</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;font face="Tahoma" size="2"&gt;We may not have agreement about how to solve the data-silo problem, but it seems everyone thinks it is important. &lt;br&gt;&lt;br&gt;Indeed it made &lt;a href="http://www.networkworld.com/news/2007/100907-10-strategic-technologies-gartner.html?page=1"&gt;Gartner's top ten strategic technologies for 2008&lt;/a&gt; under the guise of MetaDahta &lt;font color="#808080"&gt;(emphasis added for Tim M who is already trying to get me to MetadAta and I haven't even started yet)&lt;/font&gt;. This is what Gartner had to say:&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;p&gt;&lt;font color="#0000ff"&gt;&lt;i&gt;&lt;font face="Tahoma" size="2"&gt;&lt;strong&gt;4. Metadata Management&lt;/strong&gt;&lt;/font&gt;&lt;/i&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&lt;i&gt;&lt;font face="Tahoma" size="2"&gt;Metadata is the foundation for information infrastructure and is
found throughout your IT systems: in service registries and
repositories, Web semantics, configuration management databases (CMDB),
business service registries and in application development. &lt;/font&gt;&lt;/i&gt;&lt;/font&gt;&lt;/p&gt;
                     &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;i&gt;&lt;font face="Tahoma" size="2"&gt;“Metadata is not just about information management,” Cearley said. “You need to look beyond that. Metadata is everywhere.”&lt;/font&gt;&lt;/i&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face="Tahoma" size="2"&gt;Incidentally Gartner's number 6&lt;/font&gt;&lt;i&gt;&lt;font face="Tahoma" size="2"&gt;&lt;strong&gt;, &lt;font color="#0000ff"&gt;Mashups and Composite Applications&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/i&gt;&lt;font face="Tahoma" size="2"&gt; is a whole lot easier if you can wrap existing data sources, and 10, &lt;b&gt;&lt;i&gt;&lt;font color="#0000ff"&gt;Social Software&lt;/font&gt;&lt;/i&gt;&lt;/b&gt; is a complete no brainer, but again it is&amp;nbsp; Meta-Data that will take it to the next level...&lt;br&gt;&lt;/font&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=597&gt;&amp;amp;subject=Gartner+-+Meta-Data+is+strategic" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=597&amp;amp;title=Gartner+-+Meta-Data+is+strategic" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=597&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=597" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=597</link><guid>http://www.base4.net/Blog.aspx?ID=597</guid><pubDate>Fri, 12 Oct 2007 03:41:24 GMT</pubDate><category>Data2.0</category><category>Meta-Data</category><category>Strategic</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>What I am reading at the moment</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;I've got a little time before I start at Microsoft, so I am enjoying some nice light reading about the future of data. I thought I should share what I've read so far:&lt;br&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;The “&lt;a href="http://msdn2.microsoft.com/en-us/library/bb190163.aspx"&gt;What, Why and How
of Master Data Management&lt;/a&gt;” (MDM).&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Two things prompted me to get more familiar with the
terminology around managing master data, my recent discussions with Ayende and MDM
was mentioned in passing by a colleague.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://web.mit.edu/dna/www/vldb07hstore.pdf"&gt;The
End of an Architectural Era (It’s time for a complete rewrite).&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;A paper hypothesizing that the age of the RDBMS is almost
over. Fascinating reading, even though some of what they take as a given is debatable
and some of the solutions presented are trivialized. &lt;br&gt;&lt;br&gt;
The motivation for the paper is that the general purpose RDBMS is already being out
performed by at least 2 orders of magnitude in specialized areas like text
search (i.e. yahoo,&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;live and google),
Data Warehouses, Stream Processing and Scientific databases, and the remaining
sweet spot of online transaction processing (OLTP) is seriously under threat. &lt;/font&gt;
&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;The basic premise being that RDBMS were conceived in a time with
vastly different hardware constraints to today, and yet RDBMS’ remain fundamentally
unchanged.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://www.25hoursaday.com/weblog/2007/10/06/ThoughtsOnAmazonsInternalStorageSystemDynamo.aspx"&gt;Dare’s
thoughts&lt;/a&gt; on Amazon’s &lt;a href="http://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf"&gt;internal
storage system called Dynamo&lt;/a&gt; are pretty good reading too. &lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Incidentally, unless I am very much mistaken, according to the
“End of an Architectural Era” paper, the &lt;a href="http://www.25hoursaday.com/weblog/2007/10/10/WhenDatabasesLieConsistencyVsAvailabilityInDistributedSystems.aspx"&gt;redundancy OR consistency tradeoff discussed by Dare&lt;/a&gt; can
be handled by &lt;b style=""&gt;single threading each node’s
actions&lt;/b&gt; assuming all data is in memory and nodes are time synchronized. But
as I said this is one of the areas that seem a little glossed over…&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;b&gt;Single threading???&lt;/b&gt; Very much a contrarian view given the times we live in. But I have to say that the arguments all have surface validity.&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=593&gt;&amp;amp;subject=What+I+am+reading+at+the+moment" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=593&amp;amp;title=What+I+am+reading+at+the+moment" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=593&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=593" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=593</link><guid>http://www.base4.net/Blog.aspx?ID=593</guid><pubDate>Wed, 10 Oct 2007 21:47:44 GMT</pubDate><category>Data2.0</category><category>Database</category><category>RDBMS</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>At the heart of the action</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://haacked.com"&gt;Phil Haack&lt;/a&gt; who like me spent a very short time as an MVP before becoming joining the Microsoft mothership, is organizing a &lt;a href="http://haacked.com/archive/2007/10/10/geek-dinner-in-seattleredmond-sunday-night.aspx"&gt;geek dinner in Seattle&lt;/a&gt; on Sunday night. &lt;br&gt;&lt;br&gt;Now I organized regular geek chats back in NZ, so I will definitely be there. It will be great to sit down and listen to people like &lt;a href="http://haacked.com/"&gt;Phil&lt;/a&gt;, &lt;a href="http://www.hanselman.com/blog/"&gt;Scott Hanselman&lt;/a&gt; and co.&lt;br&gt;&lt;br&gt;Reading the comments I also noticed that &lt;a href="http://codeclimber.net.nz/"&gt;Simone&lt;/a&gt; wishes he was here too.&lt;/font&gt;&lt;br&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=591&gt;&amp;amp;subject=At+the+heart+of+the+action" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=591&amp;amp;title=At+the+heart+of+the+action" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=591&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=591" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=591</link><guid>http://www.base4.net/Blog.aspx?ID=591</guid><pubDate>Wed, 10 Oct 2007 16:29:16 GMT</pubDate><category>Chat</category><category>Community</category><category>Geek</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>Bootcamp 07 - the usual suspects</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://www.jonesie.net.nz/"&gt;Peter Jones&lt;/a&gt;, uber community leader, has announced he is running another &lt;a href="http://dot.net.nz/Default.aspx?tabid=108"&gt;Code Camp&lt;/a&gt;, this time in Christchurch. This one has an army feel, appropriate seeing as Peter now works for Intergen, and is called Boot Camp 07.&lt;br&gt;&lt;br&gt;There are some very good local speakers including most of the usual suspects:&lt;br&gt;&lt;/font&gt;

&lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://www.syringe.net.nz/"&gt;Chris Auld&lt;/a&gt; (Intergen, MVP)&lt;/font&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://www.turtle.net.nz/blog/"&gt;Jeremy Boyd&lt;/a&gt; (Mindscape,
     MVP)&lt;/font&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://blogs.msdn.com/darrylburling/"&gt;Darryl Burling&lt;/a&gt; (Microsoft)&lt;/font&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://blog.crowe.co.nz/"&gt;Chris Crowe&lt;/a&gt; (Trimble, MVP)&lt;/font&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;font face="Tahoma" size="2"&gt;Edwin Dando (Clarus)&lt;/font&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://www.jonesie.net.nz/"&gt;Peter Jones&lt;/a&gt; (Intergen, MVP)&lt;/font&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;font face="Tahoma" size="2"&gt;Bryn Lewis (Clarus)&lt;/font&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;font face="Tahoma" size="2"&gt;Pat Martin (Microsoft)&lt;/font&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://blogs.technet.com/nmercer/"&gt;Nathan Mercer&lt;/a&gt; (Microsoft)&lt;/font&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://www.flanders.co.nz/"&gt;Ivan Porto-Carrero&lt;/a&gt; (Xero)&lt;/font&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://andrewtokeley.net/"&gt;Andrew Tokeley&lt;/a&gt; (Intergen)&lt;/font&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://hestia.typepad.com/flatlander/"&gt;Ivan Towlson&lt;/a&gt; (ECN Group)&lt;/font&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://blog.bluecog.co.nz/"&gt;John-Daniel Trask&lt;/a&gt;
     (Mindscape)&lt;/font&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;font face="Tahoma" size="2"&gt;Evan Williams (HP)&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;font face="Tahoma" size="2"&gt;So if you are in, or could be in, Christchurch on the weekend of the 3-4th November be sure to &lt;a href="http://dot.net.nz/Default.aspx?tabid=108"&gt;register&lt;/a&gt;.&lt;br&gt;&lt;br&gt;Unfortunately I can't make it...&lt;br&gt;&lt;br&gt;&lt;font color="#808080"&gt;PS: if anyone has blog links for Edwin, Bryn, Pat or Evan please let me know...&lt;/font&gt;&lt;br&gt;&lt;/font&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=590&gt;&amp;amp;subject=Bootcamp+07+-+the+usual+suspects" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=590&amp;amp;title=Bootcamp+07+-+the+usual+suspects" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=590&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=590" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=590</link><guid>http://www.base4.net/Blog.aspx?ID=590</guid><pubDate>Wed, 10 Oct 2007 00:24:26 GMT</pubDate><category>Community</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>My new role at Microsoft</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;When I accepted a position with Microsoft, initially I had no
idea what my role would entail. I knew I would be a Program Manager in the Data
Programmability team, but I didn’t know what I would actually be doing. I didn’t
even know who my boss would be. It was going to be either &lt;a href="http://blogs.msdn.com/cperry/"&gt;Carl&lt;/a&gt; or &lt;a href="http://blogs.msdn.com/timmall/"&gt;Tim&lt;/a&gt;.
Carl, who had kindly taken me under his wing both times I had been up to Redmond, was the early favorite. &lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Then just before I left NZ &lt;a href="http://diegov.blogspot.com/"&gt;Diego&lt;/a&gt; got in contact. He and I
had something in common; we were both going to work on the Data Programmability
team. On Saturday we finally met, and without further ado the James and Vega
families went for lunch at my current favorite mid priced restaurant Red Robin (Nandos
you’re still my first love). &lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;We talked about lots of things. Diego who had already
started told me we are to be office roomies. Which means it will be much easier
to tag team &lt;a href="http://ayende.com/Blog/archive/2007/10/07/More-on-Data-Layer-Componentization.aspx"&gt;Ayende&lt;/a&gt;!&lt;br&gt;  &lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;A month or so before leaving NZ I talked with Tim about a Meta-Data
PM role, and my name was penciled in.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;All my regular readers will know this sounds right up my
alley. Still I had some concerns that Microsoft and my understanding of what “Meta-Data”
entails could be quite different. Well it turns out my concerns were misplaced.
After talking with Tim on Thursday and being sent &lt;i&gt;some light reading material&lt;/i&gt;,
I could see that this new role promises to be everything I had hoped it would.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Today I go into Microsoft for the first time, since my
interviews, to have lunch with Tim and then sit in on a PM meeting.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Cool, I can’t wait to officially start, roll on the 22nd.&lt;/font&gt;&lt;/p&gt;

&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=589&gt;&amp;amp;subject=My+new+role+at+Microsoft" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=589&amp;amp;title=My+new+role+at+Microsoft" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=589&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=589" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=589</link><guid>http://www.base4.net/Blog.aspx?ID=589</guid><pubDate>Fri, 12 Oct 2007 03:37:02 GMT</pubDate><category>EDM</category><category>Meta-Data</category><category>Microsoft</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>Cutting costs AND customers</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;font face="Tahoma" size="2"&gt;I recently got a BIG rental car in Seattle, so I could transport my wife, kids, car seats and our maxed out luggage allowance from the airport to our temporary accommodation in Sammamish. The plan was to return the big SUV to the Bellevue office after 2 days to switch to a more appropriate mid-sized car.&lt;br&gt;&lt;br&gt;Sounds simple, but it wasn't. See I spent at least an hour driving around and around in circles looking for a non-existant rental car office in central Bellevue.&lt;br&gt;&amp;nbsp;&lt;br&gt;I finally found out that the map I had been given by the rental company was out of date, the Bellevue office had moved!&lt;br&gt;&lt;br&gt;Now as if that wasn't bad enough, the bit that really made me mad was the explanation given by the lady. &lt;br&gt;&lt;br&gt;&lt;b&gt;"Oh yeah sorry about that, they won't let us hand out the new maps until we've used all the old ones..."&lt;/b&gt;&lt;br&gt;&lt;br&gt;This is a classic example of what happens when accountants run businesses... cutting costs is good up to a point. The problem is lots of big companies don't know that point...&lt;/font&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=585&gt;&amp;amp;subject=Cutting+costs+AND+customers" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=585&amp;amp;title=Cutting+costs+AND+customers" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=585&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=585" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=585</link><guid>http://www.base4.net/Blog.aspx?ID=585</guid><pubDate>Wed, 03 Oct 2007 04:14:26 GMT</pubDate><category>BigBusiness</category><category>Marketing</category><category>Stupidity</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>Comments are go...</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;font face="Tahoma" size="2"&gt;So I got my webserver sending emails again, which means comments are working again... So feel free!&lt;br&gt;&lt;br&gt;I gave up trying to get my ASPnix account configured to have SMTP access... it ended up being much simplier to just use my gmail account. I'm sure the same sort of thing would work with other hosted email providers too.&lt;br&gt;&lt;br&gt;The code is very simple:&lt;/font&gt;&lt;br&gt;&lt;br&gt;
&lt;div style="background: white none repeat scroll 0% 50%; font-family: Lucida Console; font-size: 8pt; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;SmtpClient&lt;/span&gt; client = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;SmtpClient&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;client.Host = &lt;span style="color: rgb(163, 21, 21);"&gt;"smtp.gmail.com"&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;client.Port = 587;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;client.EnableSsl = &lt;span style="color: blue;"&gt;true&lt;/span&gt;;&lt;/p&gt;


&lt;p style="margin: 0px;"&gt;client.Credentials = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;NetworkCredential&lt;/span&gt;(&lt;span style="color: rgb(163, 21, 21);"&gt;"emailaddress"&lt;/span&gt;,&lt;span style="color: rgb(163, 21, 21);"&gt;"password"&lt;/span&gt;);&lt;br&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;client.Send(CreateMessage());&lt;/p&gt;&lt;br&gt;&lt;p style="margin: 0px;"&gt;&lt;br&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&lt;font face="Tahoma" size="2"&gt;As you can see there is nothing too it.&lt;/font&gt;&lt;br&gt;&lt;/p&gt;&lt;br&gt;&lt;p style="margin: 0px;"&gt;&lt;br&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=581&gt;&amp;amp;subject=Comments+are+go..." style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=581&amp;amp;title=Comments+are+go..." style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=581&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=581" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=581</link><guid>http://www.base4.net/Blog.aspx?ID=581</guid><pubDate>Thu, 13 Sep 2007 23:47:24 GMT</pubDate><category>ASPnix</category><category>Email</category><category>SMTP</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>DNUG and F#</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;font face="Tahoma" size="2"&gt;On tuesday Darryl and I spoke at the inaugural usergroup meeting in Ellerslie. Darryl did a lap around Visual Studio 2008 and I did a lap around C# 3.0.&lt;br&gt;&lt;br&gt;Now I have to say it was a great success, about 40 people turned up. And I think the concensus was that they enjoyed it.&lt;br&gt;&lt;br&gt;The most important thing though was that most of the faces seemed to be new, there were a few familiar ones, but I am sure that at least 30 of the attendees wouldn't have bothered going into the CBD chat. So we are broadening our base. Which I think is great.&lt;br&gt;&lt;br&gt;Afterwards I got to rambling on about a few things with some guys, one (who's name escapes me) was interested in F#.&lt;br&gt;&lt;br&gt;So on the off chance he (the guy I met, not the cat's father) is reading my blog, I thought I'd point him in the direction of &lt;a href="http://blogs.msdn.com/jomo_fisher/"&gt;Jomo Fisher&lt;/a&gt;'s new &lt;a href="http://blogs.msdn.com/jomo_fisher/archive/2007/09/12/adventures-in-f-the-lay-of-the-land.aspx"&gt;post&lt;/a&gt; &lt;a href="http://blogs.msdn.com/jomo_fisher/archive/2007/09/12/adventures-in-f-probing-type-inference.aspx"&gt;s&lt;/a&gt; on F#. &lt;br&gt;&lt;br&gt;Reading between the lines I think we can expect more of them from Jomo in the future.&lt;/font&gt;&lt;br&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=580&gt;&amp;amp;subject=DNUG+and+F#" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=580&amp;amp;title=DNUG+and+F#" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=580&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=580" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=580</link><guid>http://www.base4.net/Blog.aspx?ID=580</guid><pubDate>Thu, 13 Sep 2007 21:19:02 GMT</pubDate><category>Community</category><category>DNUG</category><category>FSharp</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>Number one in Data 2.0</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;font face="Tahoma" size="2"&gt;This morning I was reading Jason's always good blog, and in particular his latest post &lt;a href="http://feeds.feedburner.com/%7Er/Jasonkolbcom/%7E3/156081172/a-hidden-benefi.html"&gt;a hidden benefit of blogging for entrepreneurs&lt;/a&gt;. &lt;br&gt;&lt;br&gt;So being essentially vain I decided to check to see how some of my posts rate when I use my hobby topics for key words.&lt;br&gt;&lt;br&gt;Now not surprisingly according to google I am the top Base4, more surprisingly I have the &lt;a href="http://www.google.co.nz/search?q=data+2.0"&gt;Number one link&lt;/a&gt; for &lt;a href="/blog.aspx?ID=36"&gt;Data 2.0&lt;/a&gt; too!&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;ul&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;&lt;strike&gt;Step one get to the top&lt;/strike&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;Step two make other people realise it is important...&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;font face="Tahoma" size="2"&gt;And yes this is a blatant attempt to stay at the top ;)&lt;/font&gt;&lt;br&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=579&gt;&amp;amp;subject=Number+one+in+Data+2.0" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=579&amp;amp;title=Number+one+in+Data+2.0" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=579&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=579" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=579</link><guid>http://www.base4.net/Blog.aspx?ID=579</guid><pubDate>Thu, 13 Sep 2007 23:54:19 GMT</pubDate><category>Data2.0</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>Thanks for your help - new blog is alive</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;font face="Tahoma" size="2"&gt;So my question &lt;a href="http://www.base4.net/blog.aspx?ID=553"&gt;where should this blog go?&lt;/a&gt;, generated quite a bit of feedback both via comments and by email.&lt;br&gt;&lt;br&gt;Thanks everyone for taking the time to give me suggestions etc. I ended up going with &lt;a href="http://alexbarnett.net/blog"&gt;Alex Barnett'&lt;/a&gt;s suggestion of &lt;a href="http://www.aspnix.com"&gt;ASPnix&lt;/a&gt;. I decided I needed a fully blown VPC image so that I can completely manage things, and run custom services (like Base4.NET for example), and ASPnix definitely is a good fit feature/cost wise.&lt;br&gt;&lt;br&gt;Summarising the recommendations I received:&lt;br&gt;&lt;/font&gt;&lt;ul&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;Quite a few people offered to host my site themselves, thanks for that guys (you know who you are), but I decided I need to do it myself.&lt;br&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;A number of people pointed out that I would soon have a &lt;a href="http://blogs.msdn.com"&gt;blogs.msdn.com&lt;/a&gt; blog. Which is I hope is true, the things is what I really wanted was to ensure all my old posts are still on the web!&lt;br&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://alexbarnett.net/blog/"&gt;Alex Barnett&lt;/a&gt; suggested &lt;a href="http://www.aspnix.com"&gt;ASPnix&lt;/a&gt;. Which is what I went with in the end.&lt;/font&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://weblogs.asp.net/fmarguerie/"&gt;Fabrice&lt;/a&gt; &lt;a href="http://weblogs.asp.net/fmarguerie/archive/2004/08/17/asp-net-hosting-webhost4life-opinion.aspx"&gt;recommended&lt;/a&gt; &lt;a href="http://www.webhost4life.com/"&gt;webhost4life.&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;Christian recommended using wordpress, which is probably a better option going forward, but I have a lot on my plate at the moment... so that migration from my custom Base4.NET backed blog is just going to have to wait.&lt;br&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;font face="Tahoma" size="2"&gt;Anyway if you are reading this post, my new ASPnix site is working!&lt;br&gt;&lt;br&gt;There is just one problem. Email. My blog currently doesn't have access to an SMTP server, so my .NET code can't send email (yet) which basically means comments are temporarily unavailable...&lt;br&gt;&lt;br&gt;I'll let you know when it is up and available again.&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;font face="Tahoma" size="2"&gt;Thanks again everyone for your suggestions.&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=578&gt;&amp;amp;subject=Thanks+for+your+help+-+new+blog+is+alive" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=578&amp;amp;title=Thanks+for+your+help+-+new+blog+is+alive" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=578&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=578" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=578</link><guid>http://www.base4.net/Blog.aspx?ID=578</guid><pubDate>Wed, 12 Sep 2007 21:38:49 GMT</pubDate><category>Blog</category><category>Thanks</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>Around the globe with composable data services</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;font face="Tahoma" size="2"&gt;In the last few days I've exchanged a lot of comments and emails with &lt;a href="http://diegov.blogspot.com"&gt;Diego Vega&lt;/a&gt;. It seems both he and I are joining the same data programmability team up at Microsoft in the next month or so!&lt;br&gt;&lt;br&gt;Which sort of explains both our interests in the &lt;a href="/blog.aspx?ID=566"&gt;ongoing&lt;/a&gt; &lt;a href="http://ayende.com/Blog/archive/2007/09/01/Data-Layer-ComponentizationAgain.aspx"&gt;debate&lt;/a&gt; about &lt;a href="/blog.aspx?ID=559"&gt;Data Layer Componentization&lt;/a&gt;. &lt;br&gt;&lt;br&gt;Anyway Diego has weighed in with a &lt;a href="http://diegov.blogspot.com/2007/09/around-globe-with-composable-data.html"&gt;nice post&lt;/a&gt; answering Ayende's critique too, lots of good points, many I wished I'd made myself!&lt;/font&gt;&lt;br&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=569&gt;&amp;amp;subject=Around+the+globe+with+composable+data+services" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=569&amp;amp;title=Around+the+globe+with+composable+data+services" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=569&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=569" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=569</link><guid>http://www.base4.net/Blog.aspx?ID=569</guid><pubDate>Tue, 04 Sep 2007 16:17:33 GMT</pubDate><category>Data2.0</category><category>EntityFramework</category><category>ORM</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>Data Layer Componentization take 2</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;font face="Tahoma" size="2"&gt;It seems Ayende, has &lt;a href="http://www.ayende.com/Blog/archive/2007/09/01/Data-Layer-ComponentizationAgain.aspx"&gt;a lot of problems&lt;/a&gt; with my &lt;a href="/blog.aspx?ID=559"&gt;data-layer componentization&lt;/a&gt; idea. Fair enough concensus is an elusive mistress...&lt;br&gt;&lt;/font&gt;&lt;font face="Tahoma" size="2"&gt;&lt;br&gt;The first thing to note is &lt;a href="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/DataLayerComponentization_D83B/image.png"&gt;Ayende's diagram&lt;/a&gt; describing data-layer componentization as I see it misses one key point. Namely that there is a
conceptual model that is distinct from the data model. &lt;br&gt;&lt;/font&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;br&gt;And I hope in the fullness of
time a new type of server will evolve to surface this conceptual model. I like to think of this as a DataServer as opposed to a Database. The idea being that a DataServer is the place you go to get data in the shape that makes sense for you (i.e. the conceptual model), and is responsible for getting that data from one or more data-sources or databases on your behalf.&lt;br&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;With this in conceptual model in place and hopefully later a DataServer in place, some of the problems Ayende mentions either go away or become much more manageable.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font color="#0000ff" face="Tahoma" size="2"&gt;&lt;b&gt;Ayende:&lt;/b&gt;&lt;/font&gt;&lt;font color="#0000ff" face="Tahoma" size="2"&gt; Reliability issues - the application talks to more than a single DB, so now any of the DBs going down will break it.&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font color="#0000ff" face="Tahoma" size="2"&gt;&lt;font color="#006400"&gt;&lt;b&gt;Me:&lt;/b&gt; Of course systems with multiple dependencies are less robust, but the alternative opens you up to relying on out of date or incorrect data, which hardly seems any better? &lt;/font&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font color="#0000ff" face="Tahoma" size="2"&gt;&lt;b&gt;Ayende:&lt;/b&gt; Maintainability issue #1 - since you have other
application dependant on your database, how are you going to handle upgrades
and changes to it? When you take down a single database / application, you need
to take down a significant number of applications with it.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font color="#006400" face="Tahoma" size="2"&gt;&lt;b&gt;Me:&lt;/b&gt; This is essentially the dual schema problem n’est pas?
So you handle it the same way you always handle the dual schema problem, with
an intermediary conceptual model. Incidentally there is no reason you have to
have only one conceptual model for any given data model either. If one application changes and another doesn't create a different conceptual model.&lt;br&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font color="#0000ff" face="Tahoma" size="2"&gt;&lt;b&gt;Ayende:&lt;/b&gt; Maintainability issue #2 – changing a single
database can have a ripple affect to all the applications in an organization.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font color="#008000" face="Tahoma" size="2"&gt;&lt;b&gt;Me:&lt;/b&gt; Only if the conceptual model changes too.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font color="#0000ff" face="Tahoma" size="2"&gt;&lt;b&gt;Ayende:&lt;/b&gt; Maintainability issue #3 – the way the previous
application stored its data may cause severe issues for you when you try to
consume it. Perhaps you access pattern dictate that you need to get data from
several disparate tables, making it more expensive to get the data. Maybe the
data that you want requires extra calculation that you want to store in the DB,
etc.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font color="#006400" face="Tahoma" size="2"&gt;&lt;b&gt;Me:&lt;/b&gt; The data model can be atrocious, but you would be a fool
to duplicate that complexity in the conceptual model too.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font color="#0000ff" face="Tahoma" size="2"&gt;&lt;b&gt;Ayende:&lt;/b&gt; Maintainability issue #4 – In any big organization,
it is very likely that you will have several database products in place (SQL
Server, Oracle, MySQL, etc). Those have different behaviors at time, and would
require that you would remember to treat them differently.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font color="#006400" face="Tahoma" size="2"&gt;&lt;b&gt;Me:&lt;/b&gt; And? Surely that is the point of things like NHibernate
and ADO.NET Entities? They know how to deal with different providers… so you don't have to worry about it.&lt;br&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font color="#0000ff" face="Tahoma" size="2"&gt;&lt;b&gt;Ayende:&lt;/b&gt; Duplication issues - Quite often, the data in the
database is not readily consumable, and requires a bit a business logic to
handle properly. For instance, the policy status that the user sees may depend
on the policy type and the risk level of the customer. If you want to do the
same on another application, you need to duplicate this logic again. This can
be a real issue if this is a piece of business logic that often changes.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font color="#006400" face="Tahoma" size="2"&gt;&lt;b&gt;Me:&lt;/b&gt; I’m not claiming that the ability to share data-layers
suddenly negates the need for a business layer! In fact by sharing data-layers
it finally becomes possible to share business layers. That is what Base4 tried to
do, it was after all a client/server ORM.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font color="#0000ff" face="Tahoma" size="2"&gt;&lt;b&gt;Ayende:&lt;/b&gt; Security implications –leaving aside the problem of
letting multiply applications to access a database, there are security
implications that are beyond what can be specified using SQL permissions. The
salary of an employee is only visible to the HR person responsible for the
employee and its manager (if&amp;nbsp;he is above level 16). Now, please try to
define that using SQL Permissions. You can't, at least not without a lot of
awkwardness. This means that you need application level security decisions. To
say that those are complex is a big understatement.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font color="#006400" face="Tahoma" size="2"&gt;&lt;b&gt;Me: &lt;/b&gt;Again yes this is a business layer issue, but the key to
being able to share business rules is first sharing business types!!! Kinda
re-inforces the need for me. In fact one of the unexpected side effects of
having a shared enterprise data model is that you get more context, upon which
you can base security decisions without having to resort to user groups and
roles etc, that essentially are a temporary way of modeling the reality which
is often captured elsewhere anyway. For example why create an Active Directory Group called "Sales",
when you have access to the data from the CRM application which indicates which
staff are sales people immediately and is the ultimate source of truth?&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font color="#0000ff" face="Tahoma" size="2"&gt;&lt;b&gt;Ayende:&lt;/b&gt; FK issue – traditionally, cross DB FK are a problem,
especially when you consider cross server and cross database products FKs.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;font color="#006400"&gt;&lt;b&gt;Me:&lt;/b&gt; Until relational databases matured I am sure the
management of standard FK’s was tricky too, we need to recognize that we are the
age of distribution, all the data necessary often can’t be in one place, it is
an interconnected world and we need to understand this. This is why we need
data-servers not just databases.&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font color="#0000ff" face="Tahoma" size="2"&gt;&lt;b&gt;Ayende:&lt;/b&gt; Performance – A fairly big issue here is performance,
since cross database joins are rarely possible (linked servers are one way, but
they are a PITA and comes with their own set of problem), so you would need to
be aware of that, but this is just a side effect of the approach used.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font color="#006400" face="Tahoma" size="2"&gt;&lt;b&gt;Me:&lt;/b&gt; Yes doing joins across databases is likely to be slow,
but using this performance issue, to say it shouldn't be done is a little like saying downloading a movie
from the internet takes a long time,&amp;nbsp; so we should never do it. I don't care if it takes a long time, I want to see the damn movie!&lt;br&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Just because something has issues, doesn’t mean it isn’t useful.
I am not claiming that data layer componentization solves every problem; rather
that it is a very nice trick to have in the arsenal.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;It is fairly easy to point out 'potential flaws' in a new way of doing something, but what about the potential flaws of the current standard way of doing things? For example Ayende's preferred route of using an &lt;a href="http://en.wikipedia.org/wiki/Extract,_transform,_load"&gt;ETL&lt;/a&gt; process to create local copies.&lt;br&gt;&lt;/font&gt;&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;More often than not developers don't actually know that there is another database that has the information they need or simply don't bother with an ETL process anyway.&lt;/font&gt;&lt;br&gt;&lt;!--[if !supportLists]--&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;Often times every database thinks it is the master,
and the natural result is no database can be trusted.&lt;/font&gt;&lt;!--[endif]--&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;Sometimes It is just not practical to duplicate
all data, sometimes there is just too much, or sometimes the cost of transfer
is too high, or it takes too long to do it, or you can't tolerate dirty data, or you have too many places to copy
that data.&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;In order to avoid (2), unwieldy and error prone
‘human’ processes need to develop, people need to remember to go into 2, 3, 6,
15 (?) systems to keep everything in sync.&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;





&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;I am not claiming creating a Data-Server is going to be
easy, or that data-layer componentization is the be all and end all, but I do
think that a Data-Server is great long term goal and one key step on the road is the ability to break data-layers out into re-usable fragments...&lt;/font&gt;&lt;/p&gt;

&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=566&gt;&amp;amp;subject=Data+Layer+Componentization+take+2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=566&amp;amp;title=Data+Layer+Componentization+take+2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=566&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=566" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=566</link><guid>http://www.base4.net/Blog.aspx?ID=566</guid><pubDate>Tue, 04 Sep 2007 16:17:52 GMT</pubDate><category>Data2.0</category><category>EntityFramework</category><category>ORM</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>Data Layer Componentization</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Yesterday &lt;a href="http://www.ayende.com"&gt;Ayende&lt;/a&gt; left a comment on my post about &lt;a href="/blog.aspx?ID=552"&gt;&amp;lt;Using&amp;gt;
support in the Entity Framework&lt;/a&gt;. He wasn’t sure what my point was. So it seems
further explanation is required.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;So without further ado:&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Today whenever a developer creates a new application, the
default behavior is to store all the data they need in a nice shiny new
database. This is because historically integrating with existing databases is not
that easy, not to mention the added risk. We all know that creating stable
software is hard, and doing so without owning or controlling the data is much
more so…&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Unfortunately the obvious problem with this start from
scratch approach is the tendency to create Silos. &lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Now Silo’s themselves aren’t actually a bad thing, the real
problem is data duplication across silos. &lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Duplication is essentially the opposite of re-use. Re-use is
good; I mean database normalization is based on the principle. &lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Duplication it seems is the villain of our story!&lt;br&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;By putting all the data you need in a new database you are practically
guaranteed to end up creating duplicates of at least some of your corporate
data. In any decent sized enterprise things like Customers, Staff, Addresses,
Contacts etc can be found spread far and wide in literally hundreds of
different databases.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/WinFS"&gt;WinFS&lt;/a&gt;’s schemas
promised to solve that, by providing a way to re-use data. I liked to think of
WinFS schemas as Data-Layer components that essentially grouped a set of tables,
views and stored procedures together to provide &lt;b&gt;shared&lt;/b&gt; persistence services for
some logical related information. &lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Classic examples might be a set of tables designed for
storing Music Information (Artist, MP3File, Genre, Album etc) or a set of
tables for storing information about Clients (Client, Contact, Deal, DealTeam, DealTeamMember
etc).&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Conceptually this is no different from DLLs or assemblies
that allow for &lt;b&gt;functionality to be shared&lt;/b&gt; amongst different applications. &lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;A data-layer component simply allows for &lt;b&gt;information to be
shared&lt;/b&gt; between different applications.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;By supporting re-use data layer componentization allows you
to break the duplication habit. You can still have silos, but the natural
tendency to duplicate data disappears. Each new silo will instead contain only
new types of data and where old types are required, simply pointers, or cross
silo foreign keys.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;This is why a large chunk of the time I spent on &lt;a href="/base4.net.aspx"&gt;Base4&lt;/a&gt; simply
added support for data-layer componentization, and overtime this feature evolved
to support the creation of re-usable data-layer components out of other people’s
data.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;So you can imagine my excitement to see that the &lt;a href="http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework"&gt;Entity
Framework&lt;/a&gt; now supports references between conceptual models… which is
essentially the same thing.&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;IMHO his data-layer re-use framework is the 800 pound
Gorilla feature that every ORM needs.&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=559&gt;&amp;amp;subject=Data+Layer+Componentization" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=559&amp;amp;title=Data+Layer+Componentization" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=559&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=559" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=559</link><guid>http://www.base4.net/Blog.aspx?ID=559</guid><pubDate>Thu, 30 Aug 2007 20:59:57 GMT</pubDate><category>Data2.0</category><category>EntityFramework</category><category>ORM</category><category>WinFS</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>Most likely too...</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;font face="Tahoma" size="2"&gt;So I’ve recently started playing around with &lt;a href="http://www.facebook.com"&gt;Facebook&lt;/a&gt;, seems
like another good way to stay in contact with people, &lt;a href="http://www.micropersuasion.com/2007/08/how-the-web-cha.html"&gt;friends and otherwise&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;Anyway one of my real friends from back in the day, used one of those nifty Facebook
apps (superlatives) to do that most school yearbook of things, and label me &lt;b&gt;Most
likely too…&lt;/b&gt;&lt;/font&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;Of course you can make your own &lt;b&gt;Most likely too&lt;/b&gt;'s. If I was
doing it myself, the truth would out...&lt;br&gt;&lt;/font&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;Most likely to laugh infectiously in a movie...&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;Most likely to corner someone and waffle on
about data…&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Most likely to mention REST…&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;Most likely to forget someone’s birthday&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;Most likely to enthuse about some obscure TV show
you’ve never heard off…&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;







&lt;p class="MsoListParagraphCxSpLast" style="text-indent: -18pt;"&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;What would your &lt;b&gt;Most likely to&lt;/b&gt;'s be?&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;While on the topic of Facebook, I was interested to read on
the Dot Net mailing list today the conspiracy theory about &lt;a href="http://www.nzherald.co.nz/section/story.cfm?c_id=5&amp;amp;objectid=10456534"&gt;Facebook
and the CIA&lt;/a&gt;. &lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;All I can say is if it is true, the cleansing of all that Facebook data is
going to be one hell of a nightmare, the hit rate would be awful. 1 billion &lt;b&gt;Alex
recommends Donnie Darko&lt;/b&gt;’s and &lt;b&gt;Most likely to Walk around in PJs all day&lt;/b&gt; for every
piece of useful information is my prediction…&lt;/font&gt;&lt;/p&gt;

&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=554&gt;&amp;amp;subject=Most+likely+too..." style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=554&amp;amp;title=Most+likely+too..." style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=554&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=554" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=554</link><guid>http://www.base4.net/Blog.aspx?ID=554</guid><pubDate>Thu, 30 Aug 2007 04:46:54 GMT</pubDate><category>Conspiracy</category><category>Facebook</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>Where should this blog go?</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;font face="Tahoma" size="2"&gt;As some of you will have read, &lt;a href="/Blog.aspx?ID=538"&gt;I'm heading up to Redmond at the end of September to join Microsoft's Data Programmability team&lt;/a&gt;. Exciting huh?&lt;br&gt;&lt;br&gt;Anyway the point of this post is to ask you guys (and girls) for some advice...&lt;br&gt;&lt;br&gt;It seems I will need to move to a hosted blogging service, because quite apart from the 2-3 months window when I won't have a home, I can't see me continuing to run my blog on a home server.&lt;br&gt;&lt;br&gt;So I need to move to a host... and I am not really sure who is best.&lt;br&gt;&lt;br&gt;Basically I need&lt;br&gt;&lt;/font&gt;&lt;ul&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;A fully featured hosted blog&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;Cheap Bandwidth costs&lt;br&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;BlogML import capabilities to move my old posts&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Tahoma" size="2"&gt;etc&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;font face="Tahoma" size="2"&gt;Any suggestions?&lt;/font&gt;&lt;br&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=553&gt;&amp;amp;subject=Where+should+this+blog+go?" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=553&amp;amp;title=Where+should+this+blog+go?" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=553&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=553" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=553</link><guid>http://www.base4.net/Blog.aspx?ID=553</guid><pubDate>Wed, 29 Aug 2007 22:12:40 GMT</pubDate><category>Advice</category><category>Blogging</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>Support for Using in the Entity Framework</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://blogs.msdn.com/adonet/archive/2007/08/27/entity-framework-beta-2-the-1st-entity-framework-tools-ctp-released.aspx"&gt;Elisa has just announced the Entity Framework beta 2&lt;/a&gt;. There are a whole heap of new features from the June CTP... &lt;br&gt;&lt;br&gt;But for me the big one is this: &lt;b&gt;"&amp;lt;Using&amp;gt; support in metadata files"&lt;/b&gt;. Which sounds innocuous and innocent enough. But make no mistake this feature is the 800 pound Gorilla that changes the game.&lt;br&gt;&lt;br&gt;This is essentially what separated Base4 from all other ORM's, namely the ability to componentize data layers. WinFS had this too, it was called schemas...&lt;/font&gt;&lt;br&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=552&gt;&amp;amp;subject=Support+for+Using+in+the+Entity+Framework" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=552&amp;amp;title=Support+for+Using+in+the+Entity+Framework" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=552&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=552" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=552</link><guid>http://www.base4.net/Blog.aspx?ID=552</guid><pubDate>Fri, 12 Oct 2007 03:37:12 GMT</pubDate><category>Base4</category><category>EntityFramework</category><category>Meta-Data</category><category>Schemas</category><category>Using</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>Blue Monster</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;

&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;About three weeks ago, I was interviewed by &lt;a href="http://blogs.msdn.com/nigel/"&gt;Nigel&lt;/a&gt; from Microsoft NZ, for a
sound bite. It eventually made its way &lt;a href="http://gobeyond.net.nz/teched2007/makeyourmark.html"&gt;into a video&lt;/a&gt; shown at the TechEd keynote. &lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;&lt;br&gt;It’s
a little embarrassing, as I rant about Data, joining the Data Programmability
team at Redmond and Hugh McLeod’s &lt;a href="http://www.gapingvoid.com/Moveable_Type/archives/003388.html"&gt;Blue Monster&lt;/a&gt;, also look out for NZ’s own
Hamish Carter’s SQL 2008 joke…&lt;/font&gt;&lt;/p&gt;

&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=551&gt;&amp;amp;subject=Blue+Monster" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=551&amp;amp;title=Blue+Monster" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=551&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=551" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                      
    &lt;/tr&gt;
&lt;/table&gt;</description><generator>BLAH</generator><link>http://www.base4.net/Blog.aspx?ID=551</link><guid>http://www.base4.net/Blog.aspx?ID=551</guid><pubDate>Thu, 16 Aug 2007 16:40:35 GMT</pubDate><category>BlueMonster</category><category>Microsoft</category><category>TechED</category><author>alex@base4.net</author><webMaster>alex@base4.net</webMaster><managingEditor>alex@base4.net</managingEditor><copyright>Copyright© 2004-2006 Base4 Solutions Ltd.</copyright></item><item><title>My LINQ session from TechED NZ</title><description>
&lt;table width="100%" cellpadding="0" cellspacing="0"&gt;
    &lt;tr&gt;
        &lt;td colspan="2"&gt;&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;I did a LINQ deep dive session at NZ TechED this morning at 9am... and now
it is over I can relax and enjoy the rest of TechED...&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;font face="Tahoma"&gt;It has been good being in the speakers lounge and getting to meet people like Mahesh who helps maintain the &lt;a href="http://blogs.msdn.com/ironpython/"&gt;IronPython blog&lt;/a&gt;, &lt;a href="http://www.nikhilk.net/"&gt;Nikhil Kothari&lt;/a&gt; of ASP.NET fame, Jeff King from the &lt;a href="http://blogs.msdn.com/webdevtools/"&gt;Web Dev tools&lt;/a&gt; team and &lt;a href="http://blogs.msdn.com/vbteam/archive/tags/Paul+Yuknewicz/default.aspx"&gt;Paul Yuknewicz&lt;/a&gt; from the &lt;a href="http://blogs.msdn.com/vbteam/"&gt;VB team&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;My session is available here as a &lt;a href="/assets/TechED/DEV313.zip"&gt;pptx&lt;/a&gt; and the code is &lt;a href="/assets/TechEd/Dev313_code.zip"&gt;here&lt;/a&gt; (it was written in Orcas Beta1 but should run on Beta2 too).&lt;/font&gt; &lt;/p&gt;

&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;
        &lt;td valign="bottom"&gt;&lt;font face="Tahoma" size="2"&gt;Share:&lt;/font&gt;&lt;/td&gt;
        &lt;td align="right" valign="bottom"&gt;
                &lt;font face="Tahoma" size="2"&gt;
                &lt;a href="mailto:?body=Hey I thought you might find this interesting: http://www.base4.net/Blog.aspx?ID=549&gt;&amp;amp;subject=My+LINQ+session+from+TechED+NZ" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;tell a friend
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://del.icio.us/post?url=http://www.base4.net/Blog.aspx?ID=549&amp;amp;title=My+LINQ+session+from+TechED+NZ" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/delicious.gif" style="display:inline" border="0"/&gt;&amp;nbsp;del.icio.us
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="http://www.digg.com/submit?url=http://www.base4.net/Blog.aspx?ID=549&amp;phase=2" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/digg.gif" style="display:inline" border="0"/&gt;&amp;nbsp;digg
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;a href="Blog.aspx?ChannelID=549" style="display:inline"&gt;
                    &lt;img src="http://www.base4.net/assets/email.gif" style="display:inline" border="0"/&gt;&amp;nbsp;comments
                &lt;/a&gt;&amp;nbsp;&amp;nbsp;
                &lt;/font&gt;
        &lt;/td&gt;                    