tomwhite's blog
"Disks have become tapes"
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.
Consistent Hashing
I've bumped into consistent hashing a couple of times lately.
Hadoop + EC2 + S3
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).
Wanted: A Public Amazon EC2 AMI for Java EE
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.
jMock 2 and my Java Unit Testing Toolkit
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:
Testing for errant network connections
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.
Hamcrest
In Literate Programming with jMock I enthused about jMock's idea of constraints and flexible assertions. Now the jMock team has released version 1.0 of Hamcrest, the constraints part of jMock.
Lift Off
In a previous blog entry I mentioned a literate functional testing framework that we had developed at our company, Kizoom.
Are your beans thread-safe?
[Update: changed wording per comments to fix error.]
Affordable Web-Scale Computing Redux
In March I wrote of affordable web-scale computing:





