/*
* Plugin Name: APCu Object Cache
* Description: APCu backend for the WP Object Cache.
* Based on Plugin named APCu Object Cache Backend
* Plugin URI: https://wordpress.org/plugins/apcu/
* Author: Pierre Schmitz
* Author URI: https://pierre-schmitz.com/
* Plugin URI: https://wordpress.org/plugins/apcu/
*
*
* @Authors James Dugger, Jonathan Bardo
* @copyright 2017 GoDaddy Inc. 14455 N. Hayden Road Scottsdale, Arizona
*/
$oc_logged_in = false;
foreach ( $_COOKIE as $k => $v ) {
if ( preg_match( '/^comment_author|wordpress_logged_in_[a-f0-9]+|woocommerce_items_in_cart|PHPSESSID_|edd_wp_session|edd_items_in_cartcc_cart_key|ccm_token/', $k ) ) {
$oc_logged_in = true;
break;
}
}
$oc_blocked_page = ( defined( 'WP_ADMIN' ) || defined( 'DOING_AJAX' ) || defined( 'XMLRPC_REQUEST' ) || 'wp-login.php' === basename( $_SERVER['SCRIPT_FILENAME'] ) );
function wpaas_is_using_apcu() {
return version_compare( PHP_VERSION, '5.6.0', '>=' ) && function_exists( 'apcu_fetch' );
}
if ( 'cli' !== php_sapi_name() && ! $oc_logged_in && ! $oc_blocked_page && wpaas_is_using_apcu() ) :
/**
* Save the transients to the DB. The explanation is a bit too long
* for code. The tl;dr of it is that we don't have a single 'fast cache'
* source yet (like memcached) and so some long lived items like transients
* are still best cached in the db and then brought back into APC
*
* @param string $transient
* @param mixed $value
* @param int $expire
* @param boolean $site = false
*
* @return bool
*/
function wpaas_save_transient( $transient, $value, $expire, $site = false ) {
global $wp_object_cache, $wpdb;
// The 'special' transient option names
$transient_timeout = ( $site ? '_site' : '' ) . '_transient_timeout_' . $transient;
$transient = ( $site ? '_site' : '' ) . '_transient_' . $transient;
// Cap expiration at 24 hours to avoid littering the DB
if ( $expire == 0 ) {
$expire = 24 * 60 * 60;
}
// Save to object cache
$wp_object_cache->set( $transient, $value, 'options', $expire );
$wp_object_cache->set( $transient_timeout, time() + $expire, 'options', $expire );
// Update alloptions
$alloptions = $wp_object_cache->get( 'alloptions', 'options' );
$alloptions[ $transient ] = $value;
$alloptions[ $transient_timeout ] = time() + $expire;
$wp_object_cache->set( 'alloptions', $alloptions, 'options' );
// Use the normal update option logic
if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) {
$flag = $wpdb->suppress_errors;
$wpdb->suppress_errors( true );
if ( $site && is_multisite() ) {
$wpdb->query(
$wpdb->prepare(
"INSERT INTO `{$wpdb->sitemeta}` ( `option_name`, `option_value`, `autoload` ) VALUES ( %s, UNIX_TIMESTAMP( NOW() ) + %d, 'yes' ) ON DUPLICATE KEY UPDATE `option_name` = VALUES ( `option_name` ), `option_value` = VALUES ( `option_value` ), `autoload` = VALUES ( `autoload` );",
$transient_timeout,
$expire
)
);
$wpdb->query(
$wpdb->prepare(
"INSERT INTO `{$wpdb->sitemeta}` ( `option_name`, `option_value`, `autoload` ) VALUES ( %s, %s, 'no' ) ON DUPLICATE KEY UPDATE `option_name` = VALUES ( `option_name` ), `option_value` = VALUES ( `option_value` ), `autoload` = VALUES ( `autoload` );",
$transient,
maybe_serialize( $value )
)
);
} else {
$wpdb->query(
$wpdb->prepare(
"INSERT INTO `{$wpdb->options}` (`option_name`, `option_value`, `autoload`) VALUES ( %s, UNIX_TIMESTAMP( NOW() ) + %d, 'yes' ) ON DUPLICATE KEY UPDATE `option_name` = VALUES ( `option_name` ), `option_value` = VALUES ( `option_value` ), `autoload` = VALUES ( `autoload` );",
$transient_timeout,
$expire
)
);
$wpdb->query(
$wpdb->prepare(
"INSERT INTO `{$wpdb->options}` (`option_name`, `option_value`, `autoload`) VALUES ( %s, %s, 'no' ) ON DUPLICATE KEY UPDATE `option_name` = VALUES ( `option_name` ), `option_value` = VALUES ( `option_value` ), `autoload` = VALUES ( `autoload` );",
$transient,
maybe_serialize( $value )
)
);
}
$wpdb->suppress_errors( $flag );
}
return true;
}
function wpaas_prune_transients() {
global $wpdb;
if ( ! empty( $wpdb ) && $wpdb instanceof wpdb && function_exists( 'is_main_site' ) && function_exists( 'is_main_network' ) ) {
$flag = $wpdb->suppress_errors;
$wpdb->suppress_errors( true );
// Lifted straight from schema.php
// Deletes all expired transients.
// The multi-table delete syntax is used to delete the transient record from table a,
// and the corresponding transient_timeout record from table b.
$time = time();
$wpdb->query( "DELETE a, b FROM $wpdb->options a, $wpdb->options b WHERE
a.option_name LIKE '\_transient\_%' AND
a.option_name NOT LIKE '\_transient\_timeout\_%' AND
b.option_name = CONCAT( '_transient_timeout_', SUBSTRING( a.option_name, 12 ) )
AND b.option_value < $time" );
if ( is_main_site() && is_main_network() ) {
$wpdb->query( "DELETE a, b FROM $wpdb->options a, $wpdb->options b WHERE
a.option_name LIKE '\_site\_transient\_%' AND
a.option_name NOT LIKE '\_site\_transient\_timeout\_%' AND
b.option_name = CONCAT( '_site_transient_timeout_', SUBSTRING( a.option_name, 17 ) )
AND b.option_value < $time" );
}
$wpdb->suppress_errors( $flag );
}
}
/**
* If another cache was flushed or updated, sync across all servers / processes using
* the database as the authority. This uses the database as the authority for timestamps
* as well to avoid drift between servers.
* @return void
*/
function wpaas_init_sync_cache() {
global $wpdb;
if ( empty( $wpdb ) || ! ( $wpdb instanceof wpdb ) ) {
return;
}
$flag = $wpdb->suppress_errors;
$wpdb->suppress_errors( true );
$result = $wpdb->get_results(
"SELECT option_name, option_value FROM `{$wpdb->options}` WHERE option_name = 'gd_system_last_cache_flush' UNION SELECT 'current_time', UNIX_TIMESTAMP( NOW() ) AS option_value;",
ARRAY_A
);
$wpdb->suppress_errors( $flag );
if ( empty( $result ) ) {
return;
}
$master_flush = false;
foreach ( $result as $row ) {
switch ( $row['option_name'] ) {
case 'current_time' :
$current_time = $row['option_value'];
break;
case 'gd_system_last_cache_flush' :
$master_flush = $row['option_value'];
break;
}
}
$local_flush = wp_cache_get( 'gd_system_last_cache_flush' );
if ( false === $local_flush || $local_flush < $master_flush ) {
wp_cache_flush( true );
wp_cache_set( 'gd_system_last_cache_flush', $current_time );
}
}
/**
* Start default implementation of object cache
*/
if ( ! defined( 'WP_APC_KEY_SALT' ) ) {
define( 'WP_APC_KEY_SALT', '' );
}
function wp_cache_add( $key, $data, $group = '', $expire = 0 ) {
global $wp_object_cache;
if ( 'transient' == $group ) {
wpaas_save_transient( $key, $data, $expire );
return $wp_object_cache->add( "_transient_$key", $data, 'options', $expire );
} elseif ( 'site-transient' == $group ) {
wpaas_save_transient( $key, $data, $expire, true );
return $wp_object_cache->add( "_site_transient_$key", $data, 'site-options', $expire );
} else {
return $wp_object_cache->add( $key, $data, $group, $expire );
}
}
function wp_cache_incr( $key, $n = 1, $group = '' ) {
global $wp_object_cache;
return $wp_object_cache->incr2( $key, $n, $group );
}
function wp_cache_decr( $key, $n = 1, $group = '' ) {
global $wp_object_cache;
return $wp_object_cache->decr( $key, $n, $group );
}
function wp_cache_close() {
return true;
}
function wp_cache_delete( $key, $group = '' ) {
global $wp_object_cache, $wpdb;
if ( 'transient' == $group ) {
if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) {
$flag = $wpdb->suppress_errors;
$wpdb->suppress_errors( true );
$wpdb->query(
$wpdb->prepare(
"DELETE FROM `{$wpdb->prefix}options` WHERE option_name IN ( %s, %s );",
"_transient_{$key}",
"_transient_timeout_{$key}"
)
);
$wpdb->suppress_errors( $flag );
}
$wp_object_cache->delete( "_transient_timeout_$key", 'options' );
// Update alloptions
$alloptions = $wp_object_cache->get( 'alloptions', 'options' );
unset( $alloptions["_transient_$key"] );
unset( $alloptions["_transient_timeout_$key"] );
$wp_object_cache->set( 'alloptions', $alloptions, 'options' );
return $wp_object_cache->delete( "_transient_$key", 'options' );
} elseif ( 'site-transient' == $group ) {
if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) {
$table = $wpdb->options;
if ( is_multisite() ) {
$table = $wpdb->sitemeta;
}
$flag = $wpdb->suppress_errors;
$wpdb->suppress_errors( true );
$wpdb->query(
$wpdb->prepare(
"DELETE FROM `{$table}` WHERE option_name IN ( %s, %s );",
"_transient_{$key}",
"_transient_timeout_{$key}"
)
);
$wpdb->suppress_errors( $flag );
}
$wp_object_cache->delete( "_transient_timeout_$key", 'site-options' );
// Update alloptions
$alloptions = $wp_object_cache->get( 'alloptions', 'options' );
unset( $alloptions["_site_transient_$key"] );
unset( $alloptions["_site_transient_timeout_$key"] );
$wp_object_cache->set( 'alloptions', $alloptions, 'options' );
return $wp_object_cache->delete( "_site_transient_$key", 'site-options' );
}
return $wp_object_cache->delete( $key, $group );
}
function wp_cache_flush( $local_flush = false ) {
global $wp_object_cache, $wpdb;
if ( ! $local_flush ) {
if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) {
$flag = $wpdb->suppress_errors;
$wpdb->suppress_errors( true );
$wpdb->query( "INSERT INTO `{$wpdb->options}` (`option_name`, `option_value`, `autoload`) VALUES ( 'gd_system_last_cache_flush', UNIX_TIMESTAMP( NOW() ), 'no' ) ON DUPLICATE KEY UPDATE `option_name` = VALUES ( `option_name` ), `option_value` = VALUES ( `option_value` ), `autoload` = VALUES ( `autoload` );" );
$wpdb->suppress_errors( $flag );
}
}
return $wp_object_cache->flush();
}
function wp_cache_get( $key, $group = '', $force = false ) {
global $wp_object_cache, $wpdb;
if ( 'transient' == $group ) {
$alloptions = $wp_object_cache->get( 'alloptions', 'options' );
if ( isset( $alloptions["_transient_$key"] ) && isset( $alloptions["_transient_timeout_$key"] ) && $alloptions["_transient_timeout_$key"] > time() ) {
return maybe_unserialize( $alloptions["_transient_$key"] );
}
$transient = $wp_object_cache->get( "_transient_$key", 'options', $force );
$timeout = $wp_object_cache->get( "_transient_timeout_$key", 'options', $force );
if ( false !== $transient && ! empty( $timeout ) && $timeout > time() ) {
return maybe_unserialize( $transient );
}
if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) {
$flag = $wpdb->suppress_errors;
$wpdb->suppress_errors( true );
$result = $wpdb->get_results(
$wpdb->prepare(
"SELECT option_name, option_value FROM `{$wpdb->options}` WHERE option_name IN ( %s, %s ) UNION SELECT 'current_time', UNIX_TIMESTAMP( NOW() ) AS option_value;",
"_transient_{$key}",
"_transient_timeout_{$key}"
),
ARRAY_A
);
$wpdb->suppress_errors( $flag );
if ( ! empty( $result ) ) {
$transient = false;
$timeout = false;
$current_time = time();
foreach ( $result as $row ) {
switch ( $row['option_name'] ) {
case "_transient_$key" :
$transient = $row['option_value'];
break;
case "_transient_timeout_$key" :
$timeout = $row['option_value'];
break;
case 'current_time' :
$current_time = $row['option_value'];
break;
}
}
if ( false !== $transient && ! empty( $timeout ) && $timeout > $current_time ) {
return maybe_unserialize( $transient );
}
}
}
return false;
} elseif ( 'site-transient' == $group ) {
$transient = $wp_object_cache->get( "_site_transient_$key", 'options', $force );
$timeout = $wp_object_cache->get( "_site_transient_timeout_$key", 'options', $force );
if ( false !== $transient && ! empty( $timeout ) && $timeout > time() ) {
return maybe_unserialize( $transient );
}
if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) {
$table = $wpdb->options;
if ( is_multisite() ) {
$table = $wpdb->sitemeta;
}
$flag = $wpdb->suppress_errors;
$wpdb->suppress_errors( true );
$result = $wpdb->get_results(
$wpdb->prepare(
"SELECT option_name, option_value FROM `{$table}` WHERE option_name IN ( %s, %s ) UNION SELECT 'current_time', UNIX_TIMESTAMP( NOW() ) AS option_value;",
"_site_transient_{$key}",
"_site_transient_timeout_{$key}"
),
ARRAY_A
);
$wpdb->suppress_errors( $flag );
if ( ! empty( $result ) ) {
$transient = false;
$timeout = false;
$current_time = time();
foreach ( $result as $row ) {
switch ( $row['option_name'] ) {
case "_site_transient_$key" :
$transient = $row['option_value'];
break;
case "_site_transient_timeout_$key" :
$timeout = $row['option_value'];
break;
case 'current_time' :
$current_time = $row['option_value'];
break;
}
}
if ( false !== $transient && ! empty( $timeout ) && $timeout > $current_time ) {
return maybe_unserialize( $transient );
}
}
}
return false;
} else {
return $wp_object_cache->get( $key, $group, $force );
}
}
function wp_cache_init() {
global $wp_object_cache;
if ( mt_rand( 1, 100 ) == 42 ) {
wpaas_prune_transients();
}
add_action( 'muplugins_loaded', 'wpaas_init_sync_cache' );
$wp_object_cache = new APCu_Object_Cache();
}
function wp_cache_replace( $key, $data, $group = '', $expire = 0 ) {
global $wp_object_cache;
return $wp_object_cache->replace( $key, $data, $group, $expire );
}
function wp_cache_set( $key, $data, $group = '', $expire = 0 ) {
global $wp_object_cache;
if ( defined( 'WP_INSTALLING' ) == false ) {
if ( 'transient' == $group ) {
return wpaas_save_transient( $key, $data, $expire );
} elseif ( 'site-transient' == $group ) {
return wpaas_save_transient( $key, $data, $expire, true );
} else {
return $wp_object_cache->set( $key, $data, $group, $expire );
}
} else {
return $wp_object_cache->delete( $key, $group );
}
}
function wp_cache_switch_to_blog( $blog_id ) {
global $wp_object_cache;
return $wp_object_cache->switch_to_blog( $blog_id );
}
function wp_cache_add_global_groups( $groups ) {
global $wp_object_cache;
$wp_object_cache->add_global_groups( $groups );
}
function wp_cache_add_non_persistent_groups( $groups ) {
global $wp_object_cache;
$wp_object_cache->add_non_persistent_groups( $groups );
}
class GD_APCu_Object_Cache {
private $prefix = '';
private $local_cache = array();
private $global_groups = array();
private $non_persistent_groups = array();
private $multisite = false;
private $blog_prefix = '';
public function __construct() {
global $table_prefix;
$this->multisite = is_multisite();
$this->blog_prefix = $this->multisite ? get_current_blog_id() . ':' : '';
$this->prefix = DB_HOST . '.' . DB_NAME . '.' . $table_prefix;
}
private function get_group( $group ) {
return empty( $group ) ? 'default' : $group;
}
private function get_key( $group, $key ) {
if ( $this->multisite && ! isset( $this->global_groups[ $group ] ) ) {
return $this->prefix . '.' . $group . '.' . $this->blog_prefix . ':' . $key;
} else {
return $this->prefix . '.' . $group . '.' . $key;
}
}
public function add( $key, $data, $group = 'default', $expire = 0 ) {
$group = $this->get_group( $group );
$key = $this->get_key( $group, $key );
if ( function_exists( 'wp_suspend_cache_addition' ) && wp_suspend_cache_addition() ) {
return false;
}
if ( isset( $this->local_cache[ $group ][ $key ] ) ) {
return false;
}
// FIXME: Somehow apcu_add does not return false if key already exists
if ( ! isset( $this->non_persistent_groups[ $group ] ) && apcu_exists( $key ) ) {
return false;
}
if ( is_object( $data ) ) {
$this->local_cache[ $group ][ $key ] = clone $data;
} else {
$this->local_cache[ $group ][ $key ] = $data;
}
if ( ! isset( $this->non_persistent_groups[ $group ] ) ) {
return apcu_add( $key, $data, (int) $expire );
}
return true;
}
public function add_global_groups( $groups ) {
if ( is_array( $groups ) ) {
foreach ( $groups as $group ) {
$this->global_groups[ $group ] = true;
}
} else {
$this->global_groups[ $groups ] = true;
}
}
public function add_non_persistent_groups( $groups ) {
if ( is_array( $groups ) ) {
foreach ( $groups as $group ) {
$this->non_persistent_groups[ $group ] = true;
}
} else {
$this->non_persistent_groups[ $groups ] = true;
}
}
public function decr( $key, $offset = 1, $group = 'default' ) {
if ( $offset < 0 ) {
return $this->incr( $key, abs( $offset ), $group );
}
$group = $this->get_group( $group );
$key = $this->get_key( $group, $key );
if ( isset( $this->local_cache[ $group ][ $key ] ) && $this->local_cache[ $group ][ $key ] - $offset >= 0 ) {
$this->local_cache[ $group ][ $key ] -= $offset;
} else {
$this->local_cache[ $group ][ $key ] = 0;
}
if ( isset( $this->non_persistent_groups[ $group ] ) ) {
return $this->local_cache[ $group ][ $key ];
} else {
$value = apcu_dec( $key, $offset );
if ( $value < 0 ) {
apcu_store( $key, 0 );
return 0;
}
return $value;
}
}
public function delete( $key, $group = 'default', $force = false ) {
$group = $this->get_group( $group );
$key = $this->get_key( $group, $key );
unset( $this->local_cache[ $group ][ $key ] );
if ( ! isset( $this->non_persistent_groups[ $group ] ) ) {
return apcu_delete( $key );
}
return true;
}
public function flush() {
$this->local_cache = array();
// TODO: only clear our own entries
apcu_clear_cache();
return true;
}
public function get( $key, $group = 'default', $force = false, &$found = null ) {
$group = $this->get_group( $group );
$key = $this->get_key( $group, $key );
if ( ! $force && isset( $this->local_cache[ $group ][ $key ] ) ) {
$found = true;
if ( is_object( $this->local_cache[ $group ][ $key ] ) ) {
return clone $this->local_cache[ $group ][ $key ];
} else {
return $this->local_cache[ $group ][ $key ];
}
} elseif ( isset( $this->non_persistent_groups[ $group ] ) ) {
$found = false;
return false;
} else {
$value = @apcu_fetch( $key, $found );
if ( $found ) {
if ( $force ) {
$this->local_cache[ $group ][ $key ] = $value;
}
return $value;
} else {
return false;
}
}
}
public function incr2( $key, $offset = 1, $group = 'default' ) {
if ( $offset < 0 ) {
return $this->decr( $key, abs( $offset ), $group );
}
$group = $this->get_group( $group );
$key = $this->get_key( $group, $key );
if ( isset( $this->local_cache[ $group ][ $key ] ) && $this->local_cache[ $group ][ $key ] + $offset >= 0 ) {
$this->local_cache[ $group ][ $key ] += $offset;
} else {
$this->local_cache[ $group ][ $key ] = 0;
}
if ( isset( $this->non_persistent_groups[ $group ] ) ) {
return $this->local_cache[ $group ][ $key ];
} else if ( function_exists( 'apcu_inc' ) ) {
$value = apcu_inc( $key, $offset );
if ( $value < 0 ) {
apcu_store( $key, 0 );
return 0;
}
return $value;
}
return false;
}
public function replace( $key, $data, $group = 'default', $expire = 0 ) {
$group = $this->get_group( $group );
$key = $this->get_key( $group, $key );
if ( isset( $this->non_persistent_groups[ $group ] ) ) {
if ( ! isset( $this->local_cache[ $group ][ $key ] ) ) {
return false;
}
} else {
if ( ! isset( $this->local_cache[ $group ][ $key ] ) && ! apcu_exists( $key ) ) {
return false;
}
apcu_store( $key, $data, (int) $expire );
}
if ( is_object( $data ) ) {
$this->local_cache[ $group ][ $key ] = clone $data;
} else {
$this->local_cache[ $group ][ $key ] = $data;
}
return true;
}
public function reset() {
// This function is deprecated as of WordPress 3.5
// Be safe and flush the cache if this function is still used
$this->flush();
}
public function set( $key, $data, $group = 'default', $expire = 0 ) {
$group = $this->get_group( $group );
$key = $this->get_key( $group, $key );
if ( is_object( $data ) ) {
$this->local_cache[ $group ][ $key ] = clone $data;
} else {
$this->local_cache[ $group ][ $key ] = $data;
}
if ( ! isset( $this->non_persistent_groups[ $group ] ) ) {
return apcu_store( $key, $data, (int) $expire );
}
return true;
}
public function stats() {
// Only implemented because the default cache class provides this.
// This method is never called.
echo '';
}
public function switch_to_blog( $blog_id ) {
$this->blog_prefix = $this->multisite ? $blog_id . ':' : '';
}
}
if ( function_exists( 'apcu_inc' ) ) {
class APCu_Object_Cache extends GD_APCu_Object_Cache {
function incr( $key, $offset = 1, $group = 'default' ) {
return parent::incr2( $key, $offset, $group );
}
}
} else {
class APCu_Object_Cache extends GD_APCu_Object_Cache {
// Blank
}
}
endif;
Warning: Cannot modify header information - headers already sent by (output started at /usr/hosting/oldpics.net/html/wp-content/object-cache.php:1) in /usr/hosting/oldpics.net/html/wp-includes/feed-rss2.php on line 8
Сообщение Lee Miller in the bathroom of Adolf Hitler появились сначала на Old Pictures.
]]>“Lee and I found an elderly gentleman who barely spoke English, gave him a box of cigarettes, and said, ‘Show us Munich,’” Sherman recalled in a 1993 interview. “He showed us around Hitler’s house, and I photographed Lee washing in Hitler’s bathroom.”
Miller and Sherman lived in the apartment of Adolf Hitler for several days. After that, they even squatted in the house of Eva Braun, which was located nearby.
The photo of Lee Miller taking a bath in the Fuhrer’s apartment caused a flurry of indignation. Many considered the photographers’ behavior unethical. Lee Miller’s son, Anthony Penrose, commenting on the image, said: “Her boots covered in Dachau mud are on the floor are. She says she is a winner. But what she didn’t know was that a few hours later in Berlin, Hitler and Eva Braun would kill themselves in a bunker. ”
Many people noticed that Hitler decorated the bathroom with his own portrait and a classic statue of a woman. The New York Times described the photograph as “A woman caught between horror and beauty.” However, some researchers have interpreted the image more deeply, arguing that there is no single accidental detail in it. The pollution of Hitler’s bathroom with Dachau dust was a deliberate act. The Sherman bathing photographs in the same bath, taken by Lee Miller, are also symbolic since the photographer was a Jew.
Commenting on the photos, Miller said she was trying to wash off the Dachau scents.
David Sherman, a jew, tried Hitler’s bathroom too
Сообщение Lee Miller in the bathroom of Adolf Hitler появились сначала на Old Pictures.
]]>Сообщение Adolf Hitler trains body language – unique historical photos появились сначала на Old Pictures.
]]>Heinrich Hoffmann (also known for these Fuhrer’s WWI photos) photographed Hitler view the footage, and evaluate his own image. Here’s how we’ve got this series of pictures in which dictator appears in very strange poses. Later, Heinrich Hoffmann used these portraits in his memoirs.
The photographs look almost photoshopped. Adolf Hitler looks more like a ballroom dancer or stage actor than a ruthless dictator. But it was a fair price for polishing his speaking skills that were so important during the elections’ campaign.
Let’s note that Adolf Hitler was a skillful politician and he was ready for some bold moves to get the voters’ sympathy. For example, he organized a very special photoshoot while wearing traditional Tyrollian shorts, very popular in Bavaria. Hitler didn’t like those shorts, that looked almost ridiculous. But he knew that people will pay attention and did to gain more popularity before the elections. A strong move that, among others, allowed the Nazi party to get absolute power.
Сообщение Adolf Hitler trains body language – unique historical photos появились сначала на Old Pictures.
]]>Сообщение Hiroshima aftermath pictures right after the bombing появились сначала на Old Pictures.
]]>When the bomb detonated, Matsushige was at his home, less than three kilometers from ground zero.
“I had breakfast and was about to go to the office when it happened. There was a flash, and then I felt a kind of thunderstrike. I didn’t hear any sounds; the world around me turned bright white. I was momentarily blinded as if the light of magnesium was burning right in front of my eyes. An explosion followed immediately. I was not dressed, and the blast was so intense that I felt like hundreds of needles pierced me at the same time. “
The injured policeman issues a certificate for a rice ration. People had nothing to eat after the explosion.
After that, Matsushige took his camera and headed to the Hiroshima downtown to take pictures of the bombing aftermath. He took two 24-frame photographic films and wandered around the ruined city for several hours.
Yoshito Matsushige took only seven pictures on that explosion day. The aftermath scenes were too horrible.
“I was also a victim of that detonation,” Matsushige later said, “but I had minor injuries from glass fragments while these people were dying. It was such a brutal sight that I could not bring myself to press the shutter button. My tears watered the viewfinder. I felt that everyone was looking at me in anger: “He is taking pictures of us and not giving any help.”
“Sometimes, I think I should have mustered up the courage to take more photos,” Matsushige later said. “I couldn’t keep taking pictures that day. It was too heartbreaking. “
Yoshito Matsushige took only seven pictures of the Hiroshima bombing aftermath. He lost two of them while working with negatives.
Detonation destroyed the darkroom, and Matsushige worked with the negatives outside at night. He washed them in a stream near his house and dried them on a tree branch. Only five of his seven photographs have survived. A few weeks after the explosion, the US military confiscated Japanese newspapers and newsreels after the explosion, but Yoshito Matsushige hid the negatives.
Three photos were taken at the Miyuki Bridge. The first two shots show police spilling oil on the lubricate schoolchildren’s burns. The pictures were taken 2.3 km from the epicenter of the explosion, between 11.00 and 11.30 am. Matsushige will return here later to take another snapshot of the wounded policeman signing the certificates for emergency rice rations.
Detonation aftermath from the window of the photographer’s house
Photographer took two more shots of the aftermath near his house in Hiroshima. In these photos, his wife Sumie, wearing a helmet to protect her from radiation, is trying to clean up a barbershop that belonged to their family. He took a second shot from the window of the house.
Photos went public in 1952 when the LIFE magazine printed them. The title was “When the Hiroshima atomic bomb detonated: aftermath uncensored.”
Yoshito Matsushige died in 2005 at the age of 92.
The Hiroshima and Nagasaki bombing put an end to WW2 in the Pacific Region. The war, which was started by Japan, finally ended.
Destroyed barbershop.
Сообщение Hiroshima aftermath pictures right after the bombing появились сначала на Old Pictures.
]]>Сообщение The Reindeer operation: a story behind WW2 photo, 1941 появились сначала на Old Pictures.
]]>The Reindeer is not the only famous photo that Yevgeny Khaldey took. The best-known picture is, of course, the Flag over the Reichstag, 1945. The ‘Flag’ picture hit the Top 100 most important photos in history.
Oldpics also published a story behind another amazing photo by Yevgeny Khaldey: The Nazi family in Vienna, 1945.
But now, let’s get back to the Reindeer operation photo. In his works, Yevgeny Khaldei liked to combine everyday life and war. He photographed a sunbathing couple next to a destroyed building, the head of the traffic control service next to the sign of German cities in Russian, etc. He used a similar technique with the Reindeer photo. True, the photo with the reindeer was not entirely documentary. The book “Witness to History: Photos by Yevgeny Khaldei” tells about this shot. During the bombardment, the deer (Russian called it Yasha afterward) approached soldiers. The shell-shocked animal did not want to be left alone. Khaldei took a picture, but it turned out not as spectacular as the correspondent expected. Through multiple exposures, Khaldei added British Hawker Hurricane fighters and an exploding bomb to the shot.
The Reindeer operation did not bring success to the German-Finnish army. Neither the Germans nor the Finns reached the Murmansk railway, nor did they seize the Soviet fleet’s base in the Far North. In this sector of the war, the front stabilized until 1942.
Outstanding Soviet WW2 pictures (Part I: Max Alpert)
Amazing Soviet WWII pictures (Part 2: Dmitri Baltermants)
Outstanding WW2 pictures (Part3: Emmanuil Evzerikhin)
Сообщение The Reindeer operation: a story behind WW2 photo, 1941 появились сначала на Old Pictures.
]]>Сообщение Eyes of hate: story behind iconic photo by Alfred Eisenstaedt появились сначала на Old Pictures.
]]>‘Eyes of hate’ is one of the iconic photos of the outstanding Germany-born photographer Alfred Eisenstaedt. Oldpics published his 64 of his most important pictures recently. ‘Eyes of hate’ photo stands among the others, and we decided to cover the story behind it.
So, let’s get back to September 1933. Adolf Hitler has already taken all the power in Germany after winning the elections in January. The 3rd Reich has been proclaimed, the anti-jew and militaristic rhetoric became the mainstream.
Alfred Eisenstaedt worked for the Atlantic (it will soon transform into an Associated press) agency as a photo reporter. Here’s how he got accreditation to cover the League of Nations conference in Geneva. The place where Eisenstaedt captured the ‘Eyes of hate’ photo.
“I found Dr. Joseph Goebbels In the hotel garden. By that moment, he has already occupied the position of Hitler’s propaganda minister,” Eisenstadt wrote in 1985. Goebbels was smiling, but not at me. He was looking at someone to my left. Suddenly he noticed me, and I took a picture of him. His expression changed immediately. These were the eyes of hate. Was I the enemy?’ Goebbels’ personal assistant Werner Naumann, with a goatee, and Hitler’s translator, Dr. Paul Schmidt, were standing behind him. We assume that one of them told the propaganda minister the photographer’s identity. “People asked what I felt taking pictures of these people. Of course, I wasn’t ok, but I do not know fear when I have a camera in my hands. “
Goebbels’ hostility towards the Alfred Eisenstaedt was due to his Jewish origin. The minister’s tense posture and a suspicious gaze directed directly at the camera clearly indicate Eisenstadt’s dislike. The propaganda minister truly shared the antisemitic views of his patron, Adolf Hitler.
“I could name this picture ‘From Goebbels with Love,’” the photographer continued. -When I approached him in the hotel garden, he looked at me with eyes of hate, as if he was waiting for me to disappear. But I haven’t disappeared.”
A couple of weeks later, Germany, quite the League of Nations, explaining that other countries discriminate against it. In fact, this meant Germany’s unwillingness to make compromises. It also testified to the League of Nations’ further ineffectiveness in resolving international disputes and preventing war conflicts.
Interestingly, Alfred Eisenstaedt captured his best-known ‘V-J day’ picture in 1945. It became the symbol of WW2 victory. While Joseph Goebbels ended his days committing suicide in May 1945.
That’s how Joseph Goebbels before the ‘Eyes of hate’ scene
The scene during the League of Nations session
Joseph Goebbels truly shared antisemitic views of Adolf Hitler
Сообщение Eyes of hate: story behind iconic photo by Alfred Eisenstaedt появились сначала на Old Pictures.
]]>Сообщение Outstanding WW2 pictures (Part3: Emmanuil Evzerikhin) появились сначала на Old Pictures.
]]>Here you can check previous publications:
Now let’s take a look at WW2 pictures of Emmanuil Evzerikhin. He has some iconic world-famous photography in his portfolio too. We mean his photo of a fountain with dancing figures of children in the middle of ruined Stalingrad. This image became another gloomy symbol of WW2. Yevzerikhin’s scenes are generally atypical. Yes, there are many masterful combat photographs, but when selecting the brightest ones, you will pay attention to their symbolism, meaningfulness, whether it’s the cemetery of Hitler’s soldiers in liberated Stalingrad or the aircraft resembling a huge corn cob.
There was a lack of photo reporters in the USSR when WW2 broke out. Here’s how TASS (Russian version of AP) invited Emmanuil Evzerikhin to shoot war chronicles for them. He went through the entire war, filming many significant historical events. During the Battle of Stalingrad, Emmanuil became a real photo poet, as photo colleagues called him.
The Stalingrad series of photographs by Evzerikhin became the master’s visiting card; simple and expressive scenes grabbed editors’ attention and hit the print uncountable times.
Evzerikhin captured the real, hungry, and destroyed the city of Stalingrad and its people. Panoramas of a burning city with “blinded” windows of houses; the frightening emptiness of extinct streets; Pictures of captured Germans are with despair in their eyes. Those WW2 pictures make you empathize with people who have become victims of the war. Frozen, miserable, wrapped in rags, and lined up in uneven ranks. The soldiers wander through the white snow to nowhere, their faces and figures leave only the feeling of the monstrosity of any war.
Emmanuil Evzerikhin participated in the Battle of Konigsberg, the liberation of Minsk. He filmed the battles of the cities of Poland and Czechoslovakia, including the bloody Prague operation.
Fountain Children’s round dance in Stalingrad after the raid of German aircraft, 1943
Women camouflage the Soviet Yak-1 fighter at the airfield (1941)
The StuG III assault gun knocked out in Konigsberg and the killed German soldier. Germany (1945)
The crew of the BA-10 armored car with a shepherd
Soviet collection point for captured bicycles in the city of Bischofsburg. Poland (1944)
Red Army soldiers march at the Favoritenstrasse in Vienna (1945)
People of Rostov-on-Don in the courtyard of the prison identify relatives killed by the German army (1943)
Battery of Soviet 152-mm D-1 howitzers firing at German troops in Belarus (1944)
German cemetery in a village near Stalingrad (1942)
Сообщение Outstanding WW2 pictures (Part3: Emmanuil Evzerikhin) появились сначала на Old Pictures.
]]>Сообщение Nazi Rally in Madison Square Garden in pictures, 1939 появились сначала на Old Pictures.
]]>The truth is that this rally in Madison Square Garden wasn’t the first event that Nazi supporters staged in New York. There were many more, and here are some noteworthy pictures and facts.
In January 1933, Adolf Hitler became Chancellor of Germany, and soon the Nazis controlled the entire country. They missed no chance to gain influence outside Germany. Here’s why Deputy Fuhrer Rudolf Hess instructed the German-American immigrant Heinz Spanknobel to form a powerful fascist structure in the United States.
In July 1933, Spanknobel united two small groups to form the Friends of a New Germany. He relied on German citizens and German-Americans who were part of the fraternity. The new organization even picketed the largest German-language newspaper offices in New York, demanding Nazi-sympathetic articles, advocating for a boycott of Jews in German factories. They wore the swastika-covered uniforms during all these events.
In October 1933, Spanknobel was deported from the US. Two years later, Hess urged the Friends’ leaders to return to Germany and all German citizens to leave the organization.
Nonetheless, the organization’s followers formed a new one, that had no links to the German government. It was the German-American Bund. The organization continued its anti-Semitic and anti-communist campaigns, covering them with patriotic pro-American symbols, holding portraits of George Washington, the “first fascist.”
The German-American Bund reached its peak on February 20, 1939, when about 20,000 of its members gathered for the real Nazi Rally in Madison Square Garden. The leader of the organization Fritz Kuhn criticized Roosevelt, calling the policy of the “New Deal,” “the Jewish course,” and Roosevelt himself – Rosenfeld.
Some 80,000 anti-Nazi protesters outside the Madison Square Garden clashed with police while breaking into the building and closing the rally.
Note that the late 1930s was a specific time in the International relationships towards Germany. While many people realized the Nazi government’s aggressive nature, the politicians acted in a different, mild way. It was ok to greet the public with the Nazi salute during the sports events. Coca-cola advertised itself in Germany, and Henry Ford was fine to accept a German order from Nazi official’s hands.
The Bund’s days ended at the end of 1941 when the United States entered the war against Nazi Germany.
US kids greeting the public with a Nazi salute
The Rally of 1939
Speakers arriving the Rally
Nazi Rally in Madison Square Garden, May 17, 1939
Nazi Rally in Madison Square Garden in pictures
Young guards in front of a huge portrait of George Washington.
Nazi followers greet the speaker with a salute.
May 17, 1934. A mass meeting of members of the Friends of New Germany.
People greeting the banner of the German-American Union.
Leader of the German-American Union Fritz Kuhn addresses the rally participants, February 1939.
Celebrations of the arriving of the German settlers to America, October 1935
Another angle of the Nazi Rally in New York
1934
Сообщение Nazi Rally in Madison Square Garden in pictures, 1939 появились сначала на Old Pictures.
]]>Сообщение Outstanding Soviet WWII pictures (Part 2: Dmitri Baltermants) появились сначала на Old Pictures.
]]>Cleaning the area, protecting the harvest, 1941
Oldpics continues its series of the noteworthy WWII pictures by the soviet photographers.
This time we cover the combat photography of Poland-born Dmitri Baltermants. His WW2 photo ‘Grief’ featured in the Top 100 most important pictures in history.
Dmitri Baltermants joined the Red Army (as a photo reporter of the Izvestia newspaper) during the first days of the war. His units were directed to Crimea, where the photographer witnessed a total defeat and retreat of the Soviet forces. He successfully dodged the encirclement and relocated to the capital, and here’s how he participated in the Battle of Moscow.
Izvestia newspaper published numerous WWII pictures by Dmitri Baltermants. It printed his reports on the construction of anti-tank fortifications near Moscow, the defense of the capital, military operations in the Crimea, and Stalingrad’s battle.
His pictures from the Battle of Stalingrad played a tragic role in Dmitri’s life. He experienced the totalistic repression machine in 1942 when his photos got to print with a mistaken caption. It was a newspaper editor’s mistake, who mistook the demolished British Lend-Lease tanks for German ones. Dmitry Baltermants was not present when selecting a picture. Nonetheless, the editor sifted the blame on the photographer. The punishment for such a human factor mistake in Soviet Russia was painful.
Baltermants was sent to the so-called ‘doomed battalion.’ The soldiers of such ‘doomed battalion’ participated in the hottest fights and served as cannon meat. Statistically speaking, Dmitri Baltermants should have ended up his days during this punishment. Against all the odds, the photographer survived. Baltermants was wounded and joined the Red Army again after the recuperation, as a photographer, at this time.
WW2 Pacific battles in pictures by W Eugene Smith
The Story of The Flag Raising on Iwo Jima by Joe Rosenthal (1945)
During an attack, 1941
‘The Grief.’ One of the best-known WWII pictures by Dmitri Baltermants.
People digging anti-tank barriers, the Battle of Moscow, 1941
Cleaning the area, protecting the harvest, 1941
Note the agriculture vehicles on the background. It was August of 1941, and the Nazi army defeated the Soviets almost everywhere. While retreating to the East, Russians tried to take as much harvest as possible to avoid the famine. In this picture, the anti-air cannon is checking the skies to let the farmers do their job.
Close-quarters combat. Battle of Moscow, 1941.
Parade in Moscow, November 7, 1941
It’s hard to imagine how desperate was the war situation for the Soviets in November of 1941. Germans units directed to the Russian capital and the Battle of Moscow was about to start. Stalin decided to keep the Army Parade at the Red Square on November 7, as it used to be years before. This act boosted the morale of the city defenders and helped to win that battle.
Soviet soldiers playing the piano in a destroyed building in Germany, 1945
Сообщение Outstanding Soviet WWII pictures (Part 2: Dmitri Baltermants) появились сначала на Old Pictures.
]]>Сообщение 50 amazing and bizarre photos появились сначала на Old Pictures.
]]>His bizarre photos selection features both a photo of Hitler in Tyrolean shorts, a dinner for soldiers with crippled faces, and a married American nine-year-old girl with her twenty-two-year-old guy.
Most of these bizarre photos are documentary, but they grab the attention of the casual viewer.
Rob Moorees describes the origin of his collection as follows. He was called to digitize the large Dutch archive “Spaarnestad” located on the outskirts of Amsterdam. As he was finding more and more amazing and bizarre photos in the archive, Rob as permission to separate them from the rest. As a result, the researcher saved up an impressive amount of unusual photos on his laptop and began to publish them on the Internet and specialized magazines.
Rob even organized few exhibitions and printed a photo album titled “Life is a strange thing.” Moorees emphasizes that he deliberately did not categorize his bizarre photos according to any criteria. He wants each of the photographs in his archive to be not just part of a series or a thematic collection, but to have an inherent personality and self-worth in the photo. This effect is enhanced because most of the photographs in the archive belong to unknown photographers. Muris compares this situation with the works of the great artists of the past. We don’t remember anything about them but their paintings, their masterpieces, their vision of the world…
A circus performer in an aquarium car with crocodiles, Berlin, 1933
An iron man of the past in a diving suit. The suit’s name was ‘Iron man’ too. It had an electric charging and pressure protection systems. New York, 1907
Here are some more bizarre diving suits from the past: It`s not a robot, it was a diving suit in 1911
Charles Godefroy flies through the Arc de Triomphe in Paris. The height of the opening is 29.42 m, the width is 14.62 m. The wingspan of the aircraft is 9 meters wide, 1919
A visitor with a candle in her hand smiles at the large collection of skulls in the catacombs of Paris. 1935
A crowd watching a British airship fly over the port of Ostend during WWI, 1914
Actor Johnny Ick, who was born with an underdeveloped lower torso, poses for a promotional photo for the famous movie ‘Freaks,’ 1932
Blind WWI Veteran’s marriage, 1921
Women learn to shoot in prison on Roosevelt Island, New York, 1932
Welsh spiritualist Colin Evans feigns levitation by jumping up and down in total darkness and filming himself with an infrared camera. London, 1939
Untitled
Tower of Babel from the Old Testament. A. Frankl, 1927
Unknown author
Boren city citizens await the appearance of the Virgin Mary at the viaduct, not far from the Christian school, where children allegedly observed her the day before. Belgium, 1933
The telepath tries to hypnotize the chimpanzee, 1941
The tactical trick of soldiers during the Mexican Revolution, 1913
The house at the training ground where the US Army conducted experiments on the use of nuclear weapons. Mannequins, 1954 play the role of humans
Soviet cryptographer Igor Guzenko, 1945. In this photo, he hid his face for an interview with Soul Pett from the Associated Press. Guzenko worked at the Soviet embassy in Ottawa and fled to the West in 1945. He brought more than a hundred classified documents and information from the Soviet spy network in Canada; 29 spies were arrested and convicted afterwards. Guzenko received an impressive reward, a mansion, and political asylum.
Soldiers of the British Royal Horse Artillery on pack horses. The animals turned out to be so obedient that they allowed the soldiers to perform tricks like these, 1915
Robert Kennedy and West Berlin Mayor Willie Brandt look through the Berlin Wall, February 22, 1962
Photographer unknown
Newborn mutant rabbit with one head, endowed with two bodies. 1941
Military training at Eton. Since then, the uniform of the students of the elite educational institution has changed little; only the top hats were canceled, 1915
KKK’s members drive around Miami in robes and, with a noose, convince African Americans to abstain from voting in elections. Miami, 1939
Marcia Pinkenfield, six months old, who won a very unusual competition and was chosen as the most beautiful child in America, 1927
A real Malibu Lifeguard. Richard Tide sleeps a girl who was washed into the ocean by a wave
Italian traveler Attilio Gatti with two hired pygmies and a gorilla caught by them in the Belgian Congo, 1930
Exercises at the Sint Willibrordus mental hospital. Netherlands, Henk Blansjaar, 14 February 1956
Girl and orangutan. Indonesia, J.A. Dinkel, early 20th century
Funeral of legendary cyclist Fausto Coppi, who contracted malaria during an African safari. The 1960 year
Bizarre photos of a French soldier during WWI in a suit (breastplate and helmet), 1915 year
An accident on track during a 6-day bike race at the Madison Square Cycle Track. New York, 1913
Faces of war. A banquet for French soldiers who received grievous injuries during WWI, Henri Manuel, Paris, 1925.
The expiration date has passed. Billy, the elephant at the Los Angeles Zoo, was shot. Old elephants can become uncontrollable, and the zoo staff decided to protect themselves. 1939
Execution of terrorists who staged an explosion in the Cathedral of Holy Week in Bulgaria, killing more than 200 people died,
Bizarre photos of the Ethiopian thief catcher. After drinking a stimulating mix of unknown ingredients, the priest throws a rope over the plaintiff and guides him, closing his eyes, to the alleged culprit. The 1929 year
Bizarre disguise photos. Dutch tanks disguised in flowers, shortly before the German invasion. May 5, 1940
Dr. Heinz makes an injection of fluids taken from a live hare to a person, which, together with ultraviolet radiation and gymnastics, should lead to rejuvenation. Berlin, 1925
Disguise of British military equipment as elephants, India, WWII
Daughter of the German movie star Marlene Dietrich, starring in the film The Slutty Empress directed by Joseph von Sternberg with her mother. Hollywood, 1934
Charles Jones, 22, is reading to his underage fiancée, Eunice Winstead, nine years old. Their wedding was approved in Tennessee, but not accepted in the rest of the United States. 1937
John Russell’s band warming the public before the Beatles’ performance, 1964
An American lawyer, who wants to remain anonymous, reads out his testimony on investigating a financial fraud case. Ohio, 1933
Adolf Hitler in the national trousers of the Tyroleans and Bavarians called lederhosen. It was a campaign photo to gain more popularity in the Southern regions of Germany, June 12, 1927
A WWI postcard. A German looking at Notre Dame through binoculars is threatened with a saber by the ghost of Napoleon.
American singer Al Johnson, portraying a black man on the set of the movie Bar of Wonders. The 1934 year
A hypnotized person, frozen at attention, lies in an extremely uncomfortable position. 1932
A man drags a snake that has just had a hearty breakfast. 1941
A Hungarian engineer Stefan Nailed near the machine he invented supposedly made people and inanimate objects invisible. 1935
A folding car designed by a German engineer. When assembled, it could drive at 45 KmPh, 1929 year
8-year-old Freddie McIntosh in a sun protection suit. The boy’s skin is very sensitive to daylight due to illness.
Сообщение 50 amazing and bizarre photos появились сначала на Old Pictures.
]]>Сообщение Outstanding Soviet WW2 pictures (Part I: Max Alpert) появились сначала на Old Pictures.
]]>Oldpics has selected several outstanding soviet photographers whos WW2 pictures are 100% noteworthy. We are starting a series of publications, where each of them will feature pictures made by one of those cameramen.
We start this series with Max Alpert’s photos. You may know his iconic ‘Combat’ picture, but now you’ll see more of his works.
Max Alpert received three orders and several medals for his WW2 pictures. Working both in the front trenches and in the liberated territories, he created several of the era’s most important photographic documents. According to critics (and it is difficult to disagree with them), Max Alpert could be an integral part of the historical photography if he took only his “Combat” photo.
‘Combat’ literally means ‘Commander of the Batallion.’ It is noteworthy that this image resembles the style of the best works of Max Alpert from the pre-war period. The energetic figure of a commander in the foreground, the endless sky, and the earth’s edge. It seems like soldiers figures lying in the distance are pressed, demonstrates a person’s readiness to stand on the brink between life and death. The truth is that this ‘Combat’ died in several minutes after Alpert captured this picture.
The ‘Artillery squad’ is another noteworthy photograph of Max Alpert. The weapon becomes the center point of the composition. The light is coming from the back, and the darkness swirling right behind the edge of the barrel adjoin. Most likely, Max Alpert retouched this image to enhance the contrasting opposition of light and darkness. This photo is not just a combat photograph. It’s a piece of art that reveals the supreme truth of the war, far beyond the reliability of its individual episode.
“On the Roads of War” belongs to the best-known WW2 pictures in Russia. A group of refugees wandering along a muddy winter road. A woman with two children stands out in the foreground. The feeling of human grief is multiplied by the “point of view” found by the photographer. The military routine grows into a symbol of the four years of suffering of the Soviet people.
A brief moment of silence during the close-quarters combat. The Battle of Stalingrad, 1942
Soviet infantry during an attack. Somewhere during the operation of Rjev, 1942
A wounded soviet soldier with a pigeon
Russian scouts crossing the street during the combat mission, 1943
German soldiers surrender to the Soviet Army.
Soviet soldier gazing at the gates of the concentration camp
The Victory Parade in the Soviet Capital, Moscow, 1945
Сообщение Outstanding Soviet WW2 pictures (Part I: Max Alpert) появились сначала на Old Pictures.
]]>