<feed 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="http://www.w3.org/2005/Atom" xml:lang="en-GB">
    <title>Robert Pickering's Strange Blog</title>
    <link rel="self" type="application/atom+xml" href="http://strangelights.com/blog/Atom.aspx" />
    <subtitle type="html">The "informaticien anglais": A blog about an English programmer living and working in Paris</subtitle>
    <id>http://strangelights.com/blog/Default.aspx</id>
    <author>
        <name>Robert Pickering</name>
        <uri>http://strangelights.com/blog/Default.aspx</uri>
    </author>
    <generator uri="http://subtextproject.com" version="Subtext Version 2.1.0.5">Subtext</generator>
    <updated>2010-02-13T17:13:21Z</updated>
    <entry>
        <title>My Talk with Don and Adam at TechDays 2010</title>
        <link rel="alternate" type="text/html" href="http://strangelights.com/blog/archive/2010/02/13/1654.aspx" />
        <id>http://strangelights.com/blog/archive/2010/02/13/1654.aspx</id>
        <published>2010-02-13T17:13:21Z</published>
        <updated>2010-02-13T17:13:21Z</updated>
        <content type="html">&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;It was TechDays this week and I was lucky enough to be invited to speak with &lt;a href="http://blogs.msdn.com/dsyme/"&gt;Don Syme&lt;/a&gt; and &lt;a href="http://www.linkedin.com/in/granicz"&gt;Adam Granicz&lt;/a&gt;. Don gave a short introduction to mailboxes/agent programming in F# and Adam gave an introduction to &lt;a href="http://www.intellifactory.com/products/wsp/Home.aspx"&gt;IntelliFactory’s WebSharper project&lt;/a&gt;.&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;My section of the talk was on using F# with &lt;a href="http://research.microsoft.com/en-us/projects/Accelerator/"&gt;Microsoft Accelerator&lt;/a&gt;. Accelerator is an interesting product, it allows you to take advance of the GPU of your PC. Even the most basic PCs have a specialized graphics chip and for most of the tasks you perform on your PC it just sits there doing nothing. GPU are very good at performing floating point operations on matrices, they’re specialized hardware that allow you to perform matrix operations in a highly parallel way. The DirectX runtime takes advantage of this to perform the operations need to for 3D shading. However, there are other algorithms that could benefit from being run on the GPU and Accelerator opens up the GPU for just about any algorithm that you can imagine.&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;The usage I demonstrated was the game of life running either on the CPU or with the calculations performed on the GPU. On my current machine this yields a 10 fold increase in execution time. It takes advantage of F# quotations system (similar to C#’s expression trees), these are used to allow you to compile an algorithm in F# to operations that the Accelerator runtime understands. This is how we can easily show an algorithm running on the CPU and then switch it to the GPU. The slides can be found here and code examples here. The example comes from &lt;a href="http://tomasp.net"&gt;Tomáš Petříček’s&lt;/a&gt; web site and more details &lt;a href="http://tomasp.net/blog/accelerator-life-game.aspx"&gt;can be found about in this series of articles&lt;/a&gt;.&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;I had several people come and access me for more information about Accelerator at the end of the talk. &lt;a href="https://connect.microsoft.com/acceleratorv2"&gt;Accelerator v2 is available from Microsoft connected, here&lt;/a&gt;. It’s currently licensed under a restrictive MSR license that stipulates non-commercial use only. However, in stating the objectives of their project, they say “Accelerator v2 is an MSR incubation project whose goal is to validate the architecture and API approach with high quality engineering sufficient to gather real-world usage data.” It would seem to me that in order to achieve this objective they would need to have some commercial users, so maybe if you contact the team directly they would be able to get you a less restrictive license. I certainly have a project in mind for accelerator, though at this point it would be non-commercial. If you’re interested check out activity on my github account, you can probably guess what my idea is.&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Calibri&amp;quot;, &amp;quot;sans-serif&amp;quot;; FONT-SIZE: 11pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-fareast-language: EN-US; mso-bidi-language: AR-SA" lang="EN-US"&gt;The &lt;a href="http://strangelights.com/blog/downloads/TechDays2010_Robert.pptx"&gt;slides can be found here&lt;/a&gt; and the &lt;a href="http://strangelights.com/blog/downloads/accelerator-quotations.zip"&gt;code can be found here&lt;/a&gt;. The session was videoed, I’ll let you know as soon as it’s on line.&lt;/span&gt;&lt;img src="http://strangelights.com/blog/aggbug/1654.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://strangelights.com/blog/comments/1654.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://strangelights.com/blog/comments/commentRss/1654.aspx</wfw:commentRss>
        <trackback:ping>http://strangelights.com/blog/services/trackbacks/1654.aspx</trackback:ping>
    </entry>
    <entry>
        <title>FunctionalNHibernate: RCed and now with added build server</title>
        <link rel="alternate" type="text/html" href="http://strangelights.com/blog/archive/2010/02/13/1653.aspx" />
        <id>http://strangelights.com/blog/archive/2010/02/13/1653.aspx</id>
        <published>2010-02-13T15:48:16Z</published>
        <updated>2010-02-13T15:48:16Z</updated>
        <content type="html">&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;I’m very happy to announce that &lt;a href="http://bitbucket.org/robertpi/functionalnhibernate/"&gt;FunctionalNHibernate &lt;/a&gt;has now been updated to work with the recently released Visual Studio 2010 release candidate. Also, it has now been setup to run on the &lt;a href="http://teamcity.codebetter.com/"&gt;codebetter build server&lt;/a&gt;. You can create a log on and download the latest binaries from here (you need an account but it’s very simple to create one).&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;A huge thanks to &lt;a href="http://www.navision-blog.de"&gt;Steffen Forkmann&lt;/a&gt;, who did the work to get this set up.&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://strangelights.com/blog/aggbug/1653.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://strangelights.com/blog/comments/1653.aspx</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://strangelights.com/blog/comments/commentRss/1653.aspx</wfw:commentRss>
        <trackback:ping>http://strangelights.com/blog/services/trackbacks/1653.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Functional Programming eXchange: The Videos</title>
        <link rel="alternate" type="text/html" href="http://strangelights.com/blog/archive/2010/02/13/1652.aspx" />
        <id>http://strangelights.com/blog/archive/2010/02/13/1652.aspx</id>
        <published>2010-02-13T15:30:23Z</published>
        <updated>2010-02-13T15:30:23Z</updated>
        <content type="html">&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;I’ve recently noticed that talks from Functional Programming eXchange, that I organized and spoke at, are now online. This is a great resource for people looking for some more advanced material on Functional Programming. So here are the videos:&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;SADEK DROBI: Computation Abstraction&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;&lt;a href="http://skillsmatter.com/podcast/cloud-grid/computation-abstraction"&gt;http://skillsmatter.com/podcast/cloud-grid/computation-abstraction&lt;o:p /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;MATTHEW SACKMAN: Supercharged Rabbit: Resource Management at High Speed in Erlang&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;a href="http://skillsmatter.com/podcast/cloud-grid/supercharged-rabbit-resource-management-at-high-speed-in-erlang"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;http://skillsmatter.com/podcast/cloud-grid/supercharged-rabbit-resource-management-at-high-speed-in-erlang&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;ANTON SCHWAIGHOFER: F# and Units-of-measure for Technical Computing&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;a href="http://skillsmatter.com/podcast/cloud-grid/f-and-units-of-measure-for-technical-computing"&gt;&lt;font size="3"&gt;http://skillsmatter.com/podcast/cloud-grid/f-and-units-of-measure-for-technical-computing&lt;/font&gt;&lt;/a&gt;&lt;o:p /&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;GANESH SITTAMPALAM: Functional Programming for Quantitative Modeling at Credit Suisse&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;a href="http://skillsmatter.com/podcast/cloud-grid/functional-programming-for-quantitative-modelling-at-credit-suisse"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;http://skillsmatter.com/podcast/cloud-grid/functional-programming-for-quantitative-modelling-at-credit-suisse&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;DUNCAN COUTTS: Strong Types and Pure Functions&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;a href="http://skillsmatter.com/podcast/cloud-grid/strong-types-and-pure-functions"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;http://skillsmatter.com/podcast/cloud-grid/strong-types-and-pure-functions&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;ROBERT PICKERING: Combinators, DSLs, HTML and F#&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;&lt;a href="http://skillsmatter.com/podcast/design-architecture/using-combinators-to-tackle-the-html-rendering-problem"&gt;http://skillsmatter.com/podcast/design-architecture/using-combinators-to-tackle-the-html-rendering-problem&lt;o:p /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://strangelights.com/blog/aggbug/1652.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://strangelights.com/blog/comments/1652.aspx</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://strangelights.com/blog/comments/commentRss/1652.aspx</wfw:commentRss>
        <trackback:ping>http://strangelights.com/blog/services/trackbacks/1652.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Update about FunctionalNHibernate</title>
        <link rel="alternate" type="text/html" href="http://strangelights.com/blog/archive/2009/12/26/1651.aspx" />
        <id>http://strangelights.com/blog/archive/2009/12/26/1651.aspx</id>
        <published>2009-12-26T14:21:16Z</published>
        <updated>2009-12-26T14:21:16Z</updated>
        <content type="html">&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;I’ve been working quite a lot on the FunctionalNHibernate project recently. I’ve implemented the following features:&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;- Save records with native F# lists.&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;- Create one-to-many and many-to-many relations&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;- Generate identities automatically&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;We can now do just about everything you the &lt;a href="http://github.com/jagregory/fluent-nhibernate/tree/master/src/Examples.FirstProject"&gt;FluentNHibernate first example&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt; project does, although admittedly this is just a very small subset of what one can do with FluentNHibernate&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;and NHibernate itself. &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;In the future I’ll be looking at how to broadening what you can do with FunctionalNHibernate ClassMap descriptions and improve data access by integrating Linq like features.&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;In terms of usability, it’s still early days but I think it’s probably usable for a project with simple data access needs. Obviously you need to ready to put up with some teething problems and there will definitely be some breaking changes as the project evolves.&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;The project uses Mercurial for source control and is hosted at bitbucket.org, but don’t need to install Mercurial to use it, you can download the zipped source here: &lt;/font&gt;&lt;/span&gt;&lt;a href="http://bitbucket.org/robertpi/functionalnhibernate/downloads/"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;http://bitbucket.org/robertpi/functionalnhibernate/downloads/&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;I’ve licensed it under a simple BSD like license: &lt;/font&gt;&lt;/span&gt;&lt;a href="http://bitbucket.org/robertpi/functionalnhibernate/src/tip/LICENSE.txt"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;http://bitbucket.org/robertpi/functionalnhibernate/src/tip/LICENSE.txt&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="mso-ansi-language: EN-US"&gt;&lt;font size="3"&gt; &lt;span lang="EN-US"&gt;&lt;o:p /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;I’ve also created a google group for announcements, discussions and questions about the project:&lt;br /&gt;
&lt;a href="http://groups.google.com/group/functionalnhibernate"&gt;http://groups.google.com/group/functionalnhibernate&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://strangelights.com/blog/aggbug/1651.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://strangelights.com/blog/comments/1651.aspx</wfw:comment>
        <slash:comments>3</slash:comments>
        <wfw:commentRss>http://strangelights.com/blog/comments/commentRss/1651.aspx</wfw:commentRss>
        <trackback:ping>http://strangelights.com/blog/services/trackbacks/1651.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Introducing FunctionalNHibernate</title>
        <link rel="alternate" type="text/html" href="http://strangelights.com/blog/archive/2009/12/20/1650.aspx" />
        <id>http://strangelights.com/blog/archive/2009/12/20/1650.aspx</id>
        <published>2009-12-20T12:26:44Z</published>
        <updated>2009-12-26T13:56:36Z</updated>
        <content type="html">&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;It’s already fairly well documented that &lt;a href="http://www.atrevido.net/blog/2009/04/01/Using+Fluent+NHibernate+With+F.aspx"&gt;F# doesn’t play too well with NHibernate and Fluent NHibernate&lt;/a&gt;, although you can &lt;a href="http://www.atrevido.net/blog/2009/04/23/Update+On+F+With+Fluent+NHibernate.aspx"&gt;make it play a littler nice with a bit of effort&lt;/a&gt;. However there are a few fundamental problems with this approach. The first is F# class’ are not really designed to be data containers because that’s what its record type is for. The second is that F# class’ do not put too much emphasis on virtual methods as in functional programming we tend to using pass functions as values as a way to achieve polymorphism rather than virtual methods. Third and finally FluentNHibernate works with C#’s expression trees, it would be nice use F#’s quotation system instead. &lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;Record types are a fixed collection of names and fields a lot like the row in a database. Below shows a record type we’d like to be able to store in a database table. Here we show an invoice record type that we’d like to serialize in the database.&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt;&lt;img alt="Record type" src="/blog/Photos/FunNH_record.png" /&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;What we’d like to be able to write is a mapping class that describes how it should be serialized, like you can do in FluentNHibernate:&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt;&lt;img alt="functional nhibernate mapping" src="/blog/photos/FunNH_mapping.png" /&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;The idea of FunctionalNHibernate is to provide a layer to do just this. As you see we provide a neat way to describe the mappings. We achieve the record serialization by providing a custom tupilizer for F# record types. There’s also the start of a wrapper for the SessionFactory that will hopefully allow you to store and retrieve data in way more natural for F#. &lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;The idea of this project is not to detract from FluentNHibernate, it’s a great project and works really nicely from C#. I want to provide something that will work equally well from F#. We’re a long way behind them and to be honest the project isn’t really usable yet. I have project in mind that I want to use it on, so hopefully I’ll be able to improve it as I go along.&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;The result is you can now write the following program to store, update and retrieve our invoice record type:&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt;&lt;img alt="fun nhibernate program" src="/blog/photos/FunNH_prog.png" /&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;The project is hosted on &lt;a href="http://bitbucket.org/robertpi/functionalnhibernate/"&gt;bitbucket.org&lt;/a&gt;, where you can explore or download the code. Feel free to drop me a line if you want to help out.&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://strangelights.com/blog/aggbug/1650.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://strangelights.com/blog/comments/1650.aspx</wfw:comment>
        <slash:comments>6</slash:comments>
        <wfw:commentRss>http://strangelights.com/blog/comments/commentRss/1650.aspx</wfw:commentRss>
        <trackback:ping>http://strangelights.com/blog/services/trackbacks/1650.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Beginning F# is here!</title>
        <link rel="alternate" type="text/html" href="http://strangelights.com/blog/archive/2009/12/19/1649.aspx" />
        <id>http://strangelights.com/blog/archive/2009/12/19/1649.aspx</id>
        <published>2009-12-19T19:21:17Z</published>
        <updated>2009-12-19T19:21:17Z</updated>
        <content type="html">&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;This morning there was an unexpected knock at the door and a courier arrived with a large package. I was quite surprised as hadn’t ordered anything. It turned out that it was my box of author copies of “Beginning F#”. So I’m happy to announce that “Beginning F#” is finally here and if you’ve pre-ordered it will be with you shortly.&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;“Beginning F#” is the updated version of “Foundation of F#”, it shares very much the same structure but I has been completely updated for the VS 2010 release of F#. I’ve also added an extra chapter on parallel programming as with the addition of “Asynchronous Workflows” to F# and “Parallel Fx” to the .NET framework itself I believe F# has a lot more to offer in this area that it did when “Foundation of F#” was release. I’ve also split the chapter on Language Oriented Programming into too chapters, one on Language Oriented Programming itself and the other on parsing text. This reflects my belief that &lt;a href="http://en.wikipedia.org/wiki/Combinator_library"&gt;combinator libraries&lt;/a&gt; are the most important part of Language Oriented Programming. Other than 3 chapter, the one that introduces functional programming, has been heavily rewritten and is now much more organized. I also believe the organization of the book as whole has been improved as has the quality of the code in the examples. &lt;a href="http://bfs.codeplex.com/"&gt;All the examples can be downloaded from codeplex&lt;/a&gt;, so there’s no need to type them out!&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;Here’s a picture of me clutching it proudly:&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt;&lt;img alt="Robert Pickering and Beginning F# book" src="/blog/photos/BeginningFS_small.JPG" /&gt;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;I’ve also decided to experiment with selling direct so if you’d like a copy &lt;a href="http://cgi.ebay.fr/ws/eBayISAPI.dll?ViewItem&amp;amp;item=270503846496#ht_500wt_1182"&gt;you can buy it on ebay here&lt;/a&gt;. Just 10 copies available, for now, but maybe more will follow. Can’t promise the same delivery speed as amazon but I will write a dedication if you want.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://strangelights.com/blog/aggbug/1649.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://strangelights.com/blog/comments/1649.aspx</wfw:comment>
        <slash:comments>6</slash:comments>
        <wfw:commentRss>http://strangelights.com/blog/comments/commentRss/1649.aspx</wfw:commentRss>
        <trackback:ping>http://strangelights.com/blog/services/trackbacks/1649.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Functional Programming eXchange 2009</title>
        <link rel="alternate" type="text/html" href="http://strangelights.com/blog/archive/2009/12/13/1648.aspx" />
        <id>http://strangelights.com/blog/archive/2009/12/13/1648.aspx</id>
        <published>2009-12-13T13:45:18Z</published>
        <updated>2009-12-13T13:45:18Z</updated>
        <content type="html">&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;The functional programming exchange in London last Monday (7th Dec) when off really smoothly. We had just over 50 people, mostly from the south east of England, but a few had travelled from places like Scotland, Brussels and Holland to see us. I’d like to say big thanks to all the speakers for providing interesting and thought provoking talks. So, thanks to Sadek, Matthew, Anton, Ganesh, and Duncan. Also, a big thanks to Skills Matter for providing the location, logistics, pizza and beer. Photos and video from the event should start appearing soon, in the meantime &lt;a href="http://mikehadlow.blogspot.com/2009/12/skills-matter-functional-programming.html"&gt;Mike Hadlow&lt;/a&gt; has provided this &lt;a href="http://mikehadlow.blogspot.com/2009/12/skills-matter-functional-programming.html"&gt;nice run down of the day&lt;/a&gt;. Keep an eye on &lt;/font&gt;&lt;a href="http://functionalpx.ning.com/"&gt;&lt;font size="3"&gt;http://functionalpx.ning.com/&lt;/font&gt;&lt;/a&gt;&lt;font size="3"&gt; for the videos, but I’ll also be posting a notice here.&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;We’ve already talked about do it again next year, so keep an eye on this space for more infomation.&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://strangelights.com/blog/aggbug/1648.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://strangelights.com/blog/comments/1648.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://strangelights.com/blog/comments/commentRss/1648.aspx</wfw:commentRss>
        <trackback:ping>http://strangelights.com/blog/services/trackbacks/1648.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Speaking Engagements in Paris in October/November 2009</title>
        <link rel="alternate" type="text/html" href="http://strangelights.com/blog/archive/2009/10/25/1647.aspx" />
        <id>http://strangelights.com/blog/archive/2009/10/25/1647.aspx</id>
        <published>2009-10-25T11:10:47Z</published>
        <updated>2009-10-29T14:32:51Z</updated>
        <content type="html">&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt;The talk tonight (29 Oct) at Zenika has been postoned till November due to unforeseen circumstances. I'll let you know the exact date as soon as it is confirmed. My apologies for this.&lt;/p&gt;&lt;p&gt; 

&lt;/p&gt;&lt;p /&gt;&lt;del&gt;&lt;font face=""&gt;I’ll be doing a talk about &lt;a href="http://www.zenika.com/conference/dotnet/programmation-fonctionnelle-avec-robert-pickering/"&gt;functional programming in F# at Zenika&lt;/a&gt;, this Thursday, 29th October at 19h, as part of their community program. The talk will cover what functional programming is and how a language like F# is adapted to functional programming.&lt;/font&gt;&lt;/del&gt;

&lt;p&gt;&lt;font face=""&gt;I’ll also be doing a talk at &lt;a href="http://www.epita.fr/"&gt;Epita&lt;/a&gt; with &lt;a href="http://laurent.le-brun.eu/"&gt;Laurent Le Brun&lt;/a&gt; on 12th November for the students at this college.&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;&lt;img src="http://strangelights.com/blog/aggbug/1647.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://strangelights.com/blog/comments/1647.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://strangelights.com/blog/comments/commentRss/1647.aspx</wfw:commentRss>
        <trackback:ping>http://strangelights.com/blog/services/trackbacks/1647.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Functional Programming eXchange - 7th December 2009</title>
        <link rel="alternate" type="text/html" href="http://strangelights.com/blog/archive/2009/10/25/1646.aspx" />
        <id>http://strangelights.com/blog/archive/2009/10/25/1646.aspx</id>
        <published>2009-10-25T10:56:39Z</published>
        <updated>2009-10-25T10:56:39Z</updated>
        <content type="html">&lt;p&gt;&lt;font face=""&gt;I’m very happy to announce the &lt;a href="http://skillsmatter.com/event/design-architecture/functional-programming-exchange-2009"&gt;“Functional Programming eXchange”&lt;/a&gt; which will take place in &lt;a href="http://skillsmatter.com/location-details/design-architecture/536/96"&gt;London at Skills Mater head quarters&lt;/a&gt; on the 7th December. I’ve been involved in organizing a program which will cover F#, Erlang, Scala and Haskell. The program has been designed to interested both people actively involved in functional programming in industry and working programmers with an interest in functional programming would like to learn more about how they can use these two techniques in their day job. The program will include, me, as well as:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;&lt;a href="http://www.well-typed.com/who_we_are"&gt;Duncan Coutts&lt;/a&gt; of &lt;a href="http://www.well-typed.com"&gt;Well-Typed&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://skillsmatter.com/expert-profile/design-architecture/ganesh-sittampalam"&gt;Ganesh Sittampalam&lt;/a&gt; of &lt;a href="http://www.credit-suisse.com"&gt;Credit Suisse&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://research.microsoft.com/en-us/people/antonsc/"&gt;Anton Schwaighofer&lt;/a&gt; of &lt;a href="http://research.microsoft.com"&gt;MSR&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://sadekdrobi.com"&gt;Sadek Drobi&lt;/a&gt; of &lt;a href="http://valtech.com"&gt;ValTech&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;... with more exciting speakers to be announced soon!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;Book before 30th October and you’ll be able to register for just £25, places are limited to just 125 delegates to sign up quickly for what should be an interesting, informative and fun day out of the office. &lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;&lt;img src="http://strangelights.com/blog/aggbug/1646.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://strangelights.com/blog/comments/1646.aspx</wfw:comment>
        <slash:comments>3</slash:comments>
        <wfw:commentRss>http://strangelights.com/blog/comments/commentRss/1646.aspx</wfw:commentRss>
        <trackback:ping>http://strangelights.com/blog/services/trackbacks/1646.aspx</trackback:ping>
    </entry>
    <entry>
        <title>The twits - Yet another Twitter app</title>
        <link rel="alternate" type="text/html" href="http://strangelights.com/blog/archive/2009/07/04/1645.aspx" />
        <id>http://strangelights.com/blog/archive/2009/07/04/1645.aspx</id>
        <published>2009-07-04T14:26:35Z</published>
        <updated>2009-07-04T17:31:33Z</updated>
        <content type="html">&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;Taking its name from &lt;a href="http://twitter.com"&gt;twitter&lt;/a&gt;, with a large nod towards &lt;a href="http://www.amazon.com/gp/product/014241039X?ie=UTF8&amp;amp;tag=strangelights-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=014241039X"&gt;Roald Dahl's cautionary tale&lt;/a&gt;, the twits is a twitter app that lets you visualize you network of friends on twitter. &lt;a href="http://strangelights.com/blog/downloads/thetwits.0.1.zip"&gt;It’s available to try here&lt;/a&gt;. Before we go any further you should know that this software is in alpha status, i.e. not for the fait hearted. Here’s an image of the results below. &lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;img alt="the twites" src="/blog/images/thetwits.png" /&gt;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;As you can see it does a reasonable job of separating other developers I follow from people at the guardian I follow (the coloured lines &amp;amp; text are added afterwards).&lt;o:p /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;The app is designed to run local and uses &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&amp;amp;displaylang=en"&gt;.NET 3.5&lt;/a&gt;, &lt;a href="http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/release.aspx"&gt;F#&lt;/a&gt;, and &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=10CC340B-F857-4A14-83F5-25634C3BF043&amp;amp;displaylang=en"&gt;WPF&lt;/a&gt;, if you’re running vista or win7 it’ll probably work okay out of the box, any other else and you’ll need install .NET 3.5 etc. Caveat: if you have more than about 50 friends (people you follow) it’s unlike to be able to map them all at once, first there’s the twitter API limits, then there’s the fact the algorithm is exponentially expensive in processing time and also you just won’t be able to find them on the screen. I may consider doing a &lt;a href="http://silverlight.net/"&gt;Silverlight port&lt;/a&gt;, if it becomes popular, to make it more accessible. The main idea of the app is to show off some of Collective Intelligence work, this app is another example of hierarchical clustering and also uses optimization. There’s also some interesting use of async workflows. If you want to try &lt;a href="http://github.com/robertpi/fscollintelli/tree/master"&gt;the source it’s available on git hub&lt;/a&gt;. I've lots of ideas for future version - but not much time to develop them. Licence is GPL 2.0, if you'd like that to change, lobby me. If you like it let me know!&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;&lt;font size="3"&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; The download was broken because of a missing dll, this is fixed now. Thanks to &lt;font face=""&gt;&lt;a href="http://twitter.com/samjiman"&gt;@samjiman&lt;/a&gt; for noticing.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://strangelights.com/blog/aggbug/1645.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://strangelights.com/blog/comments/1645.aspx</wfw:comment>
        <slash:comments>2</slash:comments>
        <wfw:commentRss>http://strangelights.com/blog/comments/commentRss/1645.aspx</wfw:commentRss>
        <trackback:ping>http://strangelights.com/blog/services/trackbacks/1645.aspx</trackback:ping>
    </entry>
</feed>