MapReduce
There are 2 entries for the tag MapReduce

Okay, first off, this isn't a Ruby versus C# post.  I actually find Ruby quite interesting and want to learn more: that's why I'm reading posts about it.  It's a post about how the language idioms lead you to different code designs.  This is following on from Alan Skorkin's post about writing an intersection function in a Ruby idiom.  So I thought I'd do the equivalent for Alt.Net programmers.  Neither is massively useful code: both languages already have perfectly good intersection functions in them.  This is just a bit of fun (as was Alan’s post). First let's talk about...

I finally had a light-bulb go off in my head about MapReduce.  To be honest, part of the problem with understanding it is that the implementation most of us look at (Hadoop) has a considerable amount of implementation detail visible at all times.  I'm going to try to explain some of the fundamentals behind it in terms of C#, which has two great advantages: I know it LINQ gives us a fairly decent declarative syntax for expressing algorithms declaratively. Now, as everyone knows, Map and Reduce are lisp terms for project and aggregation respectively.  In LINQ, these are...