<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Charles Young</title>
        <link>http://geekswithblogs.net/cyoung/Default.aspx</link>
        <description />
        <language>en-GB</language>
        <copyright>Charles Young</copyright>
        <managingEditor>charles.young@solidsoft.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Charles Young</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/cyoung/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Tell Us Once (TUO) goes live</title>
            <link>http://geekswithblogs.net/cyoung/archive/2011/12/16/tell-us-once-tuo-goes-live.aspx</link>
            <description>
		&lt;p&gt;
				&lt;font style="FONT-SIZE: 11pt" face="Verdana"&gt;It's always exciting when a new application you've worked on goes live. The last couple of weeks have seen the 'soft' launch of a new service offered by the UK government called 'Tell Us Once' (TUO). You can probably guess from the name what the service does. Currently, the service allows UK citizens to inform the government (as opposed to Register Officers, who must still be notified separately) just once of two types of 'change-of-circumstance' event; namely births and deaths. You can go, say, to your local authority contact centre, where an officer will work through a set of screens with you, collecting the information you wish to provide. Then, once the Submit button is clicked, that's it! With your consent, the correct data sets are parcelled up and distributed to wherever they need to go - central and local government departments, public sector agencies such as the DVLA, Identity and Passport Service, etc. No need to write 50 letters!&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /???&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;font style="FONT-SIZE: 11pt" face="Verdana"&gt;With my colleagues at &lt;/font&gt;
				&lt;a title="SolidSoft Ltd." href="www.solidsoft.com" target="_blank"&gt;
						&lt;font style="FONT-SIZE: 11pt" face="Verdana"&gt;SolidSoft &lt;/font&gt;
				&lt;/a&gt;
				&lt;font style="FONT-SIZE: 11pt" face="Verdana"&gt;, I'm really proud to have been involved with the team that designed and developed this new service. For the past few years, we worked originally on the prototypes and pilots (there was more than one!). Over the last eighteen months or so, we have been engaged in building the national system, and development work in on-going. It's been a journey! The idea is very simple, but as you can imagine, the realisation of that idea is rather more complex. Look for future enhancements to today's service, with the ability to report events on-line from the comfort of your own home and the possible extension of the system to cover additional event types in future.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;font style="FONT-SIZE: 11pt" face="Verdana"&gt;Interaction with government has just got a whole lot better for UK citizens, and we helped make that happen. It's a pity that I don't intend to have any more children (four is enough!), and I really hope I don't have to report a death in the near future, but if I do, I'll be beating a path to the door of my local council's contact centre in order to 'tell them once'.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;font style="FONT-SIZE: 11pt" face="Verdana"&gt;
				&lt;/font&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;font style="FONT-SIZE: 11pt" face="Verdana"&gt;See &lt;/font&gt;
				&lt;a href="http://www.guardian.co.uk/government-computing-network/2011/dec/16/tell-us-once-matt-briggs?utm_source=twitterfeed&amp;amp;utm_medium=twitter"&gt;
						&lt;font style="FONT-SIZE: 11pt" face="Verdana"&gt;http://www.guardian.co.uk/government-computing-network/2011/dec/16/tell-us-once-matt-briggs?utm_source=twitterfeed&amp;amp;utm_medium=twitter &lt;/font&gt;
				&lt;/a&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;a href="http://www.guardian.co.uk/public-leaders-network/2011/nov/10/tell-us-once-birth-death"&gt;
						&lt;font style="FONT-SIZE: 11pt" face="Verdana"&gt;http://www.guardian.co.uk/public-leaders-network/2011/nov/10/tell-us-once-birth-death&lt;/font&gt;
				&lt;/a&gt;
		&lt;/p&gt;
 &lt;img src="http://geekswithblogs.net/cyoung/aggbug/148058.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/12/16/tell-us-once-tuo-goes-live.aspx</guid>
            <pubDate>Fri, 16 Dec 2011 11:34:39 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/148058.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/12/16/tell-us-once-tuo-goes-live.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/148058.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/148058.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk Server 2010 R2 Announced</title>
            <category>BizTalk Server 2004/2006</category>
            <link>http://geekswithblogs.net/cyoung/archive/2011/12/09/biztalk-server-2010-r2-announced.aspx</link>
            <description>
		&lt;p style="MARGIN: 0cm 0cm 11pt" class="MsoNormal"&gt;
				&lt;font style="FONT-SIZE: 11pt" face="Verdana"&gt;Yesterday, Microsoft announced the forthcoming release of BizTalk Server 2010 R2 on the BizTalk Server blog site.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;This is advanced notice, given that this new version will ship six months after the release of Windows 8, expected in the second half of next year.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;On this basis, we can expect the new version of BizTalk Server to arrive in 2013.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Given the BizTalk team’s previous record of name changes, I wonder if this will eventually be released as BizTalk Server 2013.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /???&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;
		&lt;/p&gt;
		&lt;p style="MARGIN: 0cm 0cm 11pt" class="MsoNormal"&gt;
				&lt;font style="FONT-SIZE: 11pt" face="Verdana"&gt;Microsoft has been refreshingly open in recent months about their future plans for BizTalk Server.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;This strategy has not been without its dangers with some commentators refusing to accept Microsoft’s statements at face value.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;However, yesterday’s announcement is entirely in line with everything Microsoft has been saying, both publically and privately, for some time now.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Since the release of BizTalk Server 2004, Microsoft has made little change to the core technology with, of course, the exception of a much re-vamped application packaging approach in BizTalk Server 2006.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Instead, Microsoft chose to put investment into a number of important ‘satellite’ technologies such as EDIFACT/X12/AS2 support, RFID Server, etc.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Maintaining the stability of the core platform has allowed BizTalk Server to emerge as a mature and trusted workhorse in the enterprise integration space with widely available skills in the marketplace.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;
		&lt;/p&gt;
		&lt;p style="MARGIN: 0cm 0cm 11pt" class="MsoNormal"&gt;
				&lt;font style="FONT-SIZE: 11pt" face="Verdana"&gt;In terms of its major investments, Microsoft’s focus has long shifted to the cloud.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Microsoft has candidly communicated that, given this focus, they have no current plans to add major new technologies to the BizTalk platform.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;In addition, they absolutely have no intention of re-engineering the core BizTalk platform.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;In my direct experience in recent months, this last point plays very well to prospective and existing enterprise customers.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;It takes us straight to the heart of what most organisations want from an integration server: a ‘known quantity’ with a good track record for dependability, scalability and stability and a significant pool of available technical resource. &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;
		&lt;/p&gt;
		&lt;p style="MARGIN: 0cm 0cm 11pt" class="MsoNormal"&gt;
				&lt;font style="FONT-SIZE: 11pt" face="Verdana"&gt;The announcement of BizTalk Server 2010 R2 illustrates and illuminates Microsoft’s stated future strategy for the product.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;An important part of Microsoft’s platform for enterprise computing, it will continue to be enhanced and extended.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;It will match future developments in the Windows platform and new versions of Visual Studio.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;However, we should not expect to see any dramatic new developments in the world of BizTalk Server.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Instead, the BizTalk platform will continue to steadily mature further as the world’s best-selling integration server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;
		&lt;/p&gt;
		&lt;p style="MARGIN: 0cm 0cm 11pt" class="MsoNormal"&gt;
				&lt;font style="FONT-SIZE: 11pt" face="Verdana"&gt;One of the big messages of yesterday’s announcement is that BizTalk Server will increasingly support its emerging role in building hybrid solutions that encompass systems and services that reside both on-premises and in the cloud.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;At &lt;/font&gt;
				&lt;a title="SolidSoft Ltd." href="www.solidsoft.com" target="_blank"&gt;
						&lt;font style="FONT-SIZE: 11pt" face="Verdana"&gt;SolidSoft &lt;/font&gt;
				&lt;/a&gt;
				&lt;font style="FONT-SIZE: 11pt" face="Verdana"&gt;, we are increasingly focused on the design and implementation of cloud-based and hybrid integration solutions.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Integration is challenging, and Azure is a young, fast evolving platform.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Microsoft has discussed at length their vision of Azure within a wider ‘hybrid’ context.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;The availability of a tried and tested, mature, on-premises integration server is a vitally important enabler in building hybrid solutions.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Better than that, the announcement makes it clear that, as well as new support for the Azure service bus, BizTalk Server 2010 R2 licensing will be revised to open up new opportunities for hosting the server in the cloud.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;This ties in with the push in Azure to embrace more fully the IaaS (infrastructure-as-a-service) model and, perhaps most importantly in the BizTalk space, to reduce or eliminate existing barriers between the on-premises and off-premises worlds.   BizTalk Server and Azure belong together.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;
		&lt;/p&gt;
 &lt;img src="http://geekswithblogs.net/cyoung/aggbug/147987.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/12/09/biztalk-server-2010-r2-announced.aspx</guid>
            <pubDate>Fri, 09 Dec 2011 08:37:43 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/147987.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/12/09/biztalk-server-2010-r2-announced.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/147987.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/147987.aspx</trackback:ping>
        </item>
        <item>
            <title>Announcing BizTalk Server 2010 Unleashed</title>
            <category>BizTalk Server 2004/2006</category>
            <link>http://geekswithblogs.net/cyoung/archive/2011/09/25/announcing-biztalk-server-2010-unleashed.aspx</link>
            <description>&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;At last, I can announce that &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://www.informit.com/store/product.aspx?isbn=9780672331183"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;‘BizTalk Server 2010 Unleashed&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;’ has been published and is available through &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://www.amazon.com/Microsoft-BizTalk-Server-2010-Unleashed/dp/0672331187"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;major booksellers&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt; in both printed and electronic form. The book is not a new edition of the old ‘BizTalk Server 2004 Unleashed’ book from several years ago, although Brian Loesgen, our fearless team leader, provided continuity with that title. Instead, this is entirely new content written by a team of six authors, including myself.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;img alt="" align="middle" width="500" height="500" src="/images/geekswithblogs_net/cyoung/507/o_BTS2010Unleashed.jpg" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;BizTalk Server is such a huge subject. It proved a challenge to decide on the content when we started our collaboration a couple of years back (yes, it really was that long ago!). We quickly decided that the book would principally target the BizTalk development community and that it would provide a solid and comprehensive introduction to the chief artefacts of BizTalk Server 2010 solutions – schemas, maps, orchestrations, pipelines and adapters. Much of this content was written by Jan Eliasen and forms part 1 (“The Basics”) of the book.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;On the day my complimentary copies were delivered, I was working on the implementation of a pipeline component, and had an issue to do with exposing developer-friendly info in Visual Studio. I used this as a test-run of Jan’s content, and sure enough, discovered that he had clearly addressed the issue I had, including sample code. Jan’s contribution is succinct and to the point, but is also very comprehensive (he’s even documented things like creating custom pipeline templates!). I particularly appreciate the way he included plenty of guidance on testing individual artefacts.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;My contributions to part 1 is a chapter on adapters (the ‘adapter chapter’ as we fondly called it). This explores each of the ‘native’ adapters and the family of WCF adapters. There is also some content on the new SQL adapter which is part of the BizTalk Adapter Pack. In that respect, it overlaps with ‘&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://www.packtpub.com/microsoft-biztalk-2010-line-of-business-systems-integration/book"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;Microsoft BizTalk 2010 Line of Business Systems Integration&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;’ which I &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2011/09/19/book-review-microsoft-biztalk-2010-line-of-business-systems-integration.aspx"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;reviewed&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt; recently, and also in respect of the SharePoint adapter. However, ‘Microsoft BizTalk 2010 Line of Business Systems Integration’ provides a whole lot more information on a range of LoB adapters. It is written in a different style to BizTalk Server 2010 Unleashed and is highly complementary. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Although the original plan was to include content on custom adapter creation, this didn’t, in the end, get covered in any depth. One reason for this is that, going forward, most custom adapter development for both BizTalk and Azure Integration Services (still some way off) is likely to be done using the &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://www.microsoft.com/biztalk/technologies/wcflobadaptersdk.mspx"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;WCF LoB Adapter SDK&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;. That suggested that we would have had to document two distinct adapter frameworks in order to do the job properly, and this proved a little too much to tackle. Room there for another book, methinks.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Part 1 accounts for about half the content of the book. Beyond this, we wanted to add value by covering more advanced topics, including the use of BizTalk Server alongside WCF and the emerging Azure platform, new features in BizTalk Server 2010 and topics that have been only partially covered elsewhere. So, for example, Anush Kumar was contributed an entire section (part 4) on RFID including the new RFID Mobile Framework. Anush is well-known in the BizTalk community due to his involvement in the development of RFID Server. Between Jon Flanders and Brian Loesgen, the book includes content on exploiting WCF extensibility in BizTalk, integrating via the Azure service bus (please note that this content was written before the advent of topics/subscriptions or Integration Services), the BAM framework and the ESB toolkit. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;There is also a whole section (part 3) written by Scott Colestock that introduces the Administration Console and describes deployment approaches for BizTalk solutions.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;b&gt;Rules&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;That leaves one more subject for which I was responsible. One of the main reasons I was asked to contribute to the book was to document rules processing. Although there is some great content out there on the use of the BRE, I have long felt there is a need for a more comprehensive introduction. Due to some early confusion, I originally intended a total of seven short chapters on rules, but this content was refactored into two longer chapters. The first chapter introduces the Business Rules Framework. My idea was to emphasise the entire framework up front, rather than simply explore the rules composer and other tools. I also tried to explain the typical ‘feel’ of rules processing in the context of a BizTalk application, and the relationship between executable rules and higher-level business rules.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The second chapter investigates rule-based programming. It attempts broadly to achieve two related goals. The first is to explain rules programming to developers, to demystify the model, explain the techniques and provide insight into how to handle a number of common issues and pitfalls that rules developers face. The second is to provide a solid theoretical introduction to rules processing, including concepts that are not generally familiar to the average developer. I resisted the temptation, though, to provide an in-depth explanation of how the Rete Algorithm works, which I’m sure will be a relief :-) You can read the Wikipedia article on that.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;b&gt;Conclusions&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;So there you have it. BizTalk Server 2010 is a mature enterprise-level product which, although it has a long future ahead of it, won’t change fundamentally over time. Microsoft has publically stated that their future major investments in EAI/EDI will be made in the Azure space, although new versions of BizTalk Server will continue to benefit from general improvement and greater integration with the evolving Azure platform. So, hopefully, our content will serve for some time as a useful introduction to BizTalk Server, chiefly from a developer’s perspective.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/147040.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/09/25/announcing-biztalk-server-2010-unleashed.aspx</guid>
            <pubDate>Sun, 25 Sep 2011 21:30:24 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/147040.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/09/25/announcing-biztalk-server-2010-unleashed.aspx#feedback</comments>
            <slash:comments>8</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/147040.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/147040.aspx</trackback:ping>
        </item>
        <item>
            <title>Book Review: Microsoft BizTalk 2010 Line of Business Systems Integration</title>
            <category>BizTalk Server 2004/2006</category>
            <link>http://geekswithblogs.net/cyoung/archive/2011/09/19/book-review-microsoft-biztalk-2010-line-of-business-systems-integration.aspx</link>
            <description>&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;One benefit of my recent experience on a BA flight was that I got plenty of time to read through “&lt;a href="http://www.packtpub.com/microsoft-biztalk-2010-line-of-business-systems-integration/book"&gt;Microsoft BizTalk 2010 Line of Business Systems Integration&lt;/a&gt;”. I’d promised the publisher weeks ago that I would take a look and publish some comments, but August has been such a busy month for me, and they have had to be patient.   I should point out that, for the sake of transparency, that with another BizTalk book about to be released (next week) which I helped co-author, I have an urgent and obvious need to make good on this promise before I start to blog on other stuff.&lt;br /&gt;
 &lt;br /&gt;
BTS10LoBI is a really welcome addition to the corpus of BizTalk Server books and fills a conspicuous gap in the market.  BizTalk Server offers a wide-ranging library of adapters.  The ‘native’ (built-in) adapters understandably get a lot of attention, as do the WCF adapters, but other adapters, such as the LoB adapters and HIS adapters, are often overlooked.  I came to the book with the mistaken assumption that its chief focus was on the BizTalk Adapter Pack.  This is a pack of adapters built with the WCF-based LoB SDK.  In fact, the book follows a much broader path.  It is a book about LoB integration in a general sense, and not about one specific suite of adapters.  Indeed, it is not simply about adapters.  It focuses on integration with various LoB systems, and explains how adapters and other tools are used to achieve this.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;This makes for a more interesting read.  For example, one, possibly unintended, consequence (given that it represents collaboration between five different authors) is that it illustrates very effectively the spectrum of approaches and techniques that end up being employed in real-world integration.  In some cases developers use adapters that offer focused support for metadata harvesting and other features, exploited through tools such as the ‘Consume Adapter Service’ UI.  In other cases, they use native adapters with hand-crafted schemas, or they create façade services.  The book covers additional scenarios where third-party LoB tools and cloud services (specifically SalesForce) are used in conjunction with BizTalk Server.  Coupled with lots of practical examples, the book serves to provide insight into the ‘feel’ of real-world integration which is so often a messy and multi-faceted experience.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The book does not cover the BizTalk Adapter Pack comprehensively.  There is no chapter on the Oracle adapters (not a significant issue because they are very similar to the SQL Server adapter) or the Siebel adapter.  On the other hand, it provides two chapters on the SAP adapter looking at both IDOC and RFC/BAPI approaches.  I particularly welcome the inclusion of chapters on integration with both Dynamics CRM 2011 and Dynamics AX 2009.  I learned a lot about Dynamics CRM which I haven’t had occasion personally to integrate with in its latest version.  The chapter on SalesForce mentions, but does not describe in any detail, the TwoConnect SalesForce adapter which we have used very effectively on previous projects.  Rather, it concentrates on direct HTTP/SOAP interaction with SalesForce.com and, very usefully, advocates the use of Azure AppFabric for secure exchange of data across the internet.  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The book provides two chapters on integration with SharePoint 2010.  The first explores the use of the native adapter to communicate with form and document libraries, and provides illustrated examples of working with InfoPath forms.  It would have been reasonable to stop there, but instead, the second chapter goes on to describe how to integrate more fulsomely with SharePoint via its web service interface, and specifically how to interact with SharePoint lists.&lt;br /&gt;
  &lt;br /&gt;
Increasingly, the BizTalk community is waking up to the implications of Windows Azure and AppFabric.  This is an important step for developers to take.  Future versions of BizTalk Server will essentially join and extend the on-premise AppFabric world.  As Microsoft progressively melds their on/off premise worlds, BizTalk developers will increasingly have to grapple with integration of cloud based services, and integration of on-premise services via the cloud.  The book is careful to address this emerging field through the inclusion of a chapter on integration via the Azure AppFabric service bus.   As I mentioned above, this is applied specifically to SalesForce integration in a later chapter.  The AppFabric Service Bus is a rapidly-evolving part of the Azure platform, and is set to introduce a raft on new features in the coming months which will greatly extend the possibilities.  Eventually we will see cloud-based integration services appear in this space.  So, the inclusion of this chapter points out the direction of major future evolution of Microsoft’s capabilities and offerings in the integration space.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The book is not shy about providing guidance on practical problems and potential areas of confusion that developers may encounter.  The content is clearly based on real-world experience and benefits from ‘war stories’.  The value of such content cannot be underestimated, and can save developers hours of pain and frustration when tackling new problems.  All in all, I thoroughly welcome this book.  My thanks to the authors, Kent Waere, Richard Seroter, Sergei Moukhnitski, Thiago Almeida and Carl Darski.&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/146943.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/09/19/book-review-microsoft-biztalk-2010-line-of-business-systems-integration.aspx</guid>
            <pubDate>Mon, 19 Sep 2011 21:47:38 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/146943.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/09/19/book-review-microsoft-biztalk-2010-line-of-business-systems-integration.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/146943.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/146943.aspx</trackback:ping>
        </item>
        <item>
            <title>Broken British Airways</title>
            <link>http://geekswithblogs.net/cyoung/archive/2011/09/18/broken-british-airways.aspx</link>
            <description>&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;I'm sitting is a nice new hotel in Redmond - the Hotel Sierra is well worth considering if you are staying in the area. I'm sleep-deprived and jet-lagged, and it's raining hard outside, but hey, I just got to play with one of the Samsung tablets they handed out at Build, and was not disappointed.  Microsoft is doing something trully remarkable with Win8 Metro.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;On the other hand, I am deeply disappointed with the UK flag carrier, British Airways. Indeed, I've lost patience with them big-time. So forgive me for getting this off my chest. I am very much in the mood to do as much reputational damage to them as I can.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;When I checked in on-line, they had booked me into one seat but I could see another with more legroom (a front row). Because of repeated experience over the last few years with defective headsets (I always carry my own earphones these days after one flight here we went through three different headsets before finding one in which one of the earphones actually worked) and bad headset connections (having to constantly twiddle the jack to try to hear anything), I spent a little while consciously debating with myself the intangible risks of changing my seat – i.e., I could easily be swapping a ‘working’ seat for a broken ‘one’. Of course, there was no way to know, so I opted for the seat with more legroom.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;MISTAKE! Forget about dodgy headsets. Nothing worked. Not even the reading light! Certainly not the inflight entertainment. They failed to show me the safety video (the steward did panic a little when he realised they had failed to comply with their legal obligations). So I sat for 9.5 hours in a grubby, worn-out cabin with nothing! &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;To be fair, they did offer to try to find me another seat (the plane was very full), but I opted for the legroom because I wanted to try to get some sleep. So I could probably have got in-flight entertainment. The point is, though, that this is now more than just an unfortunate couple of co-incidences over the last two or three years. I am reasonably fair-minded and understand that sometimes, with the best will in the world, things just go wrong.  In any case, I was bought up to put-up or shut-up (as my mother would say - it's part of the culture).  However, I am forced to conclude that this is now a repeated trend that I experience regularly to the point where I am consciously suspicious of the seats they give me, and clearly with good reason.  BA simply fails to maintain its cabins to anything like a reasonable or acceptable standard (I must trust they do a better job in maintaining the engines). I used to feel some patriotic pride in BA.  Not now.  It’s so sad to see the British flag carrier consistently deliver such an embarrasingly poor and second-rate service. I will be asking &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 11pt"&gt;&lt;a title="SolidSoft Ltd." target="_blank" href="www.solidsoft.com"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;SolidSoft&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; in future to, where possible, book me onto a different carrier and will do what I can to convince the company to use other carriers by default.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Personally, I think the UK government should give flag carrier status to someone else (Virgin, I guess).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/146927.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/09/18/broken-british-airways.aspx</guid>
            <pubDate>Sun, 18 Sep 2011 14:04:09 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/146927.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/09/18/broken-british-airways.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/146927.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/146927.aspx</trackback:ping>
        </item>
        <item>
            <title>Windows 8, Metro and IE10: First impressions</title>
            <link>http://geekswithblogs.net/cyoung/archive/2011/09/15/windows-8-metro-and-ie10-first-impressions.aspx</link>
            <description>&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;I've just installed the Windows 8 Developer Preview.  These are some first impressions:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Installation of the preview was quite smooth and didn't take too long.  It took a few minutes to extract the files onto a virtual image, but feature installation then seemed to happen almost instantaneously (according to the feedback on the screen).  The installation routine then went into a preparation cycle that took two or three minutes.  Then the virtual machine rebooted and after a couple of minutes more preparation, up came the licence terms page.  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Having agreed to the licence, I was immediately taken into a racing-green slidy-slidy set of screens that asked me to personalize the installation, including entering my email address.  I entered my work alias.  I was then asked for another alias and password for access to Windows Live services and other stuff.  There was a useful link for signing up for a Windows Live ID.  I duly entered the information.  Only on the next screen did I spot an option to not sign in with a Live ID.  I didn't try this, but I felt a bit peeved that the use of a Live ID had appeared mandatory until that point.  I suspect the idea is to try to entice users to get a Live ID, even if they don't really want one.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;A couple more minutes of waiting, et voilà.  The Metro Start screen appeared, covered in an array of tiles.  Simultaneously I got an email (on my work alias) saying that a trusted PC had been added to my Live account.  I clicked the confirmation link, signed into Windows Live and checked that my PC had indeed been confirmed. Then Alan started chatting, but that is a different matter.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Of course, Oracle's Virtual Box (and my Dell notebook) haven't quite mastered the art of touch yet.  For non-touch users a scroll bar appears at the bottom of the Metro UI. I had a moment's innocent fun pretending to swipe the screen with my finger while actually scrolling with the mouse.  Ah, happy days.  Then I discovered that the scroll wheel on my mouse does the equivalent of finger swiping on the Start page.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;I opened up IE10.  Wow!  I thought IE9's minimal chrome story was amazing.  IE10 shows how far short IE9 falls.  There is no chrome.  Nothing.  Nadda.  Of sure, there is an address box and some buttons.  They appear when needed (a right mouse click without touch) and disappear again as quickly as possible.  It’s the same with tabs which have morphed, in the Metro UI, into a strip of thumbnails that appear on demand and then get out of the way once you have made your selection.  Click on a new tab and you can navigate to a new page or select a page from a list of recents/favourites.  You can also pin sites to 'Start', which in this case means that they appear as additional tiles on the Start screen.  I played for a minute and then I suddenly experienced the same rush of endorphins that hit me the first time I opened Google Chrome a few years back.  Yes, sad to say, I fell in love with a browser!  A near invisible browser.  A browser that is IE for goodness sake! A browser that does what so many wished IE would do years ago. It gets out of your way.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Do you like traditional tabs?  That's not a problem, because the good-ole desktop is just a click (or maybe a tap or a swipe) away.  There is even a useful widget on the now-you-see-me/now-you-don't address bar that takes you to desktop view.  It is a bit of a one way trip, and results in a new IE frame opening on the desktop for the current page.  On the desktop, IE10 looks just like IE9.  It is, however, significantly more accomplished, and has closed much of the remaining gap between IE9, the full HTML5 spec and some of the additional specifications that people incorrectly term 'HTML 5'.  Microsoft has more than doubled its score on the (slightly idiosyncratic) HTML5 Test site (&lt;/span&gt;&lt;/span&gt;&lt;a href="http://html5test.com/"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;http://html5test.com/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;) and now just pips Opera 11.51, Safari 5.1 and Firefox 6 to the post for HTML5 compliance (it beats Firefox by just 2 points, although it is 1 point behind if you take bonus points into consideration) by that measure, although it still falls behind Google Chrome 13.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Pinning caused me some issues which I suspect are simply bugs in the preview.  Having pinned a site, every time I went into the Metro version of IE10, I found that I couldn't click on links, hide the address bar, view tabs, etc.  I eventually had to kill my IE10 processes to get things working properly again.  I noticed that desktop and Metro IE10 processes appear with slightly different icons in the radically redesigned task manager.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;One slight mystery here is that the beta of 64-bit Flash worked fine in Desktop view but not in Metro.  No doubt this will long since have become a matter of history by the time all this stuff ships.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;For a few minutes, I was rather confused about the apparent lack of a proper Start menu in the desktop view.  If you click on Start, you go back to the Metro Start page.  And then the obvious dawned on me.  In effect, the new Metro Start screen is simply an elaboration of the old Start menu.  In previous version, when you click Start, the menu pops up on top of the desktop.  It is quite rich in previous versions, and allows you to start applications, perform searches for applications and files or undertake various management and administrative tasks.  Windows 8 is really not very different.  However, the Start menu has now morphed into the new Metro Start page which takes up the whole screen.  Instead of a list of pinned and recent applications, the Start screen displays tiles.  Move the mouse down to the bottom right corner (I don't know what the equivalent touch gesture is), and up pops a mini Start menu.  Clicking 'Start' takes you back to the desktop.  Click on 'Search' to search for applications files or settings.  The settings feature is really powerful.  In fact, in Windows 7, searching for likely terms like 'Display' or 'Network' also returns results for settings, but you get far more hits in Windows 8.  The effect is rather like 'God Mode' in Windows 7.  &lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;span style="font-family: Verdana"&gt;[&lt;strong&gt;update: &lt;/strong&gt;no, I'm wrong.  Windows 7 gives you a similar number of hits, BUT you need to click the relevant section in the search results to see them all.  I've clearly not being using Search effectively to date!]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The mini Start menu is available in the desktop as well.  In this case, if you click 'Search', the search panel opens up on the right of the screen and results then open up to take over the rest of the screen. As I experimented, I found that while things were fairly intuitive, the preview does not always work in a totally predictable fashion.  I also suspect that the experience is currently better for touch screens than for traditional mice (I note Microsoft is busy re-inventing the mouse for a Windows 8 world - see &lt;a href="http://www.microsoft.com/hardware/en-us/products/touch-mouse/microsite/"&gt;http://www.microsoft.com/hardware/en-us/products/touch-mouse/microsite/&lt;/a&gt;).  This is hardly surprising given that Windows 8 is clearly in an early state and is unfinished.  I suspect the emphasis to date has been on touch, and not on mouse-driven equivalents.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Once I grasped the essential nature of the Metro Start page and its correspondence to the Start menu is earlier versions of Windows, I began to feel far more comfortable about the changes. Sure, all the marketing hype is about the radical new UI design features.  However, this really is just the next stage of the evolution of the familiar Windows UI.  Metro is absolutely fabulous as a tablet UI (better than iOS/Android IMHO, which after all, are really just the old 'icons on a desktop' approach with added gestures), and I think it will actually be quite good for desktops, once it is complete.  I note, though, that people have already discovered the registry hack to switch Metro off (see &lt;a href="http://www.mstechpages.com/2011/09/14/disable-metro-in-windows-8-developer-preview/"&gt;http://www.mstechpages.com/2011/09/14/disable-metro-in-windows-8-developer-preview/&lt;/a&gt;), and I think MS would be wise to offer this as a proper setting in the release version.  I anticipate, though, that I will not be switching Metro off, even on a non-touch desktop.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Shutting down presented a little difficulty.  I am used to using the Start menu to do this (the classic 'Start' to stop conundrum in Windows).    I couldn't find a 'Shut Down' command on the Start screen.  I eventually did Ctrl-Alt-Delete (or rather, Home-Del in Oracle Virtual Box) and then found a Shut Down option at the bottom left of the screen.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Booting the VBox image takes 20 seconds on my machine.  20 seconds!   I'll say that again. 20 seconds!!!!  Yes, 20 seconds, just about exactly.  That's on a virtual machine on my notebook.  On the host, it would be significantly faster.  This is Windows like we have never known it before.  Frankly, it is the ability to boot fast and run Windows happily on ARM devices (I'll have to take that on trust as I haven't yet seen it for real) that are the really important changes.  Almost more important than the Metro UI. The nay-sayers and trolls say it can't be done.  I think Microsoft has done it, though.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;My last foray into Windows 8 this evening was to launch Visual Studio 2011 Express and have a quick peek at the templates for Win8 development.  I have a lot to explore.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The say first impressions are the most important.  When I saw the on-line video of Windows 8 a couple of months back, I almost fell off my chair in surprise.  Now I have got my hands on an early version I am really quite impressed. Like everyone else, I couldn't see how Microsoft could possibly compete against Apple and Google in the tablet space.  Now...well...I look forward to seeing if and how Apple and Google will respond.  If it is true, as Steve Ballmer states, that Microsoft had 500 thousand downloads of the preview in less than 24 hours, then tectonic plates have already shifted and Microsoft is firmly on track to become a major contender in the tablet space. OK, that's only one in every 14,000 people on the face of planet earth, and yes, the release version of Lion had double that number of hits in the first 24 hours.  Nevertheless, it is a huge figure for an early technical preview of an operating system that won't ship for another year.  It means people are very, very keen to start developing for Metro (I know we are at &lt;a title="SolidSoft Ltd." target="_blank" href="www.solidsoft.com"&gt;SolidSoft&lt;/a&gt;).  And if Windows 8 succeeds on tablets, what will that mean for Windows Phone which also uses the Metro concept?  Don't ever, ever underestimate Redmond.&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/146888.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/09/15/windows-8-metro-and-ie10-first-impressions.aspx</guid>
            <pubDate>Wed, 14 Sep 2011 23:56:06 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/146888.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/09/15/windows-8-metro-and-ie10-first-impressions.aspx#feedback</comments>
            <slash:comments>12</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/146888.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/146888.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk Server 2010: Loading properties in custom pipeline components</title>
            <category>BizTalk Server 2004/2006</category>
            <link>http://geekswithblogs.net/cyoung/archive/2011/09/14/biztalk-server-2010-loading-properties-in-custom-pipeline-components.aspx</link>
            <description>&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Following the previous post, here is a second bit of wisdom.  In the Load method of a custom pipeline component, only assign values retrieved from the property bag to your custom properties if the retrieved value is not null.  Do not assign any value to a custom property if the retrieved value is null.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;This is important because of the way in which pipeline property values are loaded at run time.  If you assign one or more property values via the Admin Console (e.g., on a pipeline in a Receive Location), BizTalk will call the Load method twice - once to load the values assigned in the pipeline editor at design time and a second time to overlay these values with values captured via the admin console.  Let's say you assign a value to custom property A at design time, but not to custom property B.  After deploying your application, the admin console will display property A's value in the Configure Pipeline dialog box.  Note that it will be displayed in normal text.  If you enter a value for Property B, it will be displayed in bold text.  Here is the important bit.  At runtime, during the second invocation of the Load method, BizTalk will only retrieve bold text values (values entered directly in the admin console).  Other values are will not be retrieved.  Instead, the property bag returns null values.  Hence, if your Load method responds to a null by assigning some other value to the property (e.g., an empty string), you will override the correct value and bad things will happen.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The following code is bad:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;    object retrievedPropertyVal;&lt;br /&gt;
    propertyBag.Read("MyProperty", out retrievedPropertyVal, 0);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;    if (retrievedPropertyVal != null)&lt;br /&gt;
    {&lt;br /&gt;
        myProperty = (string)retrievedPropertyVal;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
        myProperty = string.Empty;&lt;br /&gt;
    }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Remove the 'else' block to comply with the inner logic of BizTalk's approach.&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/146881.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/09/14/biztalk-server-2010-loading-properties-in-custom-pipeline-components.aspx</guid>
            <pubDate>Wed, 14 Sep 2011 13:48:44 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/146881.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/09/14/biztalk-server-2010-loading-properties-in-custom-pipeline-components.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/146881.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/146881.aspx</trackback:ping>
        </item>
        <item>
            <title>Biztalk Server 2010: Pipeline component fails with "Value does not fall within the expected range."</title>
            <category>BizTalk Server 2004/2006</category>
            <link>http://geekswithblogs.net/cyoung/archive/2011/09/14/biztalk-server-2010-pipeline-component-fails-with-value-does-not.aspx</link>
            <description>&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Here is a small snippet of BizTalk Server wisdom which I will post for posterity.  Say you are creating a custom pipeline component with custom properties.  You create private fields and a public properties and write all the code to load and save corresponding property bag values from and too your properties.   At some point, when you deploy the BizTalk application and test it, you get an exception from within your pipeline stating, unhelpfully, that "Value does not fall within the expected range."  Or maybe, while using the Visual Studio IDE, you notice that values you type into custom properties in the Property List are lost when you reload the pipeline editor.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;What is going on?   Well, the issue is probably due to having failed to initialise your custom property fields.  If they are reference types and have a null value, the PipelineOM PropertyBag class will throw an exception when reading property values.  The Read method can distinguish between nulls and, say, empty strings, due to the way data is serialised to XML (e.g., in the BTP file).   Here is a property initialised to an empty string:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;            &amp;lt;Property Name="MyProperty"&amp;gt;&lt;br /&gt;
              &amp;lt;Value xsi:type="xsd:string" /&amp;gt;&lt;br /&gt;
            &amp;lt;/Property&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Here is the same property set to null:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;            &amp;lt;Property Name="MyProperty" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The first is OK.  The second causes an error and leads to the symptoms described above.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;ALLWAYS initialise property backing fields in custom pipeline components.  NEVER set properties to null programmatically.&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/146879.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/09/14/biztalk-server-2010-pipeline-component-fails-with-value-does-not.aspx</guid>
            <pubDate>Wed, 14 Sep 2011 12:36:02 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/146879.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/09/14/biztalk-server-2010-pipeline-component-fails-with-value-does-not.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/146879.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/146879.aspx</trackback:ping>
        </item>
        <item>
            <title>Andrew Ng to speak at Rules Fest</title>
            <link>http://geekswithblogs.net/cyoung/archive/2011/08/22/andrew-ng-to-speak-at-rules-fest.aspx</link>
            <description>&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;In my previous post I mentioned the free &lt;a href="http://www.ai-class.com/"&gt;AI course&lt;/a&gt; being run by Peter Norvig and Sebastian Thrun (122,314 and rising) in conjunction with Stanford University School of Engineering.  Professor &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://ai.stanford.edu/~ang/"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;Andrew Ng&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt; is running a related &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://ml-class.org/"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;course on Machine Learning&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;. This is also a free on-line course run along the same lines as the AI course. Over 30,000 people have signed up so far.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;I mention this because Andrew has just confirmed that he will be speaking at this year’s &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://rulesfest.org/html/home.html"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;Rules Fest&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;. Rules Fest is all about the practical application by developers of reasoning technologies to real-world problems. It brings together people from across the whole spectrum of public and private sector organisations, including commercial and research organisations and academia, to inspire, inform and enlighten developers and architects. Machine learning is central to the rapidly evolving world of intelligent systems, and we are very excited that Andrew will be speaking at the event.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/146633.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/08/22/andrew-ng-to-speak-at-rules-fest.aspx</guid>
            <pubDate>Mon, 22 Aug 2011 22:41:20 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/146633.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/08/22/andrew-ng-to-speak-at-rules-fest.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/146633.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/146633.aspx</trackback:ping>
        </item>
        <item>
            <title>Huge response to on-line AI course</title>
            <link>http://geekswithblogs.net/cyoung/archive/2011/08/20/huge-response-to-on-line-ai-course.aspx</link>
            <description>&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Peter Norvig and Sebastian Thrun are offering a &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://www.ai-class.com/"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;free on-line course on AI&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt; later this year in conjunction with Stanford University. The course is broadly based on Peter Norvig's book "&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://aima.cs.berkeley.edu/"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;Artificial Intelligence: A modern Approach&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;" written jointly with Stuart Russell. Along with my colleagues on the &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://rulesfest.org/html/home.html"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;Rules Fest&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt; committee, we have been following this with interest. In a few days, well over 100,000 people have signed up (112,774 at the time of writing, and still increasing fast). The course broadly overlaps with our natural areas of interest at Rules Fest which is all about the practical application of &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://en.wikipedia.org/wiki/Reasoning_system#Types_of_reasoning_system"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;reasoning technologies&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt; in real-world computing. It is very encouraging to us to see the huge interest this course is generating. We will doubtless be contacting Peter, yet again, to see if he will speak at next year's conference (we keep plugging away at this).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;In another development, we all woke up to the news a couple of days ago that HP, as part of its dramatic change in strategy, has bid almost $11Bn to acquire enterprise search company, &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://www.autonomy.com/"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;Autonomy&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;. Autonomy offers proprietary technology that exploits &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://en.wikipedia.org/wiki/Bayes%27_theorem"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;Bayes theorem&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;, Shannon's &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://en.wikipedia.org/wiki/Information_theory"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;information theory&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt; and specific forms of &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://en.wikipedia.org/wiki/Singular_value_decomposition"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;SVD&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt; to create an intelligent search platform with learning capabilities. Clearly, HP sees this type of technology as playing a major and lucrative role in their future.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Some time ago, at an event organised by the excellent &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://biztalkusergroup.se/"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;BizTalk Users' Group in Sweden&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;, I was asked to do a little crystal ball gazing. I trotted out the line that the next few years will see AI-related and reasoning technologies, formally thought of as esoteric and impractical, find their place at the heart of enterprise computing alongside existing investments in traditional LoB/Back Office applications and integration services. With the advent of cloud computing and platforms such as &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://www.microsoft.com/windowsazure/"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font color="#0000ff"&gt;Azure&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;, we have the horsepower available to make this a practical and feasible possibility for mainstream enterprise computing. AI used to be a dirty word. No longer!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/146603.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/08/20/huge-response-to-on-line-ai-course.aspx</guid>
            <pubDate>Sat, 20 Aug 2011 21:13:06 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/146603.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/08/20/huge-response-to-on-line-ai-course.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/146603.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/146603.aspx</trackback:ping>
        </item>
        <item>
            <title>Windows Azure AppFabric SDK - June CTP - Download issues</title>
            <link>http://geekswithblogs.net/cyoung/archive/2011/06/21/windows-azure-appfabric-sdk---june-ctp---download-issues.aspx</link>
            <description>&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Microsoft has announced availability of the June CTP for Windows Azure AppFabric. See &lt;a href="http://blogs.msdn.com/b/appfabric/archive/2011/06/20/announcing-the-windows-azure-appfabric-june-ctp.aspx"&gt;http://blogs.msdn.com/b/appfabric/archive/2011/06/20/announcing-the-windows-azure-appfabric-june-ctp.aspx&lt;/a&gt;. This is an exciting release and provides greater insight into where the AppFabric team is heading in terms of developer and management tooling. Microsoft is offering space in the cloud to experiment with the CTP, but this is limited, so register early to get a namespace!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;You can download the SDK for the June CTP. However, we ran into a lot of trouble trying to do this today. Whenever we followed the link, we ended up on the page for the May CTP. We found what appeared to be a workaround which we were able to repeat on another box (and which I reported on Connect), but then a few minutes later I couldn't repeat it. Just now, the given link appears to be working every time in IE, but not in Firefox!   Frankly, the behaviour seems random!   It looks like the same URL points to two different pages, and I suspect that which page you end up on is hit and miss.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The link to the download page is &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=17691"&gt;http://www.microsoft.com/download/en/details.aspx?id=17691&lt;/a&gt;. If you end up on the wrong page, try again later and you may get to the right place. Or try googling "Windows Azure AppFabric SDK CTP – June Update" and following a link to this page. For some reason, that sometimes seems to work.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Good luck!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/145936.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/06/21/windows-azure-appfabric-sdk---june-ctp---download-issues.aspx</guid>
            <pubDate>Tue, 21 Jun 2011 16:06:49 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/145936.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/06/21/windows-azure-appfabric-sdk---june-ctp---download-issues.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/145936.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/145936.aspx</trackback:ping>
        </item>
        <item>
            <title>Windows Azure AppFabric May and June CTPs - A summary</title>
            <link>http://geekswithblogs.net/cyoung/archive/2011/06/02/windows_azure_appfabric_may_june_ctps_summary.aspx</link>
            <description>&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;I spent some time today summarising the new features in the Windows Azure AppFabric May CTP for &lt;a title="SolidSoft Ltd." target="_blank" href="www.solidsoft.com"&gt;SolidSoft&lt;/a&gt; consultants. Microsoft released the CTP a couple of weeks ago and has a second CTP coming out later this month.  I might as well publish this here, although it has been widely blogged on already.  There is nothing that you can’t glean from reading the release documents, but hopefully it will serve as a shorter summary.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The &lt;strong&gt;May CTP&lt;/strong&gt; is all about the AppFabric Service Bus.  The bus has been extended to support ‘Messaging’ using ‘Queues’ and ‘Topics’&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;‘Queues’ are really the Durable Message Buffers previewed in earlier CTPs.  MS has renamed them in this CTP.  They are not to be confused with Queues in Windows Azure storage!  Think of these as ‘service bus queues’.  They support arbitrary content types, rich message properties, correlation and message grouping. They do not expire (unlike in-memory message buffers).  They allow user-defined TTLs.  Queues are backed by SQL Azure.  Messages can be up to 256KB and each buffer has a maximum size of 100 MB (this will be increased to at least 1GB in the release version).  To handle messages larger than 256KB, you ‘chunk’ them within a session (rather like BTS large message handling for MSMQ).  The CTP currently limits you to 10 queues per service namespace.  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Service Bus queues are quite similar to Azure Queues.  They support a RESTful API and a .NET API with a slightly different set of verbs – Send (rather than Put), Read and Delete (rather than Get), Peek-Lock (rather than ‘Peek’) and two verbs to act on locked messages – Unlock and Delete.  The locking feature is all about implementing reliable messaging patterns while avoiding the use of 2-phase-commit (no DTC!).  Queue management is very similar, but configuration is done slightly differently.  AppFabric provides dead letter queues and message deferral.  The deferral feature is a built-in temporary message store that allows you to resolve out-of-order message sequences.  Hey, this stuff is actually beginning to get my attention!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Today’s in-memory message buffers will be retained for the time being.  MS is looking at how much advantage they provide as low-latency non-resilient queues before making a decision on their long-term future.  This is beginning to sound like the BizTalk Server low-latency debate all over again!  Currently, the documented recommendation is that we migrate to queues.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;‘Topics’ provide new pub/sub capabilities.  A topic is…drum roll please…a queue!   The main difference is that it supports subscription.  I assume it has the same limitations and capabilities as a normal queue, although I haven’t seen this stated.  It is certainly built on the same foundation.  You can have up to 2000 subscriptions to any one topic and use them to fan messages out.  Subscriptions are defined as simple rules that are evaluated against user and system-define properties of each message.  They have a separate identity to topics.  A single subscription can feed messages to a single consumer or can be shared between multiple consumers.  Unlike Send Port Groups in BizTalk, this multi-consumer model supports an ‘anycast’ model for competing consumers where a single consumer gets a message on a first-come-first-served basis.  MS invites us to think of a subscription as a ‘virtual queue’ on top of the actual topic queue.  Potential uses for anycasting include basic forms of load balancing and improved resilience.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The CTP supports AppFabric Access Control v2.0.  It is fully backward-compatible with the current service bus capabilities in AppFabric.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;CTP does &lt;strong&gt;&lt;em&gt;not &lt;/em&gt;&lt;/strong&gt;have load balancing and traffic optimization for relay.  These were in earlier CTPs, but have been removed for the time being.  They may reappear in the future.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;strong&gt;June CTP&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The June CTP will introduce CAS (Composite Application Services).  CAS is a term used by other vendors (e.g., SAP) for similar features, and has been a long time coming in the Microsoft world.  The basic idea is that you build a model of a composite application, the services it contains, its configuration, etc., and then drive a number of tasks from this model such as build and deployment, runtime management and monitoring.  Some of us remember an ancient &lt;a href="http://channel9.msdn.com/Blogs/scobleizer/Eddie-Churchill-First-look-at-Solution-Designer"&gt;Channel 9 video&lt;/a&gt; on a BizTalk-specific CAS-like modelling facility that MS were working on years ago.  It was entirely BizTalk-specific and never saw the light of day.  However, one connection to make is that CAS will provide capabilities that are conceptually related to the notion of  ‘applications’ in BizTalk Server.   &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;We will get a graphical Visual Studio modelling tool to design and manage CAS models.  The CAS metamodel is implemented as a .NET library, allowing models to be constructed programmatically.  Models are consumed by the AppFabric Application Manager in order to automate deployment, configuration, management and monitoring of composite applications.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;So, things are rapidly evolving.  However, we won’t see anything on Integration Services until, I suspect, next year.  It’s important to remember that the May CTP is all about broadening the existing Service Bus with messaging capabilities, rather than about delivering an integration capability.  So, even though we are seeing more BizTalk Server-like features, we are still a long way off having what Burley Kawasaki called a “&lt;a href="http://blogs.msdn.com/b/biztalk_server_team_blog/archive/2010/10/28/changing-the-game-biztalk-server-2010-and-the-road-ahead.aspx"&gt;true integration service&lt;/a&gt;” in the cloud.   Obviously, Azure Integration Services will exploit and build on the Service Bus, but a lot more needs to be done before we have integration-as-a-service as part of the Azure story.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/145676.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/06/02/windows_azure_appfabric_may_june_ctps_summary.aspx</guid>
            <pubDate>Thu, 02 Jun 2011 12:21:31 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/145676.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/06/02/windows_azure_appfabric_may_june_ctps_summary.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/145676.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/145676.aspx</trackback:ping>
        </item>
        <item>
            <title>IE10 Preview - How Microsoft Competes in the Feature Olympics</title>
            <link>http://geekswithblogs.net/cyoung/archive/2011/04/13/ie10-preview---how-microsoft-competes-in-the-feature-olympics.aspx</link>
            <description>&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Internet Explorer has made huge strides in the last couple of years. Microsoft has at last begun to lay the ghost of IE6 to rest with a solid, fast, standards compliant, reasonably up-to-date (not quite the same thing) forward-looking browser with the cleanest UI in the business.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;However, one issue clouds the horizon. Other browsers, most notably Google Chrome, rev much faster that IE. The importance of this is that, by bringing out new versions on shorter (much shorter, in some cases) timescales, other browsers gain a clear advantage. They get emerging specifications and technologies out to end-users faster and therefore shape the future of the web in a way that IE could not touch for many years. This, in turn, builds a sense of momentum which increases the loyalty of the user base. Indeed, it is a major factor in growing the user-base, as we can see clearly with Chrome. With IE, by contrast, we have lived for years with a strong sense of Microsoft holding everyone else back.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Microsoft needs to speed up the cycle. I wondered if we would see any signs of this after the RTW of IE9 last month. Well, yes we can. Yesterday, Microsoft released &lt;a href="http://ie.microsoft.com/testdrive/"&gt;Platform Preview 1 of IE10&lt;/a&gt;. Given Microsoft's record, this is absolutely astounding and provides further evidence that the bad old days for IE really are receding. Of course, after three weeks of development, things are not that different to IE9, but the HTML5 story is improved, thanks chiefly to several new CSS3 features.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;IE9's HTML5 story is mixed. On the one hand, the browser lays a strong foundation for the future with comprehensive DirectX rendering and a much-repeated commitment to HTML5 as a future standard. On the other hand, the feature list count for HTML5 is noticeably lower than its nearest rivals. Put simply, IE9 supports less HTML5 than others, but supports it well. The IE team has repeatedly stated its position on this. Their main argument is that IE9 supports 'site-ready' HTML5 that will interoperate across all today's browsers and avoids features on which there is still disagreement or which may not make it to the final specification. A secondary theme is that it was more important to develop the sub-systems that underpin a great HTML5 experience than strive after having the longest HTML5 feature list.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Broadly, the argument plays quite well. Given IE's poor reputation amongst web developers, it is understandable that they want to stress their commitment to interoperability. Certainly, some of the other browsers are now carrying the burden of 'HTML5' features that won't actually make it into the W3C Recommendation (whenever it finally arrives) and features which are not broadly interoperable with other browsers. Of course, it's not really as clear cut as this. Some of the features that were once counted as part of HTML5 are still very much alive and kicking and will almost certainly be incorporated into future versions of HTML.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Try using each of the HTML5-enabled browsers in turn to browse the various HTML5 showcases provided by different vendors, and you will quickly get an idea of where HTML5 interoperability is really at, currently. And yes, the other HTML5 browsers tend to fare well on Microsoft's HTML5 preview site in terms of functionality, suggesting that Microsoft's take on HTML5 does indeed approximate to a 'lowest common denominator' interoperable approach. Of course, performance is a different story and seems to be the dominant theme of Microsoft's showcase apps.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The myth that Microsoft spends its days subverting every standard going whilst all other players effortlessly deliver interoperable perfection has never been accurate since a brief period in the first half of the 1990's when the company first ‘won’ this reputation thanks to some fairly cynical actions (nothing, of course, to do with web standards). It is certainly the case that the complaint of poor standards compliance can no longer be honestly sustained with respect to IE9. However, IE9 illustrates a dilemma that all browser vendors face. It can take an eon for emerging web specifications to stabilise and for standards organisations to ratify and publish a given standard. It simply isn’t the role of organisations like the W3C to be in the vanguard of developing new specifications for everyone else to follow. There has been a huge misunderstanding about this for years. The W3C, and others, follow where the industry leads. They work to foster collaboration and agreement amongst those who are actually coming up with the ideas, trying out new innovations and pushing the boundaries. That means that the more innovative browsers will always be ahead of the curve and, consequently, in danger of subverting interoperability.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;This, then, is the big question about IE’s HTML5 support. Now that Microsoft has convincingly closed the field on its rivals, will it be content simply to follow where others lead, trailing at the rear end of a densely-packed group of HTML.next ‘feature-athletes’? Or should it attempt to move closer to the front of the pack in order to more effectively set the pace. Well, long-distance running is all about pacing and strategy. If you are in the race for the long-haul, it often pays to hold back for a while.   I think it probably suits Microsoft's purposes for the time being to merely match the pace set by others whilst all the time quietly building on their blindingly-fast DirectX rendering engine.   And after all, we are still some way off seeing an equivalent Microsoft HTML5 technology for mobile devices which is where, increasingly, it really counts. I suspect they are attempting to maintain their stamina and build up their strength for a future push to the front. After all, Microsoft always preferred being in the industry driving seat.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/144853.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/04/13/ie10-preview---how-microsoft-competes-in-the-feature-olympics.aspx</guid>
            <pubDate>Wed, 13 Apr 2011 20:09:27 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/144853.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/04/13/ie10-preview---how-microsoft-competes-in-the-feature-olympics.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/144853.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/144853.aspx</trackback:ping>
        </item>
        <item>
            <title>...and the JavaScript winner is....</title>
            <link>http://geekswithblogs.net/cyoung/archive/2011/04/04/.and-the-javascript-winner-is.aspx</link>
            <description>&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;We all love benchmarks! With the recent release of new versions of some of major browsers, and as a small diversion over the weekend, I ran five well-known browsers against five well-known JavaScript micro-benchmarking suites using my laptop. The results are reproduced below. I have ranked the results for each benchmark suite from best to worst.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;b&gt;Celtic Kane &lt;/b&gt;– old version (current version was unavailable)&lt;br /&gt;
(Smaller is better)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;table border="0" cellspacing="1" cellpadding="1" width="250" align="left"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Opera 11&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;77 ms&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Safari 5&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;93 ms&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Chrome 10&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;119 ms&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;IE 9&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;152 ms&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;FF 4&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;154 ms&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;b&gt;Kraken 1.0&lt;/b&gt; (Mozilla)&lt;br /&gt;
(Smaller is better)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;table border="0" cellspacing="1" cellpadding="1" width="250" align="left"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;FF 4&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;7,555.6 ms&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Chrome 10&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;8,439.8 ms&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Opera 11&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;12,918.8 ms&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;IE 9&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;16,551.9 ms&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Safari 5&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;19,099.8 ms&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;b&gt;Dromaeo&lt;/b&gt; (Mozilla) (all JavaScript tests)&lt;br /&gt;
(Bigger is better)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;table border="0" cellspacing="1" cellpadding="1" width="250" align="left"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Chrome 10&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;457.53 runs/s&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;IE 9&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;403.96 runs/s&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;FF 4&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;386.74 runs/s&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Opera 11&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;369.49 runs/s&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Safari 5&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;257.42 runs/s&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;b&gt;V8 v6&lt;/b&gt; (Google)&lt;br /&gt;
(Bigger is better)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;table border="0" cellspacing="1" cellpadding="1" width="250" align="left"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Chrome 10&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;7,737&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;FF 4&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;3,111&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Opera 11&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;3,050&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Safari 5&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;2,319&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;IE 9&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;2,119&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;b&gt;SunSpider 0.9.1&lt;/b&gt; (WebKit)&lt;br /&gt;
(Smaller is better)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;table border="0" cellspacing="1" cellpadding="1" width="250" align="left"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;IE 9&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;249.8 ms&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Opera 11&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;289.9 ms&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;FF 4&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;295.2 ms&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Chrome 10&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;309.0 ms&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Safari 5&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;353.9 ms&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;So, what does this prove? Absolutely nothing! It's impossible to pick an overall winner from these results, or even to determine any particular trend.   I'll provide two observations, however. First, comparative micro-benchmarking remains as problematic as ever. Pick your preferred test to 'prove' whatever you wish.   Second, competition between browsers remains fierce. As a result, JavaScript performance has improved massively across the board in the last couple of years.  That's great news.  It means we are all winners!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/144699.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/04/04/.and-the-javascript-winner-is.aspx</guid>
            <pubDate>Mon, 04 Apr 2011 20:44:06 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/144699.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/04/04/.and-the-javascript-winner-is.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/144699.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/144699.aspx</trackback:ping>
        </item>
        <item>
            <title>Don't hire bad developers - period.</title>
            <link>http://geekswithblogs.net/cyoung/archive/2011/04/04/dont-hire-bad-developers---period.aspx</link>
            <description>&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;There has been quite a furore in the last couple of weeks about a blog article published by David Barrett entitled "CEO Friday: Why we don’t hire .NET programmers". You can find it at &lt;a href="http://blog.expensify.com/2011/03/25/ceo-friday-why-we-dont-hire-net-programmers/"&gt;http://blog.expensify.com/2011/03/25/ceo-friday-why-we-dont-hire-net-programmers/&lt;/a&gt;. Along with about half the global development community, I tried to post a response, but comments were already closed. I had all but forgotten the article until, a few minutes ago, up popped a daily .NET newsletter with a headline linking to the article.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;I can't help thinking this is just one step removed from a long line of '.NET developers are dumb' articles. I've read a few of these over the years. The last one I remember (I can't recall the URL, unfortunately) was classic. The guy writing the article explained that he had recently interviewed half a dozen developers for a job. All but one were Java developers, and he was generally impressed by their understanding of design patterns and the like - even a candidate fresh from college. One, however, was a .NET developer (I wonder if the interviewee had misread the job description) and he was apparently very ignorant. On the basis of this deeply representative sample, the author concluded that the whole .NET development community (several million people) are equally useless and ignorant! I kid you not!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Maybe I'm being unfair to David Barrett. However, while posting a comment to his blog site would have made me feel better, it wouldn't have achieved anything. Reading through the comments, I'm struck how many posts quickly degenerate into mud-slinging. David is accused of several things which are not worth repeating. In turn, others rise to 'defend' his position by throwing vitriol and invective at the whole tribe of .NET developers.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;For my part, and simply as a self-indulgent exercise, I will note that I do not recognise David's characterisation of .NET development. It seems to me that he fails to explain properly what aspects of .NET tools and technologies he is talking about. In a subsequent update, he explained his original claim that .NET is a 'language' was a poor 'word choice'. Fair enough. However, it seems to me that he describes .NET all the way through his post as if it is some kind of 4GL. It patently isn't! More to the point, neither are the mainstream .NET languages. Maybe he has in mind Microsoft's old love of 1990's-style form development, as originally used in .NET not only for desktop app development but also 'classic' ASP.NET. If this is the case, he is seriously out of date. Professional ASP.NET development has long-since moved foursquare into the MVC / RESTful world. Desktop development (now a minority sport in this web-enabled, mobile age) has largely moved on to XAML-based development. Maybe that's the issue. XAML can be considered to be just one of many forms of model-driven development   Maybe he is railing against MDD. If so, I can't imagine why he has singled out .NET. If anything, .NET has been playing a degree of catch-up with the Java world on that score.   So, I remain confused by his arguments (no doubt some will claim I'm just too dumb), but confident from my own experience that he is deeply mischaracterising the .NET platform and the community of .NET developers.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Well, I've got that off my chest. A wider issue, though, arises from reading some of those comments. Why, after all these years, are we developers are so ready to sling mud at others. We fall hook, line and sinker for simplistic, ill-informed characterisations of whole swathes of our industry in an attempt to convince ourselves that we are the clever chosen elect and those others over there are just plain stupid and damned to all eternity. It's so childish. It's so false. In summary, my take on David's article, which I consider a tad more balanced, is this. Don't hire bad .NET developers. Don't hire bad Java developers. Don't hire bad Ruby or C++ or Python, or Perl developers. There’s no need. There are plenty of good developers out there.   This is a great industry.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/144698.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/04/04/dont-hire-bad-developers---period.aspx</guid>
            <pubDate>Mon, 04 Apr 2011 20:00:31 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/144698.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/04/04/dont-hire-bad-developers---period.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/144698.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/144698.aspx</trackback:ping>
        </item>
        <item>
            <title>RIF PRD: Presentation syntax issues</title>
            <link>http://geekswithblogs.net/cyoung/archive/2011/02/09/rif-prd-presentation-syntax-issues.aspx</link>
            <description>&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;Over Christmas I got to play a bit with the &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana"&gt;&lt;a href="http://www.w3.org/TR/rif-prd/"&gt;&lt;span style="font-size: small"&gt;&lt;font color="#0000ff"&gt;W3C RIF PRD&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt; and came across a few issues which I thought I would record for posterity. Specifically, I was working on a grammar for the presentation syntax using a GLR grammar parser tool (I was using the current &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana"&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=29e4ead0-fd81-42ba-862b-f3589378466a&amp;amp;displaylang=en"&gt;&lt;span style="font-size: small"&gt;&lt;font color="#0000ff"&gt;CTP&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt; of ‘M’ (MGrammer) and Intellipad – I do so hope the MS guys don’t kill off M and Intellipad now they have dropped the other parts of SQL Server Modelling). I realise that the presentation syntax is non-normative and that any issues with it do not therefore compromise the standard. However, presentation syntax is useful in its own right, and it would be great to iron out any issues in a future revision of the standard.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;The main issues are actually not to do with the grammar at all, but rather with the ‘running example’ in the RIF PRD recommendation. I started with the code provided in Example 9.1. There are several discrepancies when compared with the EBNF rules documented in the standard. Broadly the problems can be categorised as follows:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -18pt; margin: 0cm 0cm 0pt 36pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;      &lt;/span&gt;Parenthesis mismatch – the wrong number of parentheses are used in various places. For example, in GoldRule, the RHS of the rule (the ‘Then’) is nested in the LHS (‘the If’). In NewCustomerAndWidgetRule, the RHS is orphaned from the LHS. Together with additional incorrect parenthesis, this leads to orphanage of UnknownStatusRule from the entire Document. &lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -18pt; margin: 0cm 0cm 0pt 36pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;      &lt;/span&gt;Invalid use of parenthesis in ‘Forall’ constructs. Parenthesis should not be used to enclose formulae.&lt;br /&gt;
&lt;br /&gt;
Removal of the invalid parenthesis gave me a feeling of inconsistency when comparing formulae in Forall to formulae in If. The use of parenthesis is not &lt;i&gt;actually&lt;/i&gt; inconsistent in these two context, but in an If construct it ‘feels’ as if you are enclosing formulae in parenthesis in a LISP-like fashion. In reality, the parenthesis is simply being used to group subordinate syntax elements. The fact that an If construct can contain only a single formula as an immediate child adds to this feeling of inconsistency.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -18pt; margin: 0cm 0cm 0pt 36pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;      &lt;/span&gt;Invalid representation of compact URIs (CURIEs) in the context of Frame productions. In several places the URIs are not qualified with a namespace prefix (‘ex1:’). This conflicts with the definition of CURIEs in the &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana"&gt;&lt;a href="http://www.w3.org/TR/2010/REC-rif-dtb-20100622/"&gt;&lt;span style="font-size: small"&gt;&lt;font color="#0000ff"&gt;RIF Datatypes and Built-Ins 1.0&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt; document. Here are the productions:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New"&gt;&lt;span style="line-height: 115%"&gt;CURIE          ::= PNAME_LN &lt;br /&gt;
                 | PNAME_NS&lt;br /&gt;
PNAME_LN       ::= PNAME_NS PN_LOCAL&lt;br /&gt;
PNAME_NS       ::= PN_PREFIX? ':'&lt;br /&gt;
PN_LOCAL       ::= ( PN_CHARS_U | [0-9] ) ((PN_CHARS|'.')* PN_CHARS)?&lt;br /&gt;
PN_CHARS       ::= PN_CHARS_U &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 0pt 36pt"&gt;&lt;span style="font-family: Courier New"&gt;&lt;span style="font-size: small"&gt;&lt;span style="line-height: 115%"&gt;                 | '-' | [0-9] | #x00B7 &lt;br /&gt;
                 | [#x0300-#x036F] | [#x203F-#x2040]&lt;br /&gt;
PN_CHARS_U     ::= PN_CHARS_BASE &lt;br /&gt;
                 | '_'&lt;br /&gt;
PN_CHARS_BASE ::= [A-Z] | [a-z] | [#x00C0-#x00D6] | [#x00D8-#x00F6] &lt;br /&gt;
                 | [#x00F8-#x02FF] | [#x0370-#x037D] | [#x037F-#x1FFF] &lt;br /&gt;
                 | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] &lt;br /&gt;
                 | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] &lt;br /&gt;
                 | [#x10000-#xEFFFF]&lt;br /&gt;
PN_PREFIX      ::= PN_CHARS_BASE ((PN_CHARS|'.')* PN_CHARS)?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 0pt 36pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;&lt;br /&gt;
The more I look at CURIEs, the more my head hurts! The RIF specification allows prefixes and colons without local names, which surprised me. However, the &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana"&gt;&lt;a href="http://www.w3.org/TR/curie/"&gt;&lt;span style="font-size: small"&gt;&lt;font color="#0000ff"&gt;CURIE Syntax 1.0&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt; working group note specifically states that this form is supported…and then promptly provides a syntactic definition that seems to preclude it! However, on (much) deeper inspection, it appears that ‘ex1:’ (for example) is allowed, but would really represent a ‘fragment’ of the ‘reference’, rather than a prefix! Ouch! This is so completely ambiguous that it surely calls into question the whole CURIE specification.   In any case, RIF does not allow local names without a prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -18pt; margin: 0cm 0cm 0pt 36pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;      &lt;/span&gt;Missing ‘External’ specifiers for built-in functions and predicates. &lt;br /&gt;
&lt;br /&gt;
The EBNF specification enforces this for terms within frames, but does not appear to enforce (what I believe is) the correct use of External on built-in predicates. In any case, the running example only specifies ‘External’ once on the predicate in UnknownStatusRule. External() is required in several other places.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -18pt; margin: 0cm 0cm 0pt 36pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;      &lt;/span&gt;The List used on the LHS of UnknownStatusRule is comma-delimited. This is not supported by the EBNF definition. Similarly, the argument list of pred:list-contains is illegally comma-delimited.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -18pt; margin: 0cm 0cm 0pt 36pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;      &lt;/span&gt;Unnecessary use of conjunction around a single formula in DiscountRule. This is strictly legal in the EBNF, but redundant.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt 36pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;All the above issues concern the presentation syntax used in the running example. There are a few minor issues with the grammar itself. Note that Michael Kiefer stated in his paper &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana"&gt;&lt;a href="http://www.cs.sunysb.edu/~kifer/TechReports/RR-2008.pdf"&gt;&lt;span style="font-size: small"&gt;&lt;font color="#0000ff"&gt;“Rule Interchange Format: The Framework”&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt; that:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt 18pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;&lt;em&gt;“The presentation syntax of RIF … is an abstract syntax and, as such, it omits certain details that might be important for unambiguous parsing.”&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -18pt; margin: 0cm 0cm 0pt 36pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;      &lt;/span&gt;The grammar cannot differentiate unambiguously between strategies and priorities on groups. A processor is forced to resolve this by detecting the use of IRIs and integers.&lt;br /&gt;
This could easily be fixed in the grammar.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 0pt 36pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -18pt; margin: 0cm 0cm 0pt 36pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;      &lt;/span&gt;The grammar cannot unambiguously parse the ‘-&amp;gt;’ operator in frames. Specifically, ‘-’ characters are allowed in PN_LOCAL names and hence a parser cannot determine if ‘status-&amp;gt;’ is (‘status’ ‘-&amp;gt;’) or (‘status-’ ‘&amp;gt;’).   One way to fix this is to amend the PN_LOCAL production as follows:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 0pt 36pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New"&gt;PN_LOCAL ::= ( PN_CHARS_U | [0-9] ) ((PN_CHARS|'.')* ((PN_CHARS)-('-')))?&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;However, unilaterally changing the definition of this production, which is defined in the &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana"&gt;&lt;a href="http://www.w3.org/TR/rdf-sparql-query/"&gt;&lt;span style="font-size: small"&gt;&lt;font color="#0000ff"&gt;SPARQL Query Language for RDF&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt; specification, makes me uncomfortable.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -18pt; margin: 0cm 0cm 0pt 36pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;      &lt;/span&gt;I assume that the presentation syntax is case-sensitive. I couldn’t find this stated anywhere in the documentation, but function/predicate names do appear to be documented as being case-sensitive.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -18pt; margin: 0cm 0cm 10pt 36pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;      &lt;/span&gt;The EBNF does not specify whitespace handling. A couple of productions (RULE and ACTION_BLOCK) are crafted to enforce the use of whitespace. This is not necessary. It seems inconsistent with the rest of the specification and can cause parsing issues. In addition, the Const production exhibits whitespaces issues. The intention may have been to disallow the use of whitespace around ‘^^’, but any direct implementation of the EBNF will probably allow whitespace between ‘^^’ and the SYMSPACE.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;Of course, I am being a little nit-picking about all this. On the whole, the EBNF translated very smoothly and directly to ‘M’ (MGrammar) and proved to be fairly complete. I have encountered far worse issues when translating other EBNF specifications into usable grammars.   I can’t imagine there would be any difficulty in implementing the same grammar in Antlr, COCO/R, gppg, XText, Bison, etc.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;A general observation, which repeats a point made above, is that the use of parenthesis in the presentation syntax can feel inconsistent and un-intuitive.   It isn’t actually inconsistent, but I think the presentation syntax could be improved by adopting braces, rather than parenthesis, to delimit subordinate syntax elements in a similar way to so many programming languages. The familiarity of braces would communicate the structure of the syntax more clearly to people like me. &lt;br /&gt;
&lt;br /&gt;
If braces were adopted, parentheses could be retained around ‘var (frame | ‘new()’) constructs in action blocks. This use of parenthesis feels very LISP-like, and I think that this is my issue. It’s as if the presentation syntax represents the deformed love-child of LISP and C. In some places (specifically, action blocks), parenthesis is used in a LISP-like fashion. In other places it is used like braces in C. I find this quite confusing.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;Here is a corrected version of the running example (Example 9.1) in compliant presentation syntax:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;Document(&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: x-small"&gt;&lt;span style="font-family: Courier New"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt; Prefix( ex1 &amp;lt;http://example.com/2009/prd2&amp;gt; )&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt; (* ex1:CheckoutRuleset *)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt; Group rif:forwardChaining ( &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;   (* ex1:GoldRule *)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;   Group 10 (&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;     Forall ?customer such that And(?customer # ex1:Customer&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;                                    ?customer[ex1:status-&amp;gt;"Silver"]) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;       (Forall ?shoppingCart such that ?customer[ex1:shoppingCart-&amp;gt;?shoppingCart]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;          (If Exists ?value (And(?shoppingCart[ex1:value-&amp;gt;?value]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;                                 External(pred:numeric-greater-than-or-equal(?value 2000))))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;           Then Do(Modify(?customer[ex1:status-&amp;gt;"Gold"]))))) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;   (* ex1:DiscountRule *)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;   Group (&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;     Forall ?customer such that ?customer # ex1:Customer&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;       (If Or( ?customer[ex1:status-&amp;gt;"Silver"]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;               ?customer[ex1:status-&amp;gt;"Gold"])&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;        Then Do ((?s ?customer[ex1:shoppingCart-&amp;gt; ?s])&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;                 (?v ?s[ex1:value-&amp;gt;?v])&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;                 Modify(?s [ex1:value-&amp;gt;External(func:numeric-multiply (?v 0.95))]))))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;   (* ex1:NewCustomerAndWidgetRule *)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;   Group (&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;     Forall ?customer such that And(?customer # ex1:Customer&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;                                    ?customer[ex1:status-&amp;gt;"New"] )&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;       (If Exists ?shoppingCart ?item&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;                  (And(?customer[ex1:shoppingCart-&amp;gt;?shoppingCart]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;                       ?shoppingCart[ex1:containsItem-&amp;gt;?item]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;                       ?item # ex1:Widget ) ) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;        Then Do( (?s ?customer[ex1:shoppingCart-&amp;gt;?s])&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;                 (?val ?s[ex1:value-&amp;gt;?val])&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;                 (?voucher ?customer[ex1:voucher-&amp;gt;?voucher])&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;                 Retract(?customer[ex1:voucher-&amp;gt;?voucher])&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;                 Retract(?voucher)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;                 Modify(?s[ex1:value-&amp;gt;External(func:numeric-multiply(?val 0.90))]))))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;   (* ex1:UnknownStatusRule *)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;   Group (&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;     Forall ?customer such that ?customer # ex1:Customer&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;       (If Not(Exists ?status&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;                      (And(?customer[ex1:status-&amp;gt;?status]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;                           External(pred:list-contains(List("New" "Bronze" "Silver" "Gold") ?status)) )))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;        Then Do( Execute(act:print(External(func:concat("New customer: " ?customer))))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;                 Assert(?customer[ex1:status-&amp;gt;"New"]))))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt; )&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Courier New"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;I hope that helps someone out there :-)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/143872.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/02/09/rif-prd-presentation-syntax-issues.aspx</guid>
            <pubDate>Wed, 09 Feb 2011 21:26:36 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/143872.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/02/09/rif-prd-presentation-syntax-issues.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/143872.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/143872.aspx</trackback:ping>
        </item>
        <item>
            <title>Tellago releases a RESTful API for BizTalk Server business rules</title>
            <category>BizTalk Server 2004/2006</category>
            <link>http://geekswithblogs.net/cyoung/archive/2011/02/09/tellago-releases-a-restful-api-for-biztalk-server-business-rules.aspx</link>
            <description>&lt;div&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;Jesus Rodriguez has blogged recently on Tellago Devlabs' release of an open source RESTful API for BizTalk Server Business Rules.   This is an excellent addition to the BizTalk ecosystem and I congratulate Tellago on their work.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;See &lt;a href="http://weblogs.asp.net/gsusx/archive/2011/02/08/tellago-devlabs-a-restful-api-for-biztalk-server-business-rules.aspx"&gt;http://weblogs.asp.net/gsusx/archive/2011/02/08/tellago-devlabs-a-restful-api-for-biztalk-server-business-rules.aspx&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;The Microsoft BRE was originally designed to be used as an embedded library in .NET applications. This is reflected in the implementation of the Rules Engine Update (REU) Service which is a TCP/IP service that is hosted by a Windows service running locally on each BizTalk box. The job of the REU is to distribute rules, managed and held in a central database repository, across the various servers in a BizTalk group.   The engine is therefore distributed on each box, rather than exploited behind a central rules service.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;This model is all very well, but proves quite restrictive in enterprise environments. The problem is that the BRE can only run legally on licensed BizTalk boxes. Increasingly we need to deliver rules capabilities across a more widely distributed environment. For example, in the project I am working on currently, we need to surface decisioning capabilities for use within WF workflow services running under AppFabric on non-BTS boxes. The BRE does not, currently, offer any centralised rule service facilities out of the box, and hence you have to roll your own (and then run your rules services on BTS boxes which has raised a few eyebrows on my current project, as all other WCF services run on a dedicated server farm ).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;Tellago's API addresses this by providing a RESTful API for querying the rules repository and executing rule sets against XML passed in the request payload. As Jesus points out in his post, using a RESTful approach hugely increases the reach of BRE-based decisioning, allowing simple invocation from code written in dynamic languages, mobile devices, etc.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;We developed our own SOAP-based general-purpose rules service to handle scenarios such as the one we face on my current project. SOAP is arguably better suited to enterprise service bus environments (please don't 'flame' me - I refuse to engage in the RESTFul vs. SOAP war). For example, on my current project we use claims based authorisation across the entire service bus and use WIF and WS-Federation for this purpose.   We have extended this to the rules service. I can't release the code for commercial reasons :-( but this approach allows us to legally extend the reach of BRE far beyond the confines of the BizTalk boxes on which it runs and to provide general purpose decisioning capabilities on the bus.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;So, well done Tellago.   I haven't had a chance to play with the API yet, but am looking forward to doing so.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/143868.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/02/09/tellago-releases-a-restful-api-for-biztalk-server-business-rules.aspx</guid>
            <pubDate>Wed, 09 Feb 2011 15:35:02 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/143868.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/02/09/tellago-releases-a-restful-api-for-biztalk-server-business-rules.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/143868.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/143868.aspx</trackback:ping>
        </item>
        <item>
            <title>The Bing Sting - an alternative opinion</title>
            <category>Microsoft watch</category>
            <link>http://geekswithblogs.net/cyoung/archive/2011/02/04/the-bing-sting---an-alternative-opinion.aspx</link>
            <description>&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;I know I'm a bit of an MS fanboy at times, but please, am I missing something here? Microsoft, with permission of users, exploits clickstream data gathered by observing user behaviour. One use for this data is to improve Bing queries. Google equips twenty of its engineers with laptops and installs the widgets required to provide Microsoft with clickstream data. It then gets their engineers to repeatedly (I assume) type in 'synthetic' queries which bring back 'doctored' hits. It asks its engineers to then click these results (think about this!). So, the behaviour of the engineers is observed and the resulting clickstream data goes off to Microsoft. It is processed and 'improves' Bing results accordingly.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;What exactly did Microsoft do wrong here? &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Google's so-called 'Bing sting' is clearly a very effective attack from a propaganda perspective, but is poor practice from a company that claims to do no evil. Generating and sending clickstream data deliberately so that you can then subsequently claim that your competitor 'copied' that data from you is neither fair nor reasonable, and suggests to me a degree of desperation in the face of real competition.   Monopolies are undesirable, whether they are Microsoft monopolies or Google monopolies.    Personally, I'm glad Microsoft has technology in place to observe user behaviour (with permission, of course) and improve their search results using such data. I can only assume Google doesn't &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;implement similar capabilities. Sounds to me as if, at least in this respect, Microsoft may offer the better technology.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;[UPDATE]...and here a few links that support a similar perspective or at least offer an even-handed appraisal.  For the most part, they are clearly written by people better informed than me.  Incidently, I hadn't read any of these links before posting - any similarity really is coincidental.  I wasn't copying stuff from Google searches :-) &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;a href="http://googlewatch.eweek.com/content/google_vs_microsoft/microsofts_mehdi_plays_pot_meet_kettle_with_google.html"&gt;http://googlewatch.eweek.com/content/google_vs_microsoft/microsofts_mehdi_plays_pot_meet_kettle_with_google.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;a href="http://www.techdirt.com/articles/20110201/11022312911/googles-childish-response-to-microsoft-using-google-to-increase-bing-relevance.shtml"&gt;http://www.techdirt.com/articles/20110201/11022312911/googles-childish-response-to-microsoft-using-google-to-increase-bing-relevance.shtml&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;a href="http://www.itworld.com/internet/136002/googles-copying-accusation-called-silly"&gt;http://www.itworld.com/internet/136002/googles-copying-accusation-called-silly&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;a href="http://www.businessweek.com/managing/content/feb2011/ca2011024_853469.htm?campaign_id=rss_topStories"&gt;http://www.businessweek.com/managing/content/feb2011/ca2011024_853469.htm?campaign_id=rss_topStories&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;a href="http://www.ecommercetimes.com/story/71771.html"&gt;http://www.ecommercetimes.com/story/71771.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;a href="http://technorati.com/technology/article/googles-bing-sting-bears-fruitbut-is/"&gt;http://technorati.com/technology/article/googles-bing-sting-bears-fruitbut-is/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;font face="Verdana"&gt;&lt;a href="http://blog.moertel.com/articles/2011/02/02/the-google-microsoft-squabble-over-bing-results-some-completely-uninformed-speculation"&gt;http://blog.moertel.com/articles/2011/02/02/the-google-microsoft-squabble-over-bing-results-some-completely-uninformed-speculation&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;font face="Verdana"&gt;&lt;a href="http://willwhim.wordpress.com/2011/02/02/is-bing-cheating-at-search/"&gt;http://willwhim.wordpress.com/2011/02/02/is-bing-cheating-at-search/&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/143798.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2011/02/04/the-bing-sting---an-alternative-opinion.aspx</guid>
            <pubDate>Fri, 04 Feb 2011 19:26:21 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/143798.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2011/02/04/the-bing-sting---an-alternative-opinion.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/143798.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/143798.aspx</trackback:ping>
        </item>
        <item>
            <title>Coming up for Air:  Rules Fest 2010</title>
            <link>http://geekswithblogs.net/cyoung/archive/2010/10/14/coming-up-for-air--rules-fest-2010.aspx</link>
            <description>&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;img alt="" width="640" height="110" src="/images/geekswithblogs_net/cyoung/507/r_RulesFest2010.jpg" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;ason Morris called it ‘decompression’.   After 10 months of planning and three packed days of presentations here in San Jose, Rules Fest 2010 is now in ‘boot camp’ mode. More than half the attendees stayed for today’s sessions, and are currently spread between four boot camps – JBoss Rules, IBM JRules, OpenRules and Jess. My role as MC and catwalk model (don’t ask!) came to an end last night, and I am sitting in my hotel room, shattered, happy, but also with a distinct feeling of the ‘bends’ as I emerge blinking into the warm Californian sunshine.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;We are really happy with the way this year’s conference has gone. These are constrained times, economically, and we needed to prove the viability of the event and the ability of new management, and a new owner, to organise and host an international conference that provides real benefit to its attendees and sponsors. The post mortem will begin in earnest in a few days, and knowing our committee, will be a frank, open and critical appraisal of the last few days. However, we hit our targets, substantially grew the event from last year, garnered great feedback, had a really excellent line-up of speakers and all enjoyed the occasion immensely.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Rules Fest will strive to deepen its commitment to provide a technical conference ‘for developers, by developers’. As I tried to explain to one bemused non-Microsoft person yesterday, we aim to be the ‘PDC’ of the rules processing world, and refuse to be just another trade show. Next year, we will evolve the program to provide deeper developer content and more opportunity for rules developers to share their experience and get direct input into the issues they face. We plan to significantly increase the attendance again (we learned so much this year about how to market it, and are confident that we can hit significantly higher targets next year), attract wider sponsorship and broaden the pool of presenters.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;My one on-going pain point is the lack of a really good .NET story. Now don’t get me wrong. I love the Java and C/C++ guys/gals to bits, but I really, really want to see the .NET developers who turn up to the event get more for their money.  Mark Proctor quizzed me on my interest in the event last night (and immediately provided a litany of answers to his own questions!). I understand why he is a bemused. Where are the .NET rule vendors? Everyone else is there.  Where were you, InRule?   We tried to get you interested. Where were you, Microsoft (I know Karl would have loved to be there, as he has been in previous years)?   And Dan, can’t we get IBM to push ILOG.NET a bit more?   I said to Mark that at some point, the .NET rule logjam has to break, and I fully intend to be there when it does.   Rules belong to businesses, not to the JRE.   .NET developers do rules as well!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Big thanks to the team at the Hayes Mansion. Inga, you are an absolute star! Big thanks to Brenda who helped make the event a success.   And big, big thanks to Jason and Brian who never lost faith.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/142287.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2010/10/14/coming-up-for-air--rules-fest-2010.aspx</guid>
            <pubDate>Thu, 14 Oct 2010 18:23:12 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/142287.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2010/10/14/coming-up-for-air--rules-fest-2010.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/142287.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/142287.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk Server 2010 Developer Edition - Installation Issue</title>
            <category>BizTalk Server 2004/2006</category>
            <link>http://geekswithblogs.net/cyoung/archive/2010/09/26/biztalk-server-2010-developer-edition---installation-issue.aspx</link>
            <description>&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;I installed the new BizTalk Server 2010 Developer Edition, released a couple of days ago, on a Windows Server 2008 R2 virtual image.   The installation went very smoothly, but I did notice one problem.   Initially I attempted to upgrade the beta version of BizTalk Server. Brian Loesgen &lt;a href="http://www.brianloesgen.com/blog/2010/9/24/biztalk-server-2010-released-to-manufacturing.html"&gt;reports that this worked OK&lt;/a&gt; for him.   However, I couldn't do this. The installer reported that upgrade from the Enterprise Edition to the Developer Edition is not supported.   I attempted to uninstall the beta, but got an error message which left my installation in an invalid state.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Fair enough. You have to expect this sort of problem when using betas. That’s one good reason for using virtualisation.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;I installed the RTM Developer Edition on a fresh image, and as I say, everything went very smoothly.   However, I tried re-running the BizTalk installer and, to my dismay, got a rude message saying: &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-left: 40px"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Cannot uninstall or modify the Dev. edition of BTS 2010&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-left: 40px"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-left: 40px"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Setup has detected that the Enterprise Edition of BizTalk Server 2010 was installed. Upgrading from the Enterprise Edition to the Developer Edition is not supported.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-left: 40px"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-left: 40px"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Please uninstall the Enterprise Edition and then run Setup again. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;This is simply not true. This was a completely fresh build of Windows Server on which I have only installed the Developer Edition.   I have not tried uninstalling BizTalk to see what happens.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;So, be careful with the Developer Edition. My experience is that there is a problem with the installer.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="color: #ff0000"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;[UPDATE 28/09/2010] Rahul, from MS, is looking into the issue.  Meanwhile, early indications are that others are not experiencing the same problem.  Thiago Almeida kindly experimented, and was able re-run setup.  He is using Windows 7 Enterprise whereas I am using Windows Server 2008 R2.  Also, he built a 32-bit installation using WinVPC wheras I built a 64-bit installation using VirtualBox (WinVPC can't run 64-bit images).  Meanwhile, over on Connect, Johan Hedberg, reports that things worked OK for him on a 64-bit Windows 7 machine.   He uninstalled the beta and then installed the RTM of the Dev edition, and can re-run setup OK.  Jan Eliasen has also reported that things work OK on a 64-bit VMWare image running the same combination of software I am using. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/141985.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2010/09/26/biztalk-server-2010-developer-edition---installation-issue.aspx</guid>
            <pubDate>Sun, 26 Sep 2010 12:58:03 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/141985.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2010/09/26/biztalk-server-2010-developer-edition---installation-issue.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/141985.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/141985.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk Server 2010 RTM</title>
            <category>BizTalk Server 2004/2006</category>
            <link>http://geekswithblogs.net/cyoung/archive/2010/09/23/biztalk-server-2010-rtm.aspx</link>
            <description>&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The BizTalk Server team &lt;a href="http://blogs.msdn.com/b/biztalk_server_team_blog/archive/2010/09/22/biztalk-server-2010-released-for-manufacturing.aspx"&gt;announced today&lt;/a&gt; that BizTalk Server 2010 has RTMd. That's a relief, as my reputation was on the line regarding RTM before the end of the month.   Just this Tuesday I confidently told a prospective customer to expect an imminent announcement.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;I've been playing with BTS 2010 for a little while now. It has been my constant companion while writing several chapters for the forthcoming BizTalk Server 2010 Unleashed. It looks great. As well as bringing BTS up to date with Visual Studio 2010 and SQL Server 2008 R2, it introduces some welcome improvements. First and foremost, for developers, is a re-worked mapper. A decade ago, the mapper was the 'killer app' (as Clemens Vasters put it at the time) that sold BTS 2000 licences.   A lot has changed since then, but the mapper, although much copied over the years, remains a vital part of BizTalk tooling. The new version is head and shoulders over the previous version and, frankly, over much of the competition as well. In the last few days, I've constructed a couple of medium-complexity maps in BTS 2009. I really, really wished I was using BTS 2010. Even though the maps were not by any means the biggest and ugliest I have worked on, things would still have been much easier with the new version. Better still, you can use the new mapper in conjunction with WCF/WF workflow services in .NET 4 (under the beta, you had to have AppFabric installed - I haven't tested this yet on the RTM version). It's a great indication of how, as time goes on, BizTalk Server is supporting and extending WCF/WF to an ever-greater degree.   There is much more water to flow under this particular bridge. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;One more point about the mapper.   It seems the hilariously named 'Suggestive Match' feature in the beta (&lt;a href="http://www.youtube.com/watch?v=MK6TXMsvgQg"&gt;wink, wink&lt;/a&gt;) has been renamed 'Predictive Match'.   They are a bunch of killjoys over there in Redmond, but I suppose double entrendres have no place in enterprise-level platforms.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The Trading Partner Management features have had a welcome makeover. Some of us older folk remember how BTS began life as the Commerce Interchange Pipeline (CIP) in Microsoft Site Server (ah, what a trip down memory lane!). BizTalk Server was originally conceived principally as a B2B product and has always had some TPM features. Over the years these have languished. BTS has excellent support for EDI standards (EDIFACT, X12 and AS2), but the TPM was relatively poor.   That has changed in BTS 2010 with the introduction of a completely reworked model with new support for agreement templating and onboarding as well as new models for centralised management of identities, message types, validation, etc.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;There are new features to please the operations guys who have to maintain BTS, including a new improved SCOM management pack, new rapid tuning features and data compression for backups. RFID Server has also been extended with a number of new event handlers and other features.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Looking through the official announcement, I am clearly going to have to revisit some of the adapter content I've recently been writing for BizTalk Server 2010 Unleashed. When looking at the beta, I discovered the SSL extensions to the existing FTP adapter, but MS keep on talking about a new FTPS adapter as if it is a separate item.   This is currently confusing me. They also talk about new features of the File adapter which I didn't discover in the beta. &lt;span style="color: #ff0000"&gt;[&lt;strong&gt;UPDATE&lt;/strong&gt; 26/09/2010] The list of new features in the BizTalk Server Team blog is confusing.  There is no new separate FTPS adapter, but simply a set of extensions to the existing FTP adapter, including SSL support.  Also, I misinterpreted the list of features assuming that they referred to extensions to the File adapter.  Not so.  They are new features of the FTP adapter which I had actually discovered previously! &lt;/span&gt; The beta documentation clearly stated that the old SQL Server adapter has been removed from the product, but it was still there in the beta.  &lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;I will be interested to see if it is in the RTM version. If it is, I understand that it will not be supported.  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;span style="font-family: Verdana"&gt;[&lt;strong&gt;UPDATE&lt;/strong&gt; 26/09/20010] The SQL Server adapter is still included in the product, BUT is no longer supported, except in certain cases.   It appears that the help documentation has been tidied up in order to clarify the situation.    Here is what it says:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div style="margin-left: 40px"&gt;&lt;span style="color: #ff0000"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;"BizTalk Server no longer supports the SQL Adapter. We recommend you use Microsoft BizTalk Adapter for SQL Server to achieve the same functionality.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-left: 40px"&gt; &lt;/div&gt;
&lt;div style="margin-left: 40px"&gt;&lt;span style="color: #ff0000"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;However, BizTalk Server supports the SQL Adapter with the components shipped with BizTalk Server, like EDI Control message SQL receive pipeline, or AS2 resend control message receive pipeline."&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The old SOAP adapter, I believe, retains its deprecated status but is still supported. &lt;span style="color: #ff0000"&gt;&lt;span style="font-family: Verdana"&gt;[&lt;strong&gt;UPDATE&lt;/strong&gt; 26/09/20010] Yes, this is the case.  &lt;/span&gt;&lt;/span&gt;This caused me some pain earlier this year when we discovered that a customer, new to BizTalk Server, needed to integrate with a central system via web services written in an older version of Apache Axis.   Axis used to use RPC/Encoded as the default SOAP style, and I had to explain to the customer that, having spent all that money on a bright shiny new integration server, the only way it could support this part of the SOAP specification was through a deprecated adapter. The WCF adapters have no support for RPC. Also, publishing ASMX web services via BizTalk with RPC support is not handled well.   You have to make changes to the code generated by the publishing wizard to get everything working as required. &amp;lt;rant&amp;gt;For BizTalk Server to fail to provide good support for a major, if unfashionable, part of the SOAP spec, and to only support RPC via a deprecated adapter verges on the incredible. In the rush to adopt pristine-pure WCF, there is always the fear that Microsoft could lose sight of the whole purpose of BizTalk Server and the value proposition it offers to companies. It is an integration server. It is there to cope with mess and confusion, mediocre and bad practice, delinquent systems and ancient protocols. Supporting things like RPC is what makes the cost of the license worthwhile.&amp;lt;/rant&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;I can't yet comment on the stability of the development tools in BTS 2010.   I haven't experienced any major problems with the BTS 2010 beta, but I've yet to do any serious development in the new version.   BTS 2009 dev tools were delivered in a poor, sometimes barely usable, state although subsequent hotfixes improved things significantly. The biggest issue in BTS 2009 remains the poor handling of references amongst multiple BizTalk projects. There were other problems as well. On my current project, I've been struggling just today with very peculiar and wrong behaviour when deploying a small cluster of BizTalk projects to a single application.   I really hope that some headway has been made on these issues in BTS 2010 as they are an open sore in this otherwise excellent, stable and mature product.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;So, welcome to BTS 2010, and congratulations to Microsoft on getting this version out of the door in the stated timeframe.   Keep up the good work.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/141949.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2010/09/23/biztalk-server-2010-rtm.aspx</guid>
            <pubDate>Thu, 23 Sep 2010 21:12:20 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/141949.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2010/09/23/biztalk-server-2010-rtm.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/141949.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/141949.aspx</trackback:ping>
        </item>
        <item>
            <title>RIP Quadrant.  Adios, SSM Repository.</title>
            <category>'Oslo' &amp; Modelling</category>
            <link>http://geekswithblogs.net/cyoung/archive/2010/09/23/rip-quadrant.--adios-ssm-repository.aspx</link>
            <description>&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;So it's official. Don Box has &lt;a href="http://blogs.msdn.com/modelcitizen/rss.xml"&gt;blogged an update on SQL Server Modelling&lt;/a&gt;. As widely rumoured, he has confirmed that Quadrant is dead.   The shock is that the model repository has expired as well.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;M is still hanging on in there, but we don't know anything more about what the future holds.  For some time, the official word has been that it would arrive in conjunction with a future SQL Server release. I detect a possible change here, in that Don simply says 'We are continuing our investment in this technology and will share our plans for productization once they are concrete'.   For my part, I maintain that tying 'M' to the SQL Server licence would be a really bad move. I know that every time Doug Purdy (who has recently left Microsoft to join Facebook) was challenged on this, he kept saying...no, SQL Server is a platform, not a product...watch this space.   However, in the next breath it certainly sounded as if 'M' was in danger of being subsumed under a product license. No, no, no. Set it free to be used across Microsoft's platform.   That platform is not SQL Server.  It remains Windows, and for developers, it is Windows (on-premises and cloud) mediated through .NET.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/141947.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2010/09/23/rip-quadrant.--adios-ssm-repository.aspx</guid>
            <pubDate>Thu, 23 Sep 2010 17:24:42 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/141947.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2010/09/23/rip-quadrant.--adios-ssm-repository.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/141947.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/141947.aspx</trackback:ping>
        </item>
        <item>
            <title>Optimising VirtualBox</title>
            <link>http://geekswithblogs.net/cyoung/archive/2010/09/22/optimising-virtualbox.aspx</link>
            <description>&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;I blogged a couple of weeks ago about my &lt;a href="http://geekswithblogs.net/cyoung/archive/2010/08/23/virtualbox-and-100-cpu-usage---the-superfetch-effect.aspx"&gt;issues running VirtualBox&lt;/a&gt;. At the time, I believed I had found an issue involving SuperFetch. In reality, turning SuperFetch off, while helpful, did not address the underlying issue. I eventually worked out that my machine is overheating whenever CPU usage of 40-50% is sustained over several minutes.   Several things, or combinations of things, can cause this on my machine, including running full virus-checking scans in Forefront, SuperFetch and, of course, running VirtualBox.   Every time the temperature goes up to about 85&lt;sup&gt;o&lt;/sup&gt;, the power management throttles the CPU back to about 300MHz in order to let things cool down again.   Once cooler (less than 80&lt;sup&gt;o&lt;/sup&gt;), the CPU switches back to full speed.   A cycle is set up that repeats for as long as the relatively high CPU load continues.  I use the &lt;a href="http://cpu.rightmark.org/products/rmclock.shtml"&gt;RightMark CPU Clock Utility&lt;/a&gt; to monitor core temperature.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The fan works OK, and my machine is not clogged with dust and detritus. It appears that my Dell Vostro 1720 simply cannot cope with sustained load. The Vostro range has documented overheating problems in relation to the NVidia GPU. Dell ended up modifying the BIOS to keep the fan running constantly to try to keep things cool. Sure enough, my fan never seems to switch off, but just can't cope with sustained load. Short of convincing the company to buy me a new machine (some hope!), my only options are to adopt whatever strategy I can to reduce sustained CPU load to a minimum and to invest, at company expense, in a cooling pad.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;How do I reduce sustained CPU load? Well, there are some challenges here. First, I avoid run full virus scans during working hours. Unfortunately, being a company machine, the policy is locked down and a full scan kicks off every Wednesday lunchtime. My only option has been to kill the scan and try to remember to run one manually before going to bed.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Turning SuperFetch off has helped. It doesn't really use a huge number of cycles, but it does increase CPU load for several minutes at a time at certain times of the day. In combination with other things, this can be enough to cause my machine to overheat. I haven't missed SuperFetch except when re-booting, which now takes a lot longer.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;And now on to VirtualBox. I'm very dependent on running virtual images on my notebook for development, demonstrations, etc. Although Microsoft includes virtualisation with Windows 7, this is not an option for me. Microsoft only supports 32-bit images and, far worse, my experience was that most of my existing VPC 2007 images simply won't run under the new WinVPC. Hence, I, like everyone else I know, have now switched to Sun/Oracle VirtualBox which happily runs all my old 32 bit images and allows me to create 64-bit images. Indeed, Microsoft is quite explicit on their web site that they only see WinVPC as a mechanism for handling legacy 32-bit apps that won't run properly on Windows 7. I have yet to encounter any application that won't run on Windows 7, so this strategy does little for me.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Unfortunately, VirtualBox can be quite intensive in terms of CPU usage, and causes my machine to overheat. Even if the image is completely idle, VirtualBox can constantly consume 30-50% CPU. I've been struggling with this for some time. Here is a summary of strategies to reduce CPU load:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;On a single processor, dual core machine, configure each image to use a single virtual processor. This seems to help. I haven't tested this on multi-processor boxes, so can't say if the rule should be 'always use a single virtual processor' or 'always use one less virtual processor than the physical processor/core count.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Avoid Oracle VirtualBox 3.2.8 and instead opt to use the old Sun VirtualBox 3.1.8 which is still available. The Sun version seems to be a bit less intensive than the current Oracle version. Oracle certainly introduced a number of changes and seems to burn through more CPU cycles.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;And now, something I recently discovered. Try moving to SATA disk controllers.   This has worked well for me. One of our system guys tells me that he suspects this better aligns VirtualBox with the controllers used on most modern notebooks, and cuts down the amount of work the machine has to do. I don't know if this is correct, but I certainly see a significantly reduced load on the machine.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;To move to SATA disk controllers, you need to stop you image and then go to 'Settings/Storage'. Under the 'Storage Tree' panel, click the 'Add Controller' button and choose 'Add SATA controller'. Now boot the image and make sure it has a valid network connection with Internet access. To load the required drivers, go to the Intel web site and download the latest version of their Matrix Storage Manager. You can currently find this on this page:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;&lt;a href="http://downloadcenter.intel.com/SearchResult.aspx?lang=eng&amp;amp;ProductFamily=Chipsets&amp;amp;ProductLine=Chipset+Software&amp;amp;ProductProduct=Intel%c2%ae+Rapid+Storage+Technology+(Intel%c2%ae+RST)"&gt;http://downloadcenter.intel.com/SearchResult.aspx?lang=eng&amp;amp;ProductFamily=Chipsets&amp;amp;ProductLine=Chipset+Software&amp;amp;ProductProduct=Intel%c2%ae+Rapid+Storage+Technology+(Intel%c2%ae+RST)&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Once the manager is installed, shut down the image. Then go back to 'Settings/Storage', remove your hard disk from its current controller and add it to the SATA controller. Reboot you image, and hopefully things will improve.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Finally, if you have the same problems I have, invest in a cooling pad. Mine arrive at lunchtime today just in time for me to test it during a full Forefront scan. I placed the notebook on the pad, plugged it into my USB port (to run the fan) and watched the temperature reduce down by about 12/13&lt;sup&gt;o&lt;/sup&gt;.   For the next few hours it ran the full scan without going much above 60&lt;sup&gt;o&lt;/sup&gt;, which is well inside the safety zone.   At the same time, I was running, and using, VirtualBox.  The scan is complete and I am down to about 54&lt;sup&gt;o&lt;/sup&gt;.   This still strikes me as a tad on the warm side, and I have to say I think there is probably some underlying fault on my machine, but our systems guys feel differently.   So, for the time being, armed with VirtalBox optimisations and a cooling pad, I can once more enjoy a productive relationship with my notebook.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/141933.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2010/09/22/optimising-virtualbox.aspx</guid>
            <pubDate>Wed, 22 Sep 2010 17:49:51 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/141933.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2010/09/22/optimising-virtualbox.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/141933.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/141933.aspx</trackback:ping>
        </item>
        <item>
            <title>The Dimensions of Refraction</title>
            <link>http://geekswithblogs.net/cyoung/archive/2010/09/19/the-dimensions-of-refraction.aspx</link>
            <description>&lt;p&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;Refraction is a vital, but little understood aspect of rule engines.  In a three-part article, I've attempted to shed some light on what it is and the various options that rule engine designers have when implementing it.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2010/09/07/the-dimensions-of-refraction--part-1.aspx"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;Part 1&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt; &lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2010/09/07/the-dimensions-of-refraction--part-1.aspx"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;http://geekswithblogs.net/cyoung/archive/2010/09/07/the-dimensions-of-refraction--part-1.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2010/09/07/the-dimensions-of-refraction--part-2.aspx"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;Part 2&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2010/09/07/the-dimensions-of-refraction--part-2.aspx"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;http://geekswithblogs.net/cyoung/archive/2010/09/07/the-dimensions-of-refraction--part-2.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2010/09/07/the-dimensions-of-refraction--part-3.aspx"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;Part 3&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2010/09/07/the-dimensions-of-refraction--part-3.aspx"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;http://geekswithblogs.net/cyoung/archive/2010/09/07/the-dimensions-of-refraction--part-3.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/141890.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2010/09/19/the-dimensions-of-refraction.aspx</guid>
            <pubDate>Sun, 19 Sep 2010 11:59:47 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/141890.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2010/09/19/the-dimensions-of-refraction.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/141890.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/141890.aspx</trackback:ping>
        </item>
        <item>
            <title>Rules Fest 2010: Early-Bird Deadline</title>
            <link>http://geekswithblogs.net/cyoung/archive/2010/09/16/rules-fest-2010-early-bird-deadline.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://rulesfest.org"&gt;&lt;img alt="Rules Fest 2010" src="http://geekswithblogs.net/images/geekswithblogs_net/cyoung/507/r_RulesFest2010.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Rules Fest 2010 kicks off at the Dolce Hayes Mansion Resort in San Jose, California on Monday 11th October, just a few short weeks away.  Registrations are coming in thick and fast.  The early-bird discount has been extended to tomorrow (Friday 17th September), so if you have not yet registered, the time to do so is NOW.   You get the best prices, and we cannot guarantee rooms at the hotel beyond the deadline.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;Rules Fest provides three days to solid wall-to-wall technical content for everything to do with rules, reasoning and inference.  It's a conference for rule developers, architects and practitioners who need to apply these technologies to real-world problems, and decision makers who need to understand the technology and what it offers. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;This year, our sponsors include Red Hat (JBoss), IBM, Grindwork and Vision Arts.  Our keynote speaker is Professor John Laird.  We have a packed agenda of presentations, posters, Q&amp;amp;As, etc., together with a number of sponsored events.  Our speaker line-up is amazing, and we have other big names who will be attending the conference.  On Thursday 14th October, we have a range of boot camps for you to attend covering Jess, Drools, IBM JRules and OpenRules.  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;My offer still stands to the BizTalk community.  We only need a handful of BizTalk people there to make it worth my while organising an MS BRE boot camp, but I need to know if this is viable asap.   So think about it, sign up on the web site at &lt;a href="http://rulesfest.org"&gt;http://rulesfest.org&lt;/a&gt; and let me know via the Contact menu option on this web site if you plan to attend.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Verdana"&gt;The web site is at &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://rulesfest.org"&gt;&lt;span style="font-family: Verdana"&gt;http://rulesfest.org&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;.   &lt;br /&gt;
Follow us on Twitter &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://twitter.com/Rules_Fest_2010"&gt;&lt;span style="font-family: Verdana"&gt;@rulesfest&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;&lt;br /&gt;
Write on our FaceBook wall at &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://www.facebook.com/pages/Rules-Fest-2010/108532835869540"&gt;&lt;span style="font-family: Verdana"&gt;http://www.facebook.com/pages/Rules-Fest-2010/108532835869540&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;&lt;br /&gt;
Visit us at LinkedIn at &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;a href="http://www.linkedin.com/groups?gid=3334438"&gt;&lt;span style="font-family: Verdana"&gt;http://www.linkedin.com/groups?gid=3334438&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/cyoung/aggbug/141854.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2010/09/16/rules-fest-2010-early-bird-deadline.aspx</guid>
            <pubDate>Thu, 16 Sep 2010 17:53:47 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/141854.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2010/09/16/rules-fest-2010-early-bird-deadline.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/141854.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/141854.aspx</trackback:ping>
        </item>
    </channel>
</rss>
