Dominación económica

Encontré en el blog de Miguel de Icaza la descripción de un libro, "Confessions of an Economic Hit Man", que Miguel describe como (traducido libremente por mí del artículo original):

El libro cuenta la historia de un hombre que es entrenado para convencer a países del tercer mundo de aceptar grandes prestamos para infraestructura de desarrollo. Esto se hace creando modelos y proyecciones de la prosperidad que tales proyectos le traerán a esos países.

(...) Esta deuda nunca puede ser cancelada y es luego cambiada por tierra, bases militares, o votos en las Naciones Unidas. A cambio, los políticos que aceptan estos términos tienen un incremento de popularidad por traer infraestructura al país.

(...) El libro describe tres etapas para asegurarse que el país contraiga la deuda. El primer paso es convencer a los líderes del país de los beneficios que traerá a la población y el crecimiento económico que logrará el país. Si el líder se rehusa, un segundo equipo denominado "chacales" realizan asesinatos puntuales y si esto falla, se envían a los militares.

Cualquier latinoamericano ha sido testigo de estos préstamos, yendo las construcciones y favores especiales a pocas compañías en los últimos veinte años. Este libro ofrece una mirada en los mecanismos internos de este proceso.

Más allá de que mucho de lo que describe Miguel es cierto, y lo vivimos en Argentina también (en parte por eso me parece loable la inquietud de dejar de depender económicamente del FMI para que no impongan más condiciones, más allá de que no esté del todo de acuerdo con el método para lograrlo que está siguiendo el gobierno actual), no se circunscribe solamente a los últimos veinte años.

Como bien lo cuenta Jorge Lanata en su libro Argentinos I (EDITADO: la url no existe más), este proceso comenzó aquí hace más de dos siglos, por parte del representante del poder económico en ese tiempo: Inglaterra.

Todavía no leí el tomo II de Argentinos, pero lo tengo en la lista de los próximos que voy a leer.

Comentarios Imprimir

El poder de las herramientas correctas

Esto lo escribo solamente como un ejemplo redondito del porqué una plataforma Unix o Linux es mucho más poderosa que una plataforma Windows. Ejemplos como este se suceden varias veces al día; el tiempo ganado ampliamente supera el invertido para aprender estas herramientas.

El trabajo que tenía que realizar era, de un archivo de log, saber cuales LAs se estaban supervisando. No entraré en detalle acá de qué significa una LA, pero consideren que se representa como un número. En otras palabras, tenía que extraer de un log cuales de esos "números" existían.

El log en cuestión estaba en un archivo que pesaba 333MB. Sí, un archivo de texto de 333 Megas. ¿Cantidad de lineas del archivo? Más de cinco millones.

Por supuesto, no me acordaba del formato interno del archivo, entonces debía ver algunas lineas del mismo para recordármelo. Piensen un segundo cómo editarían un archivo de esta magnitud en Windows. ¿Ya lo pensaron? Vuélvanlo a considerar, y sigan leyendo luego de que se den cuenta de cuantas veces van a tener que reiniciar la PC hasta poder terminar de trabajarlo.

Bueno, en Pytonisa (que es el Linux que tengo instalado en la oficina) hice un head statlogs_20050102.txt, y me mostró instantáneamente las primeras diez lineas del archivo. Allí pude ver cual era el formato:

15842;S;01158353525;15842;Message delivered;00:00
15842;S;02616502229;15842;Message delivered;00:00
15005;S;02362535926;15005;Message delivered;00:00
15842;S;02616592586;15842;Message delivered;00:00
15842;S;03814423758;15842;Message delivered;00:00
15004;S;01154975858;15004;Message delivered;00:00
15004;S;02652483462;15004;Message delivered;00:00
15005;S;01158335496;15005;Message delivered;00:00
15005;S;01158268262;15005;Message delivered;00:00
15004;S;02914189236;15004;Message delivered;00:00

Yo tenía que ver cuales eran todos los números que estaban en la primer columna. ¿Complicado? ¡Para nada! Usé la orden...

::

awk -F';' '{print $1}' statlogs_20050102.txt | sort -u

...que me dió el resultado deseado:

111
15000
15002
15003
15004
(etc)

¡¡en 78 segundos!! ¡¡más de cinco millones de registros!! (consideren que es una PC de escritorio que está siendo compartida por varios usuarios; ya que estamos, les comento que hace 207 días que está prendida, trabajando sin chistar, sin tener que reiniciarla).

Y aún más importante, en este minuto y monedas, yo no tuve que hacer nada: así hubiese tardado diez minutos, trabajó la máquina sola, yo perdí veinte segundos en armar la orden y luego estuve leyendo mails, etc...

¿Cómo habrían hecho esto en Windows?

Comentarios Imprimir

Cassini-Huygens

Tras viajar siete años a bordo de la nave Cassini, la sonda Huygens iniciaba durante esta madrugada un viaje solitario que la llevará a atravesar el 14 de enero la atmósfera de la luna más grande de Saturno: Titán. A la sonda Huygens le tomará 20 días llegar a destino luego de haberse separado de la nave.

Llegando a Saturno

El fin del proyecto conjunto de las agencias espaciales de EE.UU. (Nasa), Europa (ESA) e Italia (ASI) es recoger datos de un ambiente que, según los científicos, se asemejaría al existente en la Tierra en la época en la que aparecieron las primeras formas de vida. Titán es, de hecho, la única luna del Sistema Solar que tiene una atmósfera densa y rica en material orgánico. La misión cuesta 2705 millones de euros y durante su travesía ha recorrido 3200 millones de kilómetros.

La nave central fue colocada el 17 de diciembre en una trayectoria controlada de colisión con Titán, a unos 1250 millones de kilómetros de la Tierra, que le permitió liberar la sonda Huygens poniéndola en la ruta correcta. La separación se produjo a las 02:00 hs GMT. Unos minutos más tarde, Cassini giró hacia la Tierra para enviar la señal que confirmaba la separación.

En el momento de la separación, la nave nodriza debió girar sus antenas de espaldas a la Tierra, por lo que los científicos no dispusieron de datos en tiempo real sobre la operación. Una vez que pudo girar sus emisores con dirección a la Tierra, la señal tardó una hora y ocho minutos en recorrer los millones de kilómetros a los que se encuentra el vehículo espacial.

Como nota de color imagínense, si ustedes se ponen nerviosos cuando la computadora no responde a un click a los cinco o diez segundos, lo que debe sufrir esta gente que está controlando la nave a tanta distancia y tienen tanta demora para interactuar con la misma!

Comentarios Imprimir

Vida artificial

El otro día surgió una discusión en la lista de correo de PyAr sobre algoritmos genéticos y vida artificial. La charla estuvo interesante y me dejó pensando, leí algo de bibliografía y sinteticé lo siguiente.

Con el propósito de experimentar con formas de vida, tenemos dos alternativas para simular:

  • La realidad: Lograr en un experimento de simulación, mediante evolución, lo mismo que logró la naturaleza, de manera de poder predecir que hubiese pasado si las condiciones de contexto son distintas (y poder "deducir" qué tipo de vida habría en un planeta con diez grados de temperatura promedio menos, por ejemplo).

  • Una vida artificial: En este caso el propósito es predecir como se comportarían entes que luego se construirían con las mismas reglas que las simuladas. Basándonos en el tipo de vida artificial, tenemos dos opciones totalmente distintas:

    1. Software: Los entes serían solamente programas

    2. Hardware: Los entes serían elementos electromecánicos.

El punto que me interesaría explorar es una mezcla de la realidad con la vida artificial de elementos de hardware. De esta manera podríamos estudiar como evolucionarían nano-robots en un determinado ecosistema, tomando elementos de la vida real para lograr perfilar y mejorar el diseño físico y de comportamiento de estos entes.

A nivel de la simulación, me gustaría mucho lograr una simulación de un ecosistema que parta de una "sopa" de componentes básicos, que se vayan formando entes y que por simple evolución estos entes lleguen a ser algo útil. Esta sopa de componentes básicos no es sencillo de definir, e influye enormemente en el desarrollo del experimento (tanto cuales son, como sus características y las reglas a que someten al resto).

Tenemos dos tipos básicos de componentes, los de contexto y los formativos. Los formativos son partes del ente a crear, y están diseminados en la sopa para que por simple azar se formen los entes más variados. Para comenzar a formarse el ente y para ir tomando nuevos componentes, sólo hace falta una simple colisión y una probabilidad de incorporación (esta probabilidad tiene un componente de azar y un componente que es más chico cuanto más grande es el ente, para evitar que crezcan demasiado). Algunos componentes formativos pueden ser:

  • Sensores: Generan una señal cuyo valor es más alto cuanto más cerca tienen el elemento a sensar. La principal característica es que solamente sensan un elemento, el cual puede ser cualquiera de los componentes de la sopa (es muy útil incorporar un sensor de Comida, por ejemplo). Otra característica es la sensibilidad: un sensor burdo puede indicar un 1 cuando tiene una Comida a dos posiciones de distancia, y otro puede indicar con la misma señal una Comida a 10 posiciones. Los sensores pueden ser direccionales (que cubran 120 grados en una dirección, por ejemplo) u omnidireccionales.

  • Transmisores: Transmiten la señal recibida de los distintos sensores con los que tienen contacto físico. Los transmisores pueden tener distintos tamaños, los que les permiten agrupar más o menos sensores. El transmisor adquirirá sensores una vez que esté unido a un Procesador. El algoritmo con el cual procesa las señales de los distintos sensores es una característica del transmisor (puede ser que sume todo, que saque un promedio, que filtre todo excepto los de Comida, etc.)

  • Actuadores: Hay de dos tipos: Movimiento y Agresión. Los de movimiento permiten al ente desplazarse en la dirección requerida y no solamente flotar en la sopa; si el ente tiene más de un actuador de movimiento, la "intención de desplazamiento" se calculará como la suma vectorial del actuador que esté activo en ese momento (a esta intención luego se le suma vectorialmente el movimiento infligido por la sopa, y de allí se calculará el movimiento real, que es discreto y se cuenta en posiciones). Los actuadores de Agresión pueden ser activos o pasivos; los activos quitan energía a los otros entes (en función de que parte de los otros entes toquen), mientras que los pasivos protegen del exterior (pero a su vez evitan incorporar nuevos elementos).

  • Procesador: El procesador es el que controla al ente. Lo gobierna con un algoritmo que especifica las acciones que quiere realizar en función de sus capacidades y de la información que reciba (por ejemplo, si tiene muchos sensores que indican comida para un costado, puede indicarle a sus actuadores que intenten desplazarse para allí; o si tiene un muy bajo nivel de energía puede decidir no hacer nada que consuma la misma y flotar en estado de "hibernación" hasta que encuentre comida y pueda restaurar sus funciones básicas). Lo interesante de este procesador es que el algoritmo de control no debe ser programado por el usuario, sino que tiene que ser desarrollado por el mismo procesador, aunque no tiene una libertad total para ello: en función de que los elementos del universo son finitos (hay determinados tipos de sensores, etc), se puede preestablecer el programa que evalúa las entradas para decidir las salidas, pero como se combina cada cosa y en que grado lo irá decidiendo (o aprendiendo)el procesador.

Los componentes de contexto pueden ser los siguientes:

  • Comida: Si el ente se encuentra con ella, puede aprovecharla y aumentar su nivel de energía.

  • Peligros: Pueden haber elementos dañinos a los distintos componentes (por ejemplo: un anti-sensor).

Tenemos un componente global a todos que se llama Kronos: va marcando el reloj de la vida en el experimento, y como dios que es, maneja los elementos de la sopa. En otras palabras, es el programa que, por ejemplo, se fija cuales entes deben moverse, que pasa si dos se chocan, mueve los elementos de la sopa al azar, genera nuevos elementos para la sopa, se fija si un ente choca con un elemento y si debe incorporarlo o no, etc.

Un punto importante en las reglas de la sopa es la reproducción: cómo a partir de dos (¡o más!) entes generamos uno nuevo. Esto no lo tengo todavía razonado del todo, pero podría ser básicamente una generación de un nuevo ente (administrada por Kronos) a partir de elementos de los padres. Aquí tenemos que incluir los conceptos de herencia (el hijo debe parecerse a los padres), mutación (cambios al azar para que los hijos no sean una copia fiel de los padres) y cruces (el hijo debe parecerse a ambos padres). Se necesita también estudiar como la reproducción afecta a los padres (baja de energía, pérdida de partes, limitaciones en las decisiones de movilidad, etc) y un montón de otros detalles (por ejemplo, cómo los padres protegerán al crío hasta que crezca, es decir, hasta que incorpore los elementos necesarios para su propia supervivencia).

Quedan muchísimos otros puntos para ver, desde el refinamiento de las reglas que mencioné aquí hasta la inclusión de nuevos elementos (por ejemplo, Comunicadores para que los entes intercambien "ideas", o actuadores de Cópula para ajustar más el mecanismo de reproducción, o mejores reglas para definir la mutación y el intercambio del ser creado).

Comentarios Imprimir

Firefox sigue ganando terreno

Otra marca importante para Firefox: en menos de 32 días fueron bajado 10 millones de instaladores.

Firefox

Todavía no encontré un lugar confiable como para revisar periódicamente figuras de porción de mercado entre todos los navegadores, pero es obvio que Firefox va erosionando despacio pero constantemente la base de usuarios de Internet Explorer.

Esto se logró, más allá de la soberbia calidad y funcionalidad del producto, por campañas masivas de marketing a través de la ayuda gratuita de colaboradores y amigos de Firefox, que como yo, le taladran la cabeza con que usen Firefox al primero que se cruce, :). Estas campañas se centran y coordinan en SpreadFirefox.

Otro producto que por ahora no tiene tanta publicidad, pero que seguramente le llegará por haber llegado a su versión 1.0, es Thunderbird, un lector de correo/noticias de muy buena calidad, con características como: soporte IMAP/POP, correo HTML, etiquetas, búsqueda rápida, libreta de direcciones inteligente, acuses de recibo, filtrado avanzado de mensajes, completado de direcciones LDAP, herramientas de importación, potencia en búsquedas y, además, la capacidad de manejar múltiples cuentas de correo electrónico y noticias.

Comentarios Imprimir