/* * 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
Архивы Pittsburgh - Old Pictures https://oldpics.net Historical photos, stories and even more Tue, 21 Jul 2020 14:06:49 +0000 en-US hourly 1 https://wordpress.org/?v=5.9.5 https://oldpics.net/wp-content/uploads/2017/06/cropped-favicon-32x32.png Архивы Pittsburgh - Old Pictures https://oldpics.net 32 32 Pittsburgh photo essay by W. Eugene Smith (18 pictures) https://oldpics.net/pittsburgh-photo-essay-by-w-eugene-smith-18-pictures/ https://oldpics.net/pittsburgh-photo-essay-by-w-eugene-smith-18-pictures/#comments Fri, 26 Jun 2020 14:31:06 +0000 https://oldpics.net/?p=4017 When W. Eugene Smith set his foot on Pittsburgh land in March 1955, he had made a reputation of edgy, conflict, and...

Сообщение Pittsburgh photo essay by W. Eugene Smith (18 pictures) появились сначала на Old Pictures.

]]>
Monongahela River from Mount Washington

View at Monongahela River from Mount Washington.

When W. Eugene Smith set his foot on Pittsburgh land in March 1955, he had made a reputation of edgy, conflict, and at the same time outstanding photographer. Smith was very well known for his photo coverage of the WW2 battles in the Pacific region, bright reportage from Franco’s Spain, and of course, his best-known photo essay ‘A country doctor,’ that was published in Life magazine.

Pittsburgh photo essay became a significant chapter in the life story of W. Eugene Smith.

Pittsburgh photo by Eugene Smith

Bird-point view at the bridges of Pittsburgh, Pennsylvania.

Gene made a bold move before the Pittsburgh trip and left the Life with a scandal. This resignation left him penniless, Smith drank a lot, and his wife took their four kids and left a genius alone. Well, not so alone, as Smith’s mistress Margery Lewis gave birth to their son in Philadelphia. 

This problematic life situation pushed W. Eugene Smith to the collaboration with a writer Stefan Lorant, who was looking for a photo set to illustrate his book about Pittsburgh. Smith didn’t have any interest in this city-of-steel adventure, but he had a great need for money. He was paid $500 in advance (of total $1,200) and hoped that this assignment would take two weeks at max. Instead, W. Eugene Smith spent over a year in Pittsburgh and ended it up with “the finest set of photographs he had ever produced.”

Pittsburgh still worker photo by W Eugene Smith

Steelworkers. The City of Pittsburgh. 1955.

Stefan Lorant provided Smith with shooting script with 25 chapters like i“Steel industry,” “Nationalities and their clubs,” ‘City Streets’ “Libraries,” “Life on the river,” “Life in parks,” and “Department stores.” W. Eugene Smith did all of those but in his way. Lorant recalled that he never saw life in Pittsburgh as grim and desperate, as in Smith’s pictures. In other words, W. Eugene Smith did again what he did the best: set the fire of conflict upon the editorial control over his photography.

steel worker and molten steel

Pittsburgh always was a city of molten steel.

Crime, he photoed

On May 20, Smith was brutally robbed. He lost five cameras, ten lenses, a box of film, and other miscellaneous stuff. About 500 images were stolen. Gene was searching through pawnshops and landfills looking for his equipment. Finally, he collected two of his stolen Leicas at a pawnshop in East Liberty for $40. Robbers used one of them to make some images of themselves, and Eugene Smith found those films; police used the evidence to arrest later and convict them. W. Eugene Smith sadly admitted that his  Pittsburgh project lost its half.

Overall, W. Eugene Smith took 17,000 images in Pittsburgh. The book Pittsburgh: The Story of an American City included  64 of them. Photos didn’t reflect the Lorant’s editorial narrative but Smith’s perception of the city of molten steel. He saw the city in contrasts that he stressed in his images: water and land, steel and grass, rich and poor. 

Smith didn’t like to talk about the Pittsburgh project. He saw it as a defeat, as it was incomplete, but also as the most exceptional set of pictures he had ever created. 

That’s what W. Eugene Smith used to say until he completed his photo story of Minamata.

W. Eugene Smith, workroom

W. Eugene Smith in his workroom

Smoking steelworker

Smoking steelworker

Pittsburgh, Pennsylvania, USA. 1955

Pittsburgh, Pennsylvania, USA. 1955

Pittsburgh Screw and Bolt–Woman Machine Operator

Pittsburgh Screw and Bolt–Woman Machine Operator

Pittsburgh photo essay by W Eugene Smith

National Tube Company works, U.S. Steel Corporation, McKeesport, and Union Railroad Bridge over the Monongahela River,

Mill Man Loading Coiled Steel, 1955

Mill Man Loading Coiled Steel, 1955

Pittsburgh photos by W Eugene Smith

Left: Girl leaning on a parking meter Shadyside Chamber of Commerce carnival Walnut Street. Right: House constructions

City Housing, 1955

City Housing, 1955

Children of Pittsburgh by W Eugene Smith

Children playing at Colwell and Pride Streets, Hill District, 1955

Steelworker Pittsburg 1955, by W. Eugene Smith

Steelworker Pittsburg 1955, by W. Eugene Smith

W. Eugene Smith photo Dance of the Flaming Coke

Dance of the Flaming Coke

 

Сообщение Pittsburgh photo essay by W. Eugene Smith (18 pictures) появились сначала на Old Pictures.

]]>
https://oldpics.net/pittsburgh-photo-essay-by-w-eugene-smith-18-pictures/feed/ 1
The brightest photos by W. Eugene Smith https://oldpics.net/the-brightest-photos-by-w-eugene-smith/ https://oldpics.net/the-brightest-photos-by-w-eugene-smith/#comments Mon, 15 Jun 2020 15:07:28 +0000 https://oldpics.net/?p=3652 William Eugene Smith dreamt of aviation, and perhaps he would have become a good pilot. But once, he took their family camera...

Сообщение The brightest photos by W. Eugene Smith появились сначала на Old Pictures.

]]>
W. Eugene Smith

W. Eugene Smith

William Eugene Smith dreamt of aviation, and perhaps he would have become a good pilot. But once, he took their family camera to picture the airplanes, and … And then the aircraft receded into the background. Instead of piloting the planes, W. Eugene Smith learned to take a beautiful photo of the world around him.

William Eugene Smith was born in the United States, Kansas, in 1918. His first photographic experiments brought Eugene among newspaper editors. Smith even had a job offer on a photo reporter position. And maybe it was the first of many times in his life when he didn’t accept any advice and did it his way: one day he told his family that his skill is insufficient, and his works are trash and burnt them all. He shocked relatives and close friends, as everyone who saw Eugene’s images of that period was simply amazed by his talent. His skill was recognized overseas when he was invited to study photography at the University of Notre Dame. The administration of the university went ballistic and designed a unique individual program for teaching Smith the art of photography. That’s how they treated his talent. This effort didn’t help, and William Eugene Smith decided to continue his photo career in New York, where he joined the Newsweek magazine. 

Read more: “The Critic”: a story behind plus more photos of Weegee.

W. Eugene Smith  pacific war

In 1942, W. Eugene Smith became a war correspondent and spent most of the next three years covering the Pacific War.

W. Eugene Smith: Calling for Help, Okinawa

Calling for Help, Okinawa, 1945

W. Eugene Smith: invasion of Okinawa in April 1945.

His most dramatic photographs were taken during the invasion of Okinawa in April 1945.

Eugene also contributed to Life magazine, which paid a lot of editorial attention to photo stories. His famous ‘Country doctor’ image was created during the editorial assignment to a small town in Colorado. Smith’s photographs were in high demand, but when a photographer had to choose between creativity and financial well-being, he never doubted for a second and terminated his job contracts.

William Eugene Smith worked for Ziff-Davis Publishing when World War II broke out. In 1942 he departed to the war action area and photographed combatants until 1945. Smith learned well the critical thing of war photography: if you want your images to be good enough, you should be close enough. His Pacific photo assignment ended up with numerous excellent historic photos of the most significant battles of WW2. W Eugene Smith used his natural empathy to find the most heart-touching scenes and capture the feelings of the combatants. The brightest result is his picture ‘Soldier holding baby’, that became the first world-famous image by a photographer. He signed a new contract with Life magazine shortly before the end of WW2 but then was severely wounded. A terrible shell explosion injured his jaw and put his career on a two years pause. Smith made it through the 32 surgeries!

Crimean war in 35 photos by Roger Fenton

Nevertheless, Eugene takes a brilliant picture of “A Walk to the Paradise Garden” during the rehabilitation period. At this time, he was immersed in the warm atmosphere of love in his family .. And again, Eugene Smith used to say that this image is “just average picture” and preferred other works to it. And yet, he felt misunderstood, just like with a series of Pittsburgh reports. He couldn’t select two hundred pictures about the life of the (that he had to send according to the contract), from almost seventeen thousand of images that he made in the city. Smith had a shooting script with 25 chapters like i “Steel industry,” “Nationalities and their clubs,” ‘City Streets’ “Libraries,” “Life on the river,” “Life in parks,” and “Department stores.” W. Eugene Smith did all of those but in his way. Lorant recalled that he never saw life in Pittsburgh as grim and desperate, as in Smith’s pictures. 

‘A Walk to the Paradise Garden’

W. Eugene Smith: “A Walk to the Paradise Garden”

Pittsburgh project led the Smith family to serious financial problems. The helping hand came from the Magnum Agency agreed to collaborate with Eugene Smith even despite his conflict nature.

But money talks never mattered a lot to the Eugene Smith. His main goal was the work itself. He said this in an interview in 1957. He did not care about disagreements with the editors, in particular with the Life magazine, which he left in 1954. W Eugene Smith did not bother about the risks and dangers of some projects. For example, in 1971, he went to Japan to cover the issue of mercury poisoning in villages on the coast of Minamata Bay. His eyesight and overall health were damaged. Nevertheless, the album “Minamata”, was published in 1975 and brought the recognition from readers and experts around the world.

Photojournalist William Eugene Smith paid a high price for his unruliness. And his most famous works are rebellious too, just like their author.

Steelworker Pittsburg 1955, by W. Eugene Smith

Steelworker Pittsburg 1955, by W. Eugene Smith

Metallurgy worker from Pittsburgh, 1955

Metallurgy worker from Pittsburgh, 1955

JazzLoft photo W. Eugene Smith

JazzLoft photo by W. Eugene Smith

W. Eugene Smith photo Dance of the Flaming Coke

Dance of the Flaming Coke

Untitled photo by W. Eugene Smith 1955

Untitled photo by W. Eugene Smith, 1955

Maude – Delivery, Eugene Smith photo

Maude – Delivery

Country Doctor

The best-known picture by Smith: Country Doctor, 1948. The full story of this image.

Pittsburgh stories, 1955

Pittsburgh stories, 1955

Untitled photo by W. Eugene Smith

Untitled photo by W. Eugene Smith

Couple photo by W. Eugene Smith

Two in love, photo by W. Eugene Smith

Okinawa shot, 1945

Okinawa kid, 1945

Pacific war by W. Eugene Smith, 1944

Pacific war by W. Eugene Smith, 1944

The scream of war W. Eugene Smith photo

The scream of war, 1944

W. Eugene Smith photo

Cargo received, 1945

KKK event, 1935

KKK event, 1935

Kids playing baseball, 1935

Kids playing baseball, 1935

Guardia Civil, Spain 1950

Guardia Civil, Spain 1950

The Spinner

The Spinner

The Wake 1950

The Wake, 1950

Untitled photo by W. Eugene Smith 1954

Untitled, 1954

Photo by. W. Eugene Smith

Сообщение The brightest photos by W. Eugene Smith появились сначала на Old Pictures.

]]>
https://oldpics.net/the-brightest-photos-by-w-eugene-smith/feed/ 3