MapReduce is a programming model for processing vast amounts of data. One of the reasons that it works so well is because it exploits a sweet spot of modern disk drive technology trends. In essence MapReduce works by repeatedly sorting and merging data that is streamed to and from disk at the transfer rate of the disk.
I've bumped into consistent hashing a couple of times lately.
I've raved about the MapReduce parallel programming model in the past, and Apache Hadoop (the framework for running MapReduce applications), and Amazon's compute and storage webservices (EC2 and S3).
I noticed that Paul Dowman has created a Ruby on Rails AMI for use on Amazon EC2 (Amazon's rented CPU service). It allows you to fire up a fully-configured RoR environment that you deploy your application to.
The long-awaited final version of jMock 2 was released today. There are some big changes since version one. For example, you can now write
Cat cat = mock(Cat.class);
and then set expectations on the returned
cat object itself:
We kept breaking our XML catalog resolution in the course of developing an application. We would refactor the parser code, or we would upgrade a schema and forget to upgrade the catalog.
[Update: changed wording per comments to fix error.]
In March I wrote of affordable web-scale computing: