/** * A simple set of functions to check our version 1.0 update service. * * @package WordPress * @since 2.3.0 */ /** * Check WordPress version against the newest version. * * The WordPress version, PHP version, and Locale is sent. Checks against the * WordPress server at api.wordpress.org server. Will only check if WordPress * isn't installing. * * @since 2.3.0 * @uses $wp_version Used to check against the newest WordPress version. * * @param array $extra_stats Extra statistics to report to the WordPress.org API. * @param bool $force_check Whether to bypass the transient cache and force a fresh update check. Defaults to false, true if $extra_stats is set. * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ function wp_version_check( $extra_stats = array(), $force_check = false ) { if ( defined('WP_INSTALLING') ) return; global $wpdb, $wp_local_package; include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version $php_version = phpversion(); $current = get_site_transient( 'update_core' ); $translations = wp_get_installed_translations( 'core' ); // Invalidate the transient when $wp_version changes if ( is_object( $current ) && $wp_version != $current->version_checked ) $current = false; if ( ! is_object($current) ) { $current = new stdClass; $current->updates = array(); $current->version_checked = $wp_version; } if ( ! empty( $extra_stats ) ) $force_check = true; // Wait 60 seconds between multiple version check requests $timeout = 60; $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked ); if ( ! $force_check && $time_not_changed ) return false; $locale = get_locale(); /** * Filter the locale requested for WordPress core translations. * * @since 2.8.0 * * @param string $locale Current locale. */ $locale = apply_filters( 'core_version_check_locale', $locale ); // Update last_checked for current to prevent multiple blocking requests if request hangs $current->last_checked = time(); set_site_transient( 'update_core', $current ); if ( method_exists( $wpdb, 'db_version' ) ) $mysql_version = preg_replace('/[^0-9.].*/', '', $wpdb->db_version()); else $mysql_version = 'N/A'; if ( is_multisite() ) { $user_count = get_user_count(); $num_blogs = get_blog_count(); $wp_install = network_site_url(); $multisite_enabled = 1; } else { $user_count = count_users(); $user_count = $user_count['total_users']; $multisite_enabled = 0; $num_blogs = 1; $wp_install = home_url( '/' ); } $query = array( 'version' => $wp_version, 'php' => $php_version, 'locale' => $locale, 'mysql' => $mysql_version, 'local_package' => isset( $wp_local_package ) ? $wp_local_package : '', 'blogs' => $num_blogs, 'users' => $user_count, 'multisite_enabled' => $multisite_enabled, ); $post_body = array( 'translations' => json_encode( $translations ), ); if ( is_array( $extra_stats ) ) $post_body = array_merge( $post_body, $extra_stats ); $url = $http_url = 'http://api.wordpress.org/core/version-check/1.7/?' . http_build_query( $query, null, '&' ); if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) $url = set_url_scheme( $url, 'https' ); $options = array( 'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3 ), 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url( '/' ), 'headers' => array( 'wp_install' => $wp_install, 'wp_blog' => home_url( '/' ) ), 'body' => $post_body, ); $response = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $response ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $response = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) return false; $body = trim( wp_remote_retrieve_body( $response ) ); $body = json_decode( $body, true ); if ( ! is_array( $body ) || ! isset( $body['offers'] ) ) return false; $offers = $body['offers']; foreach ( $offers as &$offer ) { foreach ( $offer as $offer_key => $value ) { if ( 'packages' == $offer_key ) $offer['packages'] = (object) array_intersect_key( array_map( 'esc_url', $offer['packages'] ), array_fill_keys( array( 'full', 'no_content', 'new_bundled', 'partial', 'rollback' ), '' ) ); elseif ( 'download' == $offer_key ) $offer['download'] = esc_url( $value ); else $offer[ $offer_key ] = esc_html( $value ); } $offer = (object) array_intersect_key( $offer, array_fill_keys( array( 'response', 'download', 'locale', 'packages', 'current', 'version', 'php_version', 'mysql_version', 'new_bundled', 'partial_version', 'notify_email', 'support_email' ), '' ) ); } $updates = new stdClass(); $updates->updates = $offers; $updates->last_checked = time(); $updates->version_checked = $wp_version; if ( isset( $body['translations'] ) ) $updates->translations = $body['translations']; set_site_transient( 'update_core', $updates ); if ( ! empty( $body['ttl'] ) ) { $ttl = (int) $body['ttl']; if ( $ttl && ( time() + $ttl < wp_next_scheduled( 'wp_version_check' ) ) ) { // Queue an event to re-run the update check in $ttl seconds. wp_schedule_single_event( time() + $ttl, 'wp_version_check' ); } } // Trigger a background updates check if running non-interactively, and we weren't called from the update handler. if ( defined( 'DOING_CRON' ) && DOING_CRON && ! doing_action( 'wp_maybe_auto_update' ) ) { do_action( 'wp_maybe_auto_update' ); } } /** * Check plugin versions against the latest versions hosted on WordPress.org. * * The WordPress version, PHP version, and Locale is sent along with a list of * all plugins installed. Checks against the WordPress server at * api.wordpress.org. Will only check if WordPress isn't installing. * * @since 2.3.0 * @uses $wp_version Used to notify the WordPress version. * * @param array $extra_stats Extra statistics to report to the WordPress.org API. * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ function wp_update_plugins( $extra_stats = array() ) { include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version if ( defined('WP_INSTALLING') ) return false; // If running blog-side, bail unless we've not checked in the last 12 hours if ( !function_exists( 'get_plugins' ) ) require_once( ABSPATH . 'wp-admin/includes/plugin.php' ); $plugins = get_plugins(); $translations = wp_get_installed_translations( 'plugins' ); $active = get_option( 'active_plugins', array() ); $current = get_site_transient( 'update_plugins' ); if ( ! is_object($current) ) $current = new stdClass; $new_option = new stdClass; $new_option->last_checked = time(); // Check for update on a different schedule, depending on the page. switch ( current_filter() ) { case 'upgrader_process_complete' : $timeout = 0; break; case 'load-update-core.php' : $timeout = MINUTE_IN_SECONDS; break; case 'load-plugins.php' : case 'load-update.php' : $timeout = HOUR_IN_SECONDS; break; default : if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 0; } else { $timeout = 12 * HOUR_IN_SECONDS; } } $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked ); if ( $time_not_changed && ! $extra_stats ) { $plugin_changed = false; foreach ( $plugins as $file => $p ) { $new_option->checked[ $file ] = $p['Version']; if ( !isset( $current->checked[ $file ] ) || strval($current->checked[ $file ]) !== strval($p['Version']) ) $plugin_changed = true; } if ( isset ( $current->response ) && is_array( $current->response ) ) { foreach ( $current->response as $plugin_file => $update_details ) { if ( ! isset($plugins[ $plugin_file ]) ) { $plugin_changed = true; break; } } } // Bail if we've checked recently and if nothing has changed if ( ! $plugin_changed ) return false; } // Update last_checked for current to prevent multiple blocking requests if request hangs $current->last_checked = time(); set_site_transient( 'update_plugins', $current ); $to_send = compact( 'plugins', 'active' ); $locales = array( get_locale() ); /** * Filter the locales requested for plugin translations. * * @since 3.7.0 * * @param array $locales Plugin locale. Default is current locale of the site. */ $locales = apply_filters( 'plugins_update_check_locales', $locales ); if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 30; } else { // Three seconds, plus one extra second for every 10 plugins $timeout = 3 + (int) ( count( $plugins ) / 10 ); } $options = array( 'timeout' => $timeout, 'body' => array( 'plugins' => json_encode( $to_send ), 'translations' => json_encode( $translations ), 'locale' => json_encode( $locales ), 'all' => json_encode( true ), ), 'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) ); if ( $extra_stats ) { $options['body']['update_stats'] = json_encode( $extra_stats ); } $url = $http_url = 'http://api.wordpress.org/plugins/update-check/1.1/'; if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) $url = set_url_scheme( $url, 'https' ); $raw_response = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $raw_response ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $raw_response = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) ) return false; $response = json_decode( wp_remote_retrieve_body( $raw_response ), true ); foreach ( $response['plugins'] as &$plugin ) { $plugin = (object) $plugin; } unset( $plugin ); foreach ( $response['no_update'] as &$plugin ) { $plugin = (object) $plugin; } unset( $plugin ); if ( is_array( $response ) ) { $new_option->response = $response['plugins']; $new_option->translations = $response['translations']; // TODO: Perhaps better to store no_update in a separate transient with an expiry? $new_option->no_update = $response['no_update']; } else { $new_option->response = array(); $new_option->translations = array(); $new_option->no_update = array(); } set_site_transient( 'update_plugins', $new_option ); } /** * Check theme versions against the latest versions hosted on WordPress.org. * * A list of all themes installed in sent to WP. Checks against the * WordPress server at api.wordpress.org. Will only check if WordPress isn't * installing. * * @since 2.7.0 * @uses $wp_version Used to notify the WordPress version. * * @param array $extra_stats Extra statistics to report to the WordPress.org API. * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ function wp_update_themes( $extra_stats = array() ) { include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version if ( defined( 'WP_INSTALLING' ) ) return false; $installed_themes = wp_get_themes(); $translations = wp_get_installed_translations( 'themes' ); $last_update = get_site_transient( 'update_themes' ); if ( ! is_object($last_update) ) $last_update = new stdClass; $themes = $checked = $request = array(); // Put slug of current theme into request. $request['active'] = get_option( 'stylesheet' ); foreach ( $installed_themes as $theme ) { $checked[ $theme->get_stylesheet() ] = $theme->get('Version'); $themes[ $theme->get_stylesheet() ] = array( 'Name' => $theme->get('Name'), 'Title' => $theme->get('Name'), 'Version' => $theme->get('Version'), 'Author' => $theme->get('Author'), 'Author URI' => $theme->get('AuthorURI'), 'Template' => $theme->get_template(), 'Stylesheet' => $theme->get_stylesheet(), ); } // Check for update on a different schedule, depending on the page. switch ( current_filter() ) { case 'upgrader_process_complete' : $timeout = 0; break; case 'load-update-core.php' : $timeout = MINUTE_IN_SECONDS; break; case 'load-themes.php' : case 'load-update.php' : $timeout = HOUR_IN_SECONDS; break; default : if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 0; } else { $timeout = 12 * HOUR_IN_SECONDS; } } $time_not_changed = isset( $last_update->last_checked ) && $timeout > ( time() - $last_update->last_checked ); if ( $time_not_changed && ! $extra_stats ) { $theme_changed = false; foreach ( $checked as $slug => $v ) { if ( !isset( $last_update->checked[ $slug ] ) || strval($last_update->checked[ $slug ]) !== strval($v) ) $theme_changed = true; } if ( isset ( $last_update->response ) && is_array( $last_update->response ) ) { foreach ( $last_update->response as $slug => $update_details ) { if ( ! isset($checked[ $slug ]) ) { $theme_changed = true; break; } } } // Bail if we've checked recently and if nothing has changed if ( ! $theme_changed ) return false; } // Update last_checked for current to prevent multiple blocking requests if request hangs $last_update->last_checked = time(); set_site_transient( 'update_themes', $last_update ); $request['themes'] = $themes; $locales = array( get_locale() ); /** * Filter the locales requested for theme translations. * * @since 3.7.0 * * @param array $locales Theme locale. Default is current locale of the site. */ $locales = apply_filters( 'themes_update_check_locales', $locales ); if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 30; } else { // Three seconds, plus one extra second for every 10 themes $timeout = 3 + (int) ( count( $themes ) / 10 ); } $options = array( 'timeout' => $timeout, 'body' => array( 'themes' => json_encode( $request ), 'translations' => json_encode( $translations ), 'locale' => json_encode( $locales ), ), 'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) ); if ( $extra_stats ) { $options['body']['update_stats'] = json_encode( $extra_stats ); } $url = $http_url = 'http://api.wordpress.org/themes/update-check/1.1/'; if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) $url = set_url_scheme( $url, 'https' ); $raw_response = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $raw_response ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $raw_response = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) ) return false; $new_update = new stdClass; $new_update->last_checked = time(); $new_update->checked = $checked; $response = json_decode( wp_remote_retrieve_body( $raw_response ), true ); if ( is_array( $response ) ) { $new_update->response = $response['themes']; $new_update->translations = $response['translations']; } set_site_transient( 'update_themes', $new_update ); } /** * Performs WordPress automatic background updates. * * @since 3.7.0 */ function wp_maybe_auto_update() { include_once( ABSPATH . '/wp-admin/includes/admin.php' ); include_once( ABSPATH . '/wp-admin/includes/class-wp-upgrader.php' ); $upgrader = new WP_Automatic_Updater; $upgrader->run(); } /** * Retrieves a list of all language updates available. * * @since 3.7.0 */ function wp_get_translation_updates() { $updates = array(); $transients = array( 'update_core' => 'core', 'update_plugins' => 'plugin', 'update_themes' => 'theme' ); foreach ( $transients as $transient => $type ) { $transient = get_site_transient( $transient ); if ( empty( $transient->translations ) ) continue; foreach ( $transient->translations as $translation ) { $updates[] = (object) $translation; } } return $updates; } /** * Collect counts and UI strings for available updates * * @since 3.3.0 * * @return array */ function wp_get_update_data() { $counts = array( 'plugins' => 0, 'themes' => 0, 'wordpress' => 0, 'translations' => 0 ); if ( $plugins = current_user_can( 'update_plugins' ) ) { $update_plugins = get_site_transient( 'update_plugins' ); if ( ! empty( $update_plugins->response ) ) $counts['plugins'] = count( $update_plugins->response ); } if ( $themes = current_user_can( 'update_themes' ) ) { $update_themes = get_site_transient( 'update_themes' ); if ( ! empty( $update_themes->response ) ) $counts['themes'] = count( $update_themes->response ); } if ( ( $core = current_user_can( 'update_core' ) ) && function_exists( 'get_core_updates' ) ) { $update_wordpress = get_core_updates( array('dismissed' => false) ); if ( ! empty( $update_wordpress ) && ! in_array( $update_wordpress[0]->response, array('development', 'latest') ) && current_user_can('update_core') ) $counts['wordpress'] = 1; } if ( ( $core || $plugins || $themes ) && wp_get_translation_updates() ) $counts['translations'] = 1; $counts['total'] = $counts['plugins'] + $counts['themes'] + $counts['wordpress'] + $counts['translations']; $titles = array(); if ( $counts['wordpress'] ) $titles['wordpress'] = sprintf( __( '%d WordPress Update'), $counts['wordpress'] ); if ( $counts['plugins'] ) $titles['plugins'] = sprintf( _n( '%d Plugin Update', '%d Plugin Updates', $counts['plugins'] ), $counts['plugins'] ); if ( $counts['themes'] ) $titles['themes'] = sprintf( _n( '%d Theme Update', '%d Theme Updates', $counts['themes'] ), $counts['themes'] ); if ( $counts['translations'] ) $titles['translations'] = __( 'Translation Updates' ); $update_title = $titles ? esc_attr( implode( ', ', $titles ) ) : ''; $update_data = array( 'counts' => $counts, 'title' => $update_title ); /** * Filter the returned array of update data for plugins, themes, and WordPress core. * * @since 3.5.0 * * @param array $update_data { * Fetched update data. * * @type array $counts An array of counts for available plugin, theme, and WordPress updates. * @type string $update_title Titles of available updates. * } * @param array $titles An array of update counts and UI strings for available updates. */ return apply_filters( 'wp_get_update_data', $update_data, $titles ); } function _maybe_update_core() { include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version $current = get_site_transient( 'update_core' ); if ( isset( $current->last_checked ) && 12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) && isset( $current->version_checked ) && $current->version_checked == $wp_version ) return; wp_version_check(); } /** * Check the last time plugins were run before checking plugin versions. * * This might have been backported to WordPress 2.6.1 for performance reasons. * This is used for the wp-admin to check only so often instead of every page * load. * * @since 2.7.0 * @access private */ function _maybe_update_plugins() { $current = get_site_transient( 'update_plugins' ); if ( isset( $current->last_checked ) && 12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) ) return; wp_update_plugins(); } /** * Check themes versions only after a duration of time. * * This is for performance reasons to make sure that on the theme version * checker is not run on every page load. * * @since 2.7.0 * @access private */ function _maybe_update_themes() { $current = get_site_transient( 'update_themes' ); if ( isset( $current->last_checked ) && 12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) ) return; wp_update_themes(); } /** * Schedule core, theme, and plugin update checks. * * @since 3.1.0 */ function wp_schedule_update_checks() { if ( !wp_next_scheduled('wp_version_check') && !defined('WP_INSTALLING') ) wp_schedule_event(time(), 'twicedaily', 'wp_version_check'); if ( !wp_next_scheduled('wp_update_plugins') && !defined('WP_INSTALLING') ) wp_schedule_event(time(), 'twicedaily', 'wp_update_plugins'); if ( !wp_next_scheduled('wp_update_themes') && !defined('WP_INSTALLING') ) wp_schedule_event(time(), 'twicedaily', 'wp_update_themes'); if ( ( wp_next_scheduled( 'wp_maybe_auto_update' ) > ( time() + HOUR_IN_SECONDS ) ) && ! defined('WP_INSTALLING') ) wp_clear_scheduled_hook( 'wp_maybe_auto_update' ); } if ( ( ! is_main_site() && ! is_network_admin() ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) return; add_action( 'admin_init', '_maybe_update_core' ); add_action( 'wp_version_check', 'wp_version_check' ); add_action( 'upgrader_process_complete', 'wp_version_check', 10, 0 ); add_action( 'load-plugins.php', 'wp_update_plugins' ); add_action( 'load-update.php', 'wp_update_plugins' ); add_action( 'load-update-core.php', 'wp_update_plugins' ); add_action( 'admin_init', '_maybe_update_plugins' ); add_action( 'wp_update_plugins', 'wp_update_plugins' ); add_action( 'upgrader_process_complete', 'wp_update_plugins', 10, 0 ); add_action( 'load-themes.php', 'wp_update_themes' ); add_action( 'load-update.php', 'wp_update_themes' ); add_action( 'load-update-core.php', 'wp_update_themes' ); add_action( 'admin_init', '_maybe_update_themes' ); add_action( 'wp_update_themes', 'wp_update_themes' ); add_action( 'upgrader_process_complete', 'wp_update_themes', 10, 0 ); add_action( 'wp_maybe_auto_update', 'wp_maybe_auto_update' ); add_action('init', 'wp_schedule_update_checks'); Manifestaciones en tiempos de Wikileaks - SesiónDeControl.comSesiónDeControl.com
Arrow

Manifestaciones en tiempos de Wikileaks


Juanlu Sánchez

Periodista. Editor de Periodismo Humano. Antes, redactor en la Cadena SER y responsable de Comunicación Digital de Expo Zaragoza 2008.


Escrito el 12 de diciembre de 2010 a las 20:05 | Clasificado en Sociedad, Tecnología

Pocas personas han saltado a las calles, pero muchas han participado en las acciones convocadas a través de internet ¿Nuevo activismo?

Julian Assange, en 2009 (Fuente: Wikimedia commons)
Julian Assange, en 2009 (Fuente: Wikimedia commons)

No había ni 300 personas en la manifestación a favor de Julian Assange, fundador de Wikileaks, este sábado en Madrid. Y eso que era la más numerosa. La “mayor filtración de la historia”, la primera foto global de los 4/5 ocultos del iceberg del poder, la apuesta mediática sin precedentes, las detenciones, la “ciberguerra“, el veto de Visa, MasterCard y Pay Pal… todo reducido a menos de mil personas si se suman los asistentes de todas las concentraciones de España.

“Lo de Wikileaks es una moda pasajera y todo el ruido de las redes sociales no tiene nada que ver con el mundo real”, me dice un amigo periodista. Y, sin embargo, la lectura puede ser la contraria: las manifestaciones son una herramienta política donde cada persona es sólo un número, un bulto para una foto que cada vez es más pequeña en los periódicos del día siguiente. La tradición política dice que son importantes, “la voz de la calle”, pero sus efectos son ya casi insignificantes y, lo más importante, son una actividad cada vez más frustrante para el que participa.

El clima de opinión de las redes sociales, aunque se desarrolle en un entorno cerrado de élites hiperconectadas, tiene una atención mediática de mucha más calidad. Se le ha llamado despectivamente ‘clickactivismo‘ y no implica ninguna revolución, pero consigue algo que las manifestaciones de partidos políticos y sindicatos no han logrado en décadas: mucha más gente, mucho más diversa, siente la pulsión de participar en un lugar común; está motivada.

Concebir Internet como un espacio previo a la realidad, como una fase por la que hay que pasar para después “ir a lo serio” es desperdiciar esa motivación y entregarse una vez más al cansino circuito político de la desesperanza.

Los votantes dicen...
  1. David Martos dice:

    Qué difícil es participar en una manifestación… y qué fácil hacer clic en un "me gusta"…

  2. Y ¿eso es bueno o malo?

  3. pau dice:

    Pues yo estuve y para mí fue un éxito. A mi modo de ver, cada uno de aquellos 300 estábamos representando a miles que se habían expresado en el mismo sentido en Internet. En cualquier caso es interesante, porque… ¿estáis seguros de que mañana se seguiran contando el éxito de las manifestaciones por los asistentes físicos? ¿No se creará manifestómetros que tengan en cuenta muchas más cosas…?
    Salud!

  4. Información Bitacoras.com…

    Esta anotación ha sido propuesta por un usuario para ser votada en Bitacoras.com. Para que el proceso finalice, deberás registrar tu blog en el servicio….

  5. Merche dice:

    Vaya usté a saber, Pau. Pero sí que es cierto que hay que empezar a medir el interés social o político de la ciudadanía de otra forma.
    Un post o una respuesta que escribes a las dos de la madrugada, antes de ir a dormir pero que no dejas para mañana porque te quema en las entrañas, y que te genera ganas de participar y provocar debate y reflexión es tan válido como ir el sábado a Castellana 259 q, todo hay que decirlo, estaba bastante lejos e inaccesible.
    Y una vez más, internet suma, no sustituye. La sociedad igual no está preparada aún para equiparar la importancia de un activista en la red a uno en la calle. Pero todo llegará.

  6. Pepa dice:

    La verdad es que tengo que reconocer que yo siempre he pensado que efectivamente las reacciones en la red son una previa a las movilizaciones en la calle, como pasó por ejemplo con las movilizaciones a favor de Garzón, o mejor dicho contra la impunidad…pero sí quizás sea una forma de verlo que no se corresponde ya con la realidad….No sé. Habrá que repensarlo. Lo que creo que sí está claro es que las movilizaciones en la calle necesitan más preparación (excepción es lo de la sede del pp tras el 11M),. No creo, en cualquier caso, que el número de persona que se concentración refleje la preocupación que muchos sentimos por el acoso a wikileaks y lo que eso siginifica.

  7. sema dice:

    Es verdaderamente penoso que no se acuda a las manifestacones ,pero no es de estrañar en los tiempos que corren pues hoy nos hemos acomodado de tal forma que aunque estemos de acuerdo en ciertos temas,no nos movemos nada de nada.Estoy de acuerdo total con que se publiquen todos estos temas.NO al acoso a wikileaks.Que la verdad se conozca,caiga quien caiga.
    un saludo sema.sevilla

  8. Anónima dice:

    Ayer firmé esto: http://www.avaaz.org/en/wikileaks_petition/?twitt

    Estuve dudando si firmar con mi nombre real o no. Por algún motivo que sería caro y largo psicoanalizar no me gusta dar mi nombre real en Internet. Pero para firmar algo me parecía poco ético usar mi nick. Así que pensé en llegar a un compromiso y poner solo un apellido. Me quedé un rato viendo quien iba firmando, a ver que hacían los españoles. Y vi firmar David de España como 5 veces.

    Quizá con diferentes direcciones de correos. Podrían ser 5 personas diferentes, una casualidad, o no,

    Así que un primer argumento es que en Internet no se sabe quiénes somos ni cuantos somos cada uno :-)

    En algunos círculos de software libre me reprocharon mucho en tiempos que mantuviera el anonimato. Pero siempre he pensado que lo que importa es lo que uno dice y hace no el CV que haya detrás. Así que soy en principio bastante contraria a obligar a la gente a identificarse para navegar.

    Pero eso es contradictorio con el medir el apoyo a una postura online. Esto sería un argumento a favor de la necesidad de salir a la calle donde se nos puede contar, con más o menos dificultad.

  9. Anónima dice:

    Por otra parte, el domingo estuve en la mini-mani y la gente era mayoritariamente como de un mismo estilo, salvo algunos que eran un poco más mayores. No acabo yo de ver eso de que sea mucha gente mucha más diversa la que participa en el clickactivismo. O al menos la muestra de clickactivistas allí reunidos no me lo pareció.

    En las grandes manifestaciones en las que he estado la gente si que era muy variopinta.

    Así que otro motivo por el que creo que hoy por hoy aún es importante dar el salto al mundo real ™ es que todavía el mundo de Internet no parece llegar por igual a todo el mundo. Es decir que el apoyo a una protesta a través de Internet tiene, además del problema de su valoración cuantitativa, un sesgo en la muestra que invalida el hacer interpolaciones al resto de la población.

    Esto me imagino que irá cambiando con el tiempo, pero estamos lejos, creo, de una población mayoritariamente conectada de forma ¿"cyberactiva"? (no sé si es la palabra, pero me da la impresión de que hay mucha gente conectada que no es aún consciente del uso de Internet como herramienta de expresión de posturas en la vida pública).

    Ahora que lo releo quizá el problema de la identificación también cambie y se pueda tender a modelos en los que la gente se identifique puntualmente para expresar su apoyo.

    En fin, que si que creo que se puede, y se debe, tender a nuevos modelos de participación. Pero creo que esos modelos aún no están maduros y que hacen falta más herramientas informáticas y mayor conocimiento por parte de la mayoría de la población.

  10. Alberto Arce dice:

    La reflexión de JuanLu es interesante. Pero paralelamente somos testigos de calles ocupadas por manifestantes. En Roma, Londres, Barcelona, Atenas o Paris. Mayoritariamente jóvenes. Con convocatorias puntuales y temáticas pero la misma imagen recurrente: fuego y barricadas. El nivel de desafección es alto. Minorías o no, hay gente en las calles, de manera global, movilizadas con cada vez mayor nivel de confrontación. Ya no son las organizaciones tradicionales las que provocan movimientos disruptivos pero estos surgen. El modelo de movilización multitudinaria se ha convertido poco más que en una procesión previa al vermut y surgen otros escenarios, gusten o no, de protesta, cada vez más radicalizada. Cierto es que no hay organización detrás, que no existe traducción hacia la política institucional de la protesta callejera. pero quizás los conceptos de movimiento y multitud regresan para quedarse. ¿qué cambios pueden producir? No se sabe. Pero la tendencia es clara y no puede negarse. Cada vez hay más protestas, más violentas y menos control político-organizativo de las mismas. La manifestación siempre ha sido de protesta. La protesta siempre ha sido disruptiva. Si no, es otra cosa. Quizás Internet esté en la base, información, convocatoria y eco de las mismas. Pero las protestas están en la calle.

  11. Información Bitacoras.com…

    Valora en Bitacoras.com: No había ni 300 personas en la manifestación a favor de Julian Assange, fundador de Wikileaks, este sábado en Madrid. Y eso que era la más numerosa. La “mayor filtración de la historia”, la primera foto global de los 4/5 ocul…..

  12. […] This post was mentioned on Twitter by Juan Luis Sánchez, Juan Luis Sánchez. Juan Luis Sánchez said: @pflis me meto en el debate. Totalmente de acuerdo contigo http://bit.ly/hSZ4P8. La calle ya no es el termómetro cc @iescolar […]

  13. […] La genealogía del 15M es compleja y hasta incompatible a veces con la ansiedad periodística de saber quién está detrás de las cosas. “Yo creo que se ha dado una unión de movimientos”, nos dice Julián. “Por un lado, la indignación por los papeles de las embajadas estadounidenses filtrados por Wikileaks generó acciones como las de Anonymous“, una red de ciberactivistas que coordinó ataques informáticos a determinadas páginas como protesta por el acoso a su director, Julian Assange. “Pero se convocó una manifestacón y no fueron ni 300 personas“. […]

  14. […] La genealogía del 15M es compleja y hasta incompatible a veces con la ansiedad periodística de saber quién está detrás de las cosas. “Yo creo que se ha dado una unión de movimientos”, nos dice Julián. “Por un lado, la indignación por los papeles de las embajadas estadounidenses filtrados por Wikileaks generó acciones como las de Anonymous“, una red de ciberactivistas que coordinó ataques informáticos a determinadas páginas como protesta por el acoso a su director, Julian Assange. “Pero se convocó una manifestacón y no fueron ni 300 personas“. […]

  15. […] The genealogy of M15 is complex and even incompatible with the journalistic anxiety of knowing who’s behind things. “I think there’s been an union of movements” says Julián. “On one hand the indignation prompted by the US embassy cables leaked by Wikileaks lead to actions such as “Anonymous”, a net of cyber activists that coordinated computer attacks on several web pages as a protest for the harassment of the director, Julian Assange. “But they called a demonstration and not even 300 people showed up”. […]

  16. […] ?? ????? ???? ???? 15? ???? ??? ??? ??????? ?????? ?? ??????? ???????? ?????? ?? ???? ??????, “????? ??? ?????? ??? ?????” ???? ??? ?????” ?? ???: ???????? ?? ????? ???????? ??????? ??????? ???? ?????? “????????”9 ????? ???? ???? ???? ??? ??”????????” (???????? ????????) – ???? ??????? ?????????? ?? ????????- ????? ???? ?????? ????? ????????? ??? ????? ????? ??????? ??? ????????? ???? ???? ??? ???? ???????? “?????? ?????” “??????? ?? ??? ??? ???? ????? ???????? ?? ???? ???? ?? 300 ???“. […]

  17. […] The genealogy of M15 is complex and even incompatible with the journalistic anxiety of knowing who’s behind things. “I think there’s been an union of movements” says Julián. “On one hand the indignation prompted by the US embassy cables leaked by Wikileaks lead to actions such as “Anonymous”, a net of cyber activists that coordinated computer attacks on several web pages as a protest for the harassment of the director, Julian Assange. “But they called a demonstration and not even 300 people showed up”. […]

  18. […] La genealogía del 15M es compleja y hasta incompatible a veces con la ansiedad periodística de saber quién está detrás de las cosas. “Yo creo que se ha dado una unión de movimientos”, nos dice Julián. “Por un lado, la indignación por los papeles de las embajadas estadounidenses filtrados por Wikileaks generó acciones como las de Anonymous“, una red de ciberactivistas que coordinó ataques informáticos a determinadas páginas como protesta por el acoso a su director, Julian Assange. “Pero se convocó una manifestacón y no fueron ni 300 personas“. […]

  19. […] La genealogía del 15M es compleja y hasta incompatible a veces con la ansiedad periodística de saber quién está detrás de las cosas. “Yo creo que se ha dado una unión de movimientos”, nos dice Julián. “Por un lado, la indignación por los papeles de las embajadas estadounidenses filtrados por Wikileaks generó acciones como las de Anonymous“, una red de ciberactivistas que coordinó ataques informáticos a determinadas páginas como protesta por el acoso a su director, Julian Assange. “Pero se convocó una manifestacón y no fueron ni 300 personas“. […]

Comparte tu punto de vista

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>