<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.atalasoft.com/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Rick Minerich's Development Wonderland : asynchronous, DHT</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/tags/asynchronous/DHT/default.aspx</link><description>Tags: asynchronous, DHT</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>F# Discoveries This Week 04/09/2010</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/09/f-discoveries-this-week-04-09-2010.aspx</link><pubDate>Fri, 09 Apr 2010 17:28:16 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:20456</guid><dc:creator>RickM</dc:creator><slash:comments>1</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/20456.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=20456</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=20456</wfw:comment><description>&lt;p&gt;With the Visual Studio 2010 launch just days away, the F# community is exploding with fury and excitement.&amp;#160; Come inside and find links to topics ranging from general programming patterns to specific algorithm implementations. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/dsyme/archive/2010/03/31/professor-robin-milner.aspx"&gt;Don Syme on the Passing of Robin Milner&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;It is with sadness that I mention the death of Professor Robin Milner, the great British computer scientist, who passed away 11 days ago.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Talbott Crowell’s &lt;a href="http://fsug.org/PreviousSpeakers/tabid/66/Default.aspx"&gt;FSUG&lt;/a&gt; Talk – &lt;a href="http://vimeo.com/10745902"&gt;F# and Silverlight&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This talk describes building Silverlight 3 applications using F#. Both Visual Studio 2008 and 2010 RC are demonstrated.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.developerfusion.com/media/79589/f-with-michael-hale/"&gt;CodeCast Episode 73: F# with Michael Hale&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;F# with Michael HaleIn this episode of CodeCast, Ken Levy interviews Michael Hale, a program manager on the F# team at Microsoft. Michael discusses what’s new in F# for both Visual Studio 2008 and Visual Studio 2010, various scenarios for functional programming with F#.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://ironjs.com/"&gt;IronJS is a Javascript implementation for the DLR written in F#&lt;/a&gt; (&lt;a href="http://github.com/fholm/ironjs"&gt;source&lt;/a&gt;)&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I just wanted to give a quick notice that I got the new compiler for IronJS to run on both .NET 2.0 and Mono 2.6 today, the goal is for IronJS to be able to run on .NET 2.0, 3.x and 4.x plus Mono 2.6&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://lorgonblog.spaces.live.com/Blog/cns!701679AD17B6D310!1842.entry"&gt;Brian McNamara’s F# async on the client side&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Though the killer app for F# async is non-blocking I/O on the server side, F# asyncs are also useful and fun to use for client-side programming on the UI thread.&amp;#160; I’ll show two small examples of F# async lets you do non-blocking loops on the UI thread.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://lorgonblog.spaces.live.com/Blog/cns!701679AD17B6D310!1847.entry"&gt;Brian McNamara’s F# async on the server side&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Last time I talked about cool ways to use F# asyncs to help write client GUIs.&amp;#160; Today I’ll talk about the killer app for F# asyncs, namely, non-blocking I/O on the server side.&amp;#160; Once again, this is material I lifted from a recent talk that Matthew Podwysocki and I gave at TechReady.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://lorgonblog.spaces.live.com/blog/cns!701679AD17B6D310!1859.entry"&gt;Brian McNamara’s Nine reasons to use F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The list is not necessarily distinct (some elements overlap) or complete (this is just a list I came up with today), and not every reason in the list will resonate with every reader.&amp;#160; But they are all ‘real’ reasons, in the sense that they’re representative of individuals or teams out in the world who are already using F# today.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://weblogs.asp.net/podwysocki/archive/2010/03/28/time-flies-like-an-arrow-in-f-and-the-reactive-extensions-for-net.aspx"&gt;Matthew Podwysocki’s Time Flies Like An Arrow in F# and the Reactive Extensions for .NET&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;h4&gt;&lt;/h4&gt;    &lt;p&gt;&lt;em&gt;Let’s take a look at what would be required for us to make the Time Flies Like an Arrow example work in F# using first class events and the Reactive Extensions for .NET on top of WPF.&amp;#160; I’ll write it in a pseudo-code to give you an idea of how it should be done.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://nomadic-developer.com/2010/04/08/f-based-discriminated-unionstructural-similarity/"&gt;Aaron Erickson’s F# Based Discriminated Union/Structural Similarity&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Imagine you have a need to take one type, which may or may not be a discriminated union, and see if it “fits” inside of another type.&amp;#160; A typical case might be whether one discriminated union case would be a possible case for a different discriminated union.&amp;#160; That is, could the structure of type A fit into the structure of type B.&amp;#160; For lack of a better word, I am calling this “structural similarity”.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://mikehadlow.blogspot.com/2010/03/functional-dependency-injection.html"&gt;Mike Hadlow’s Functional Dependency Injection == Currying&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In a functional language like F# we can do the same thing without the overhead of having to declare classes and interfaces. We can also do the same thing in C#, but it requires some jiggery-pokery, so I’m going to show you it in F#.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Neil Carrier’s &lt;a href="http://techneilogy.blogspot.com/2010/03/32-bit-computer-in-one-page-of-code.html"&gt;A 32-Bit Computer in One Page of Code&lt;/a&gt;,    &lt;br /&gt;&lt;a href="http://techneilogy.blogspot.com/2010/03/f-implementation-of-bit-based-computer.html"&gt;F# Implementation of Bit-Based Computer&lt;/a&gt;,    &lt;br /&gt;&lt;a href="http://techneilogy.blogspot.com/2010/03/bit-computer-addition.html"&gt;Bit Computer Addition&lt;/a&gt; and &lt;a href="http://techneilogy.blogspot.com/2010/03/knuths-bit-operators-in-f.html"&gt;Bit Operations from TAoCP in F#&lt;/a&gt;, &lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I want to depart from the lofty world of semantic networks for a few posts, in order to investigate the world of bit-based computers. By bit-based computer, I mean one in which the entire state of the computer is based on an ordered set of bits. The computer I describe below was suggested by &lt;/em&gt;&lt;em&gt;Digi-Comp I&lt;/em&gt;&lt;em&gt;, a classic bit-based computer made almost entirely of plastic, but mine is based on a somewhat different design.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Neil Carrier’s &lt;a href="http://techneilogy.blogspot.com/2010/03/estimable-item-175.html"&gt;The Estimable Item 175&lt;/a&gt; and &lt;a href="http://techneilogy.blogspot.com/2010/04/having-looked-at-hakmem-item-175-gosper.html"&gt;Item 175 At Large&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This example illustrates a famous “Gosper hack.” There is apparently some controversy over which Gosper hack merits the title THE Gosper hack. Often that title goes to MIT A.I. Laboratory HAKMEM Item 145. The code below is based on Gosper hack 175 from the same document, which is the one Knuth mentions.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Neil Carrier’s &lt;a href="http://techneilogy.blogspot.com/2010/04/easter.html"&gt;Easter (Practical Astronomy With Your Calculator)&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://techneilogy.blogspot.com/2010/04/easter.html"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;In honor of the day, I present the following short program for calculating the date of Easter. The method is from Butcher's Ecclesiastical Calendar (1876). I present it in the form given in Peter Duffett-Smith's Practical Astronomy With Your Calculator (Cambridge 1981, the 1988 version is still available from Amazon, et al).&lt;/em&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Neil Carrier’s &lt;a href="http://techneilogy.blogspot.com/2010/04/search-routines-continued.html"&gt;Search Routines, Continued&lt;/a&gt; and &lt;a href="http://techneilogy.blogspot.com/2010/04/improved-canonical-search.html"&gt;Improved Canonical Search&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In the meantime, here is a first try at general purpose depth/breadth-first search routine. It's not really generic yet, being based on a specific data structure. However, my goal is, over the next few days, to turn it into a nice generic search routine that I can use in a number of applications.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://lepensemoi.free.fr/index.php/2010/04/03/technical-analysis-indicators-in-f-oscillators"&gt;Julien Ortin’s Technical analysis indicators in F# – Oscillators&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The articles of this series are being updated as the series expand. In particular : corrections were made to errors in the algorithms (an example use sample will be published to show what has been checked against either a spreadsheet application or TA-Lib) and modification of the meta information.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://lepensemoi.free.fr/index.php/2010/03/27/technical-analysis-indicators-in-f-moving-averages"&gt;Julien Ortin’s Technical analysis indicators in F# – Moving Averages&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This is part of a series on technical analysis indicators in F#, based on the multi-language TA-Lib.&amp;#160; Quick disclaimer : some of these indicators are not verified.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Daniel Mohl’s &lt;a href="http://bloggemdano.blogspot.com/2010/04/net-remoting-in-f-start-to-distributed.html"&gt;.NET Remoting in F#: A Start to Distributed a Hash Table (DHT)&lt;/a&gt; and &lt;a href="http://bloggemdano.blogspot.com/2010/04/distributed-hash-table-dht-in-f-moving.html"&gt;A Distributed Hash Table (DHT) in F#: Moving from .NET Remoting to WCF&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In my last post I provided a start to a distributed hash table (DHT) using F#, the Chord protocol, and .NET remoting.&amp;#160; In this post, I'll show how that code has changed due to a migration from .NET remoting to WCF.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://rogeralsing.com/2010/03/26/f-gold-parser-true/"&gt;Roger Alsing’s F# + Gold Parser = true&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;First of all, I have to confess that I’ve started to see the light of F# and AST manipulation.&amp;#160; Anyway, I’ve created a F# skeleton template for Gold Parser and the Calitha .NET engine.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.codingday.com/random-number-generation-with-rng"&gt;Can Erten’s Random number Generation with RNG&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I would like to mention a question that posed on stackoverflow a year back, with a slight change: Given a function which produces a random integer in the range 0 to 4, write a function which produces a random integer in the range 0 to 6. &lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://v2matveev.blogspot.com/2010/03/f-and-handling-aspnet-requests.html"&gt;Vladimir Matveev’s F# and handling ASP.NET requests&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Objective was the following: implement simple socket based application that will listen specified port, parse incoming HTTP requests (extract uri from request treating it as file) and return content of specified file. Roughly speaking it should be primitive http server.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Vladimir Matveev’s &lt;a href="http://v2matveev.blogspot.com/2010/03/evoked-by-of-parallel-programming-part.html"&gt;Evoked by &amp;quot;Patterns of Parallel Programming&amp;quot; (part 1)&lt;/a&gt; and &lt;a href="http://v2matveev.blogspot.com/2010/04/evoking-by-of-parallel-programming-11.html"&gt;Evoking by &amp;quot;Patterns of Parallel Programming&amp;quot; 1.1&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;One section in excellent article &amp;quot;Patterns of Parallel Programming&amp;quot; is dedicated to idiom &amp;quot;Speculative processing&amp;quot;. In brief we can start multiple computation in parallel (utilizing advantages of multiple cores), take first result and ignore others. Unfortunatly F# library doesn't provide builtin primitive for this strategy.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://csut017.wordpress.com/2010/04/08/cruisecontrol-net-and-f/"&gt;From the CCNET Blog: CruiseControl.NET and F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I’ve been writing some documentation on building plug-ins and recently I expanded it to include some Visual Basic examples. That got me thinking, what other languages can we build plug-ins in? So I thought I’d give it a quick try in one of the new fangled languages that people are raving about – F#.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/ee336127.aspx"&gt;Chris Marinos’ An Introduction to Functional Programming for .NET Developers&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;But in order for you to take advantage of all of these fantastic features of F#, you need to understand the basics. In this article, I’ll explain these concepts using vocabulary that you are already familiar with as a .NET developer. I will also show you some functional programming techniques that you can apply to your existing code and some ways in which you are already programming functionally.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://dotnetslackers.com/articles/net/Imperative-Programming-in-F-Sharp.aspx"&gt;Imperative Programming in F# (From F# in Action)&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This article is taken from the book F# in Action. The authors discuss basics of imperative programming in F# and develop a simple application to show how this type of programming works. They also feature some of the interoperability among languages on .NET platform.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://46apples.blogspot.com/2010/03/introducing-f.html"&gt;Wayne Delport’s Introducing F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The purpose of this article is to introduce you to the F# language - what it is, it's origins, and how it fits into Visual Studio 2010 RC.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.itwriting.com/blog/2443-anders-hejlsberg-on-functional-programming-programming-futures.html"&gt;Anders Hejlsberg on functional programming, programming futures&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;I will not try and summarise [sic] the whole talk here; but will bring out its unifying thought, which is that programming is moving towards a style that emphasises [sic] the “what” rather than the “how” of the tasks it encodes.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;   &lt;blockquote&gt;     &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;   &lt;/blockquote&gt; &lt;/p&gt;  &lt;h3&gt;&lt;a href="http://geekswithblogs.net/mroberts/archive/2010/04/07/f-simple-twitter-update.aspx"&gt;Mike Roberts’ F# Simple Twitter Update&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;A short while ago I posted some code for a C# twitter update.&amp;#160; I decided to move the same functionality / logic to F#.&amp;#160; Here is what I came up with.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://world.episerver.com/Blogs/Enes-Bajramovic/Dates/2010/3/Yet-another-page-provider-but-in-F/"&gt;Enes Bajramovic’s Yet another page provider but in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Since the best way to learn programming language is to use it, I tought I could port the EPiServer XmlPageProvider to F#. FSharpPageProvider&amp;#160; is my first attempt to accomplish that.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://fsharpcode.blogspot.com/2010/03/generic-monadic-map-and-join-using.html"&gt;From The “F# Code” Blog: Generic Monadic Map and Join using statically resolved type variables&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;A demonstration of how the inline keyword and statically resolved type variables allow for much more robust type inference.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/09/f-discoveries-this-week-04-09-2010.aspx&amp;amp;;subject=F%23+Discoveries+This+Week+04%2f09%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/09/f-discoveries-this-week-04-09-2010.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/09/f-discoveries-this-week-04-09-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+04%2f09%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/09/f-discoveries-this-week-04-09-2010.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/09/f-discoveries-this-week-04-09-2010.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/09/f-discoveries-this-week-04-09-2010.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/09/f-discoveries-this-week-04-09-2010.aspx&amp;amp;title=F%23+Discoveries+This+Week+04%2f09%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/09/f-discoveries-this-week-04-09-2010.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/09/f-discoveries-this-week-04-09-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+04%2f09%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/09/f-discoveries-this-week-04-09-2010.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/09/f-discoveries-this-week-04-09-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+04%2f09%2f2010&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/09/f-discoveries-this-week-04-09-2010.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=20456" width="1" height="1"&gt;</description><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/F_2300_/default.aspx">F#</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/asp.net/default.aspx">asp.net</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/fsharp/default.aspx">fsharp</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/roundup/default.aspx">roundup</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/parser/default.aspx">parser</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/fsug/default.aspx">fsug</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/type+inference/default.aspx">type inference</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/currying/default.aspx">currying</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/computer+science/default.aspx">computer science</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/asynchronous/default.aspx">asynchronous</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/discriminated+unions/default.aspx">discriminated unions</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/reactive+extensions/default.aspx">reactive extensions</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/parallel/default.aspx">parallel</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/IronJS/default.aspx">IronJS</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/technical+analysis/default.aspx">technical analysis</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/imperative/default.aspx">imperative</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/DHT/default.aspx">DHT</category></item></channel></rss>