Open systems and security measurement

(For the record, yes, I know 'rooting' means something totally different in Australia... for all my 'down under' friends, the innuendo is not only not lost, it's part of what makes studying software security so much fun!)

There's a feeling amongst naïve programmers, admins, and users that being able to modify a system makes it insecure. As pointed out in an editorial on the Nexus S:


MapReduce for a real-world problem

That's all well and good in the abstract sense, but now I'll show you how to solve a real-world problem using MapReduce. With regular programming the most common starting program is 'Hello World', so we're going to write a query that looks for the string 'hello' in a database and returns all objects containing that string along with the number of times the string is found. First we'll do it with pseudo code, then we'll actually write it to query a CouchDB database built for the purpose.


Learning MapReduce

I've been busy recently reading about MapReduce in particular and solving problems in a massively parallel way in computer clusters in general. It finally dawned on me that I should be blogging this as I learn about the various technologies I'm touching.

So first an overview.

What is MapReduce?

The basic idea is this: you write two functions, map() and reduce(), that have the net effect of parsing the data in a very simple (but seemingly inefficient) way, then you run that code on each member of the cluster to parse all the data in the cluster.



Subscribe to RSS - Development