Bloodlands: Europe Between Hitler and Stalin by Timothy Snyder Basic Books, October 2010
Timothy Snyder's Bloodlands is a lucid, humane, and moving account of the history of the region - rather than of a single country - between Hitler's Germany and Stalin's Soviet Union, written with new information from formerly classified archives and rich with individual accounts of the consequences of horror perpetrated in these lands from both directions. Snyder proceeds from individual stories of the tragedies of the "Bloodlands" between Germany and the Soviet Union, and then he multiplies those stories by the millions who were killed due to policies of famine and mass starvation, death camps, deportations, hard labor, gassings, and executions.
Path-breaking and often courageous, Timothy Snyder’s account of the methods and motives of murderous regimes, both at home and in foreign war, will radically revise our appreciation of the implications of mass extermination in the recent past. Bloodlands – impeccably researched and appropriately sensitive to its volatile material – is the most important book to appear on this subject for decades and will surely become the reference in its field. -Tony Judt
Combining formidable linguistic and detective skills with a fine sense of impartiality, [Snyder] tackles vital quesitons which have deterred less courageous historians: Where and when were the largest casualties inflicted? Who were the perpetrators, and which ethnic and national groups were victimized? How can one calculate and verify the numbers? This is a book which will force its readers to rethink history. -Norman Davies
\")");*/
//if(securityError == 0){
if (errors) {
alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = false
//return false
//document.MM_returnValue = (errors == '');
}else{
//return true
document.MM_returnValue = true
}
//}else{
//document.MM_returnValue = false
//}
}
function processCaptcha(){
args1=processCaptcha.arguments;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
var http = new ActiveXObject("Microsoft.XMLHTTP");
}else{
var http = new XMLHttpRequest();
}
//valStr = validationString
process();
var nocache = 0;
function process(){
var urlchallenge= Recaptcha.get_challenge();
var urlresponse= Recaptcha.get_response();
nocache = Math.random();
http.open('get', 'captcha.cfm?challenge='+urlchallenge+'&response='+urlresponse+'&nocache='+nocache);
http.onreadystatechange = insertReply;
http.send(null);
}
function insertReply(){
if(http.readyState == 4){
document.getElementById("content").innerHTML = http.responseText
var response = http.responseText;
var validCheck = response.match('security');
if (validCheck >= 0){
//validate other fields
var i,p,q,nm,test,num,min,max,errors='';
for (i=0; i<(args1.length-2); i+=3) {
test=args1[i+2]; val=MM_findObj(args1[i]);
if (val) {
nm=args1[i];
if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) {
p=val.indexOf('@');
if (p<1 || p==(val.length-1))
errors+='- '+document.getElementById("error" + nm.substring(nm.length-1,nm.length)).innerHTML+' must contain an e-mail address.\n';
} else
if (test!='R') {
num = parseFloat(val);
if (isNaN(val))
errors+='- '+document.getElementById("error" + nm.substring(nm.length-1,nm.length)).innerHTML+' must contain a number.\n';
if (test.indexOf('inRange') != -1) {
p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if ( min > num || max < num)
errors+='- '+document.getElementById("error" + nm.substring(nm.length-1,nm.length)).innerHTML+' must contain a number between '+min+' and '+max+'.\n';
}
}
}else
if (test.charAt(0) == 'R'){
errors += '- '+document.getElementById("error" + nm.substring(nm.length-1,nm.length)).innerHTML+' is required.\n';
}
}
}
//end of valiadting field
// if errors then show errors otherwise submit.
if (errors) {
alert('The following error(s) occurred:\n'+errors);
Recaptcha.reload();
}else{
document.surveyform.submit();
}
//var ret = MM_validateForm(valStr)
//document.getElementById("surveyform").onSubmit=function(){MM_validateForm(valStr);return document.MM_returnValue};
//document.surveyform.submit();
//alert(ret)
}else{
Recaptcha.reload();
}
}
}
}
function pausecomp(millis)
{
var date = new Date();
var curDate = null;
do { curDate = new Date(); }
while(curDate-date < millis);
}
//-->