jueves, 16 de diciembre de 2010

Juego linux: Possible Worls

Possible Worls es un juego realizado durante el curso de "Computer Graphics" en la Universidad Técnica de Viena (en 4 meses aprox.).
Es sorprendente lo que se puede lograr en muy poco tiempo si dispones de los conocimientos necesarios.

miércoles, 15 de diciembre de 2010

Unas características en la radiación cósmica podrían sugerir que nuestro universo no está solo.

Fuente: Ciencia Kanija

Si pensabas que el cosmos abarcaba mucho, piénsalo de nuevo. Los teóricos han sugerido desde hace mucho tiempo que nuestro universo es sólo uno de los muchos que existen en un complejo “multiverso”. Ahora, los investigadores han encontrado pistas de que éste puede ser realmente el caso.

Los investigadores, que afirman tener los primeros datos observacionales para la presencia de un multiverso, no pueden demostrar aún que nuestro universo sea uno entre muchos. No obstante, su análisis, publicado el pasado viernes en el servidor de arXiv, implica que datos más precisos podrían confirmar la existencia de un multiverso. “Es increíblemente emocionante pensar que hay siquiera una posibilidad de tener pruebas observacionales reales de un multiverso durante nuestra vida”, dice Alan Guth, cosmólogo en el Instituto Tecnológico de Massachusetts (MIT) en Cambridge, quien no estuvo implicado en el estudio.




La posibilidad del multiverso procede de la teoría de la inflación, la idea de que nuestro universo sufrió un periodo de expansión rápida poco después del Big Bang. Desarrollada por Guth y otros, la teoría de la inflación hace un buen trabajo al explicar por qué el espacio es mayormente liso. Pero los investigadores no pueden explicar qué inició esta expansión y qué la detuvo. Estos problemas han llevado a los teóricos a considerar la posibilidad de que la inflación pudiera haber tenido lugar en otros lugares y momentos, generando universos paralelos al nuestro.

El cosmólogo Hiranya Peiris del University College de Londres y sus colegas, decidieron probar el multiverso examinando la radiación del fondo de microondas cósmico (CMB), un remanente del Big Bang que proporciona un mapa de qué aspecto tenía el universo unos 380 000 años después de su inicio. Si un universo cercano había interactuado de alguna forma con el nuestro antes de ese momento, podría haber dejado huellas en el CMB que podríamos descubrir nosotros casi 15 000 millones de años después. De acuerdo con el grupo de Peiris, dicha huella tendría ciertas características reconocibles, tales como unos bordes distintivos y formas simétricas.

Para buscar tales características, los investigadores idearon un algoritmo informático que analizó una pequeña porción de los datos del CMB registrados por la Wilkinson Microwave Anisotropy Probe (WMAP) de la NASA. El algortimo encontró datos que eran consistentes con el tipo de características generadas por una colisión entre universos. Aunque no es un descubrimiento en sí mismo, es una pista que sugiere que podría encontrarse un resultado más definitivo con observaciones de mayor resolución, tales como las realizadas por el satélite Planck el año pasado. “No esperábamos encontrar nada, y en lugar de eso encontramos estas intrigantes pistas incluso en los datos actuales”, comenta Peiris.

Alexander Vilenkin, cosmólogo de la Universidad Tufts en Medford, Massachusetts, que ayudó a desarrollar la teoría de la inflación, cree que es un resultado “esperanzador”. Si realmente encontramos algunas características en el CMB que encajen bien con una colisión pero sean difíciles de explicar de otra forma, sería un desarrollo tremendamente importante”, comenta.

Aunque no todas las noticias son buenas. El CMB, un patrón mayormente aleatorio, está notoriamente abierto a las conocidas como observaciones a posteriori – es decir, puedes ver lo que quieras en él. En un famoso caso, los científicos afirmaron haber descubierto las iniciales del físico británico Stephen Hawking. Aunque el grupo de Peiris calibró su algoritmo para evitar tales errores, siempre está la posibilidad de que las características tengan un origen mucho más mundano. “A menos que la naturaleza revele algunas características excepcionales en el CMB, será difícil discriminar muchos detalles sobre el proceso dinámico que tuvo lugar en los inicios del universo”, dice Arjun Berera, cosmólogo de la Universidad de Edimburgo en el Reino Unido.

Autor: Jon Cartwright
Fecha Original: 13 de diciembre de 2010
Enlace Original

No hay agujeros negros en el LHC, pero sí tiempo extra.

Fuente: Ciencia Kanija

La actualización en la puja por capturar la partícula de Higgs, probablemente se retrase.

El final del mundo no está tan cerca después de todo. A pesar de las predicciones de algunos teóricos, los agujeros negros microscópicos no han aparecido hasta el momento dentro del Gran Colisionador de Hadrones (LHC), según han revelado los científicos.

El resultado, que se publicará esta semana en arXiv.org, llega cuando los investigadores hacen planes para mantener en funcionamiento el LHC hasta finales de 2012, en lugar de 2011 como se había programado anteriormente. El colisionador, de 27 kilómetros en el laboratorio de física de partículas del CERN cerca de Ginebra en Suiza, ha sufrido retrasos y una atroz avería antes de, por fin, empezar su vida a finales de 2009, y los físicos dicen que ahora está rindiendo por encima de las expectativas.

Las predicciones de que se formarían mini-agujeros negros en las energías de colisión de unos pocos teraelectrónvolts (TeV) estaban basadas en teorías que consideran los efectos gravitatorios de las dimensiones extra del espacio. Aunque se esperaba que los agujeros negros se evaporasen rápidamente, algunos sugerían que podían durar lo suficiente para consumir el planeta. Pero los científicos del detector Compact Muon Solenoid (CMS) ahora dicen que no han encontrado signos de mini agujeros negros en las energías de 3,5–4,5 TeV. El físico Guido Tonelli, portavoz del detector, dice que para el final de la próxima ejecución, el LHC debería ser capaz de excluir la creación de agujeros negros casi por completo.

El hallazgos es uno entre un flujo de artículos recientes procedentes del LHC, que han sido posibles gracias al inesperado alto rendimiento de la máquina. “Quedamos muy sorprendidos por lo bien que se comportaba la máquina cuando empezamos a llevarla a sus límites”, dice Steve Myers, físico del CERN que supervisó las operaciones del LHC durante este año. Como consecuencia, los físicos son cada vez más optimistas sobre que sean capaces de detectar el esquivo bosón de Higgs antes de lo esperado. La partícula, la presa más conocida del LHC, y su campo asociado, se cree que proporcionan masa al resto de partículas.

Inicialmente, los físicos no estaban seguros de que el LHC pudiese crear y detectar el Higgs en las actuales energías de la máquina, y los directores del CERN habían planeado un paréntesis de 15 meses desde el inicio de 2012 para una actualización que permitiría llegar a energías mayores. Pero hay un creciente consenso sobre que, incluso sin la actualización, el LHC será capaz de explorar la mayor parte del rango de energía en el que podría encontrarse una partículas estándar del Higgs. Sergio Bertolucci, director del CERN para investigación y cálculo, añade que hay razones políticas para alargar la ejecución. El segundo acelerador más potente del mundo, el Tevatron del Fermilab en Batavia, Illinois, está pisando los talones del LHC conforme recopila un creciente cuerpo de datos en su propia búsqueda del Higgs. Además, el éxito potencial del LHC es probable que influya en los planes europeos de física de alta energía, así como en un plan global para colisionadores lineales de próxima generación. Ambos se enfrentan a grandes decisiones presupuestarias en los próximos años.

El plan para extender la ejecución del plan del LHC se debatirá en una reunión de directores del LHC en Chamonix, Francia, a finales de enero, y se espera una decisión final poco después.

Autor: Geoff Brumfiel
Fecha Original: 14 de diciembre de 2010
Enlace Original

Real Steel

Tiene pinta de ser tan malo que sea (friki)genial.

Cómo hacer nuetros propios "indicators".

Fuente: Ubuntulife

Es un ejemplo muy sencillo de como crear un indicador, y asociarle un menú. En el ejemplo se crean 5 elementos en el menú. Uno para lanzar una aplicación externa (gedit en este caso), para salir, y otros tres que son un ejemplo de como crear un elemento de menú de tipo radio, check o imagen.

#! /usr/bin/python

#::::::::::::::::::::::::::::::::
# Ejemplo de uso de AppIndicator
#::::::::::::::::::::::::::::::::

import gobject
import gtk
import appindicator
import os

# Acciones que se ejecutan cuando pulse algun elemento del menu
def action1_clicked(widget,data=None):
    print "Lanzando gedit..."
    os.system("gedit &")

def action2_clicked(widget,data=None):
    print "Salir.."
    exit();

def quit(widget, data=None):
    gtk.main_quit()

# Codigo principal
if __name__ == "__main__":

    # Creo el indicador
    ind = appindicator.Indicator ("example-simple-client", "indicator-messages", appindicator.CATEGORY_APPLICATION_STATUS)
    ind.set_status (appindicator.STATUS_ACTIVE)
    ind.set_attention_icon ("indicator-messages-new")
    # Icono para el indicador
    ind.set_icon("distributor-logo")

    # creo un menu
    menu = gtk.Menu()

    # Empiezo a crear elementos para el menu

    # primer elemento (sera de tipo normal)
    # texto
    item = "Lanzar GEDIT..."
    # creo elemento de menu
    menu_item = gtk.MenuItem(item)
    # al pulsarlo le asocio que ejecute "action1"
    menu_item.connect("activate", action1_clicked)
    # Lo asocio al menu
    menu.append(menu_item)

    # Parecido para el item 2 del menu
    item2 = "Salir"
    menu_item2 = gtk.MenuItem(item2)
    # al pulsarlo le asocio que ejecute la "action2"
    menu_item2.connect("activate", action2_clicked)
    menu.append(menu_item2)

    # Aqui creo el item 3 pero sera de tipo check
    check = gtk.CheckMenuItem("Check Menu Item")
    menu.append(check)

    # Aqui creo el item 4 pero sera de tipo radio
    radio = gtk.RadioMenuItem(None, "Radio Menu Item")
    menu.append(radio)

    # Aqui creo el item 5 pero sera una imagen
    image = gtk.ImageMenuItem(gtk.STOCK_QUIT)
    image.connect("activate", quit)
    menu.append(image)

    # hago visibles los elementos del menu
    menu_item.show()
    menu_item2.show();
    check.show();
    radio.show();
    image.show();

    # Asocio el menu al indicador
    ind.set_menu(menu)

    # Ejecuto el codigo principal
    gtk.main()

Fontforge: Crea tu propio tipo de letra.

Fontforge es una aplicación que te permite crear tu propio tipo de letra postscript, truetype, opentype, cid-key, multimaster, cff, svg y tipos de letra de mapa de bits (bdf, FON, NFNT). Asimismo permite editar y convertir de un formato a otro. Como extra, también es capaz de tratar con tipos de letra de 'Mac' y tiene ejecutables para las máquinas de Apple.

Es oficial: el primer hombre curado del SIDA

Fuente: Gizmodo

Por primera vez un hombre ha sido curado del Síndrome de Inmunodeficiencia Adquirida.

Se llama Timothy Ray Brown, tiene 42 años y en realidad tenía otra preocupación con su salud más importante que el SIDA, pues también padecía una leucemia. Gracias a la medicación de retrovirales el SIDA para él se había convertido en una enfermedad crónica pero los esfuerzos del Hospital Médico Universitario de la Caridad en Berlín, donde seguía tratamiento, iban más encaminados a librarle del cáncer.

Cuál no fue la sorpresa del equipo médico cuando al recibir Brown un tratamiento consistente en un trasplante de células madre… se ha curado del SIDA.

Para tratarle la leucemia Brown tuvo que sufrir un agresivo tratamiento de quimioterapia que le dejó sin células inmunes en todo su cuerpo.

El trasplante de células madre a que fue sometido era también una decisión arriesgada, pues alrededor de un tercio de los pacientes de esta intervención no la superan y fallecen. La suerte para Brown es que el donante de dichas células madre presentaba una rarísima mutación genética que presentan muy pocas personas y que les hace virtualmente inmunes al virus del SIDA. Como las defensas de Brown habían desaparecido debido al tratamiento de quimio contra su leucemia, las células resistentes al SIDA procedentes del donante repoblaron el organismo de Brown y tres años después (el trasplante lo recibió en 2007), sin haber tomado antirretrovirales desde entonces, exhaustivos análisis demuestran que no hay rastro en su organismo del SIDA.

En pocas palabras, Timothy Ray Brown se ha curado del SIDA.

Es aún pronto para estimar si con esto se abre la puerta para tratamientos aplicables a todos los afectados por esta enfermedad. Para empezar a Brown llegar a este punto también le ha costado mucho sufrimiento a causa tanto de la quimioterapia que anuló todas sus defensas como del propio trasplante de células madre, que como ya hemos dicho hay un tercio de quienes se les aplica que no lo superan y fallecen.

Pero el hecho que pasa a los anales de la Historia de la Medicina es que el SIDA se puede curar. Todo un amplio abanico de posibilidades combinadas (terapia genética, tratamientos con células madre…) se abren para acabar con esta temida enfermedad. ─Antonio Rentero [AIDS map / Blood Journal]

Si no sabes que regalar estas navidades a un Linuxero...

Una opción es esto, un paquete de 5 juegos "indie" para Linux y pagas lo que quieras con la opción de que el pago sea a las compañías de juegos y/o a una asociación benéfica.

Nota: Si queréis ver un vídeo-anuncio divertido, echad un vistazo a esto...
http://www.humblebundle.com/

MultiCD: Para tener varios discos de instalación en uno.

Copypasta:

Multicd.sh es un script de shell diseñado para construir una imagen de CD multiarranque conteniendo varias distribuciones y/o utilidades de Linux diferentes.
Las ventajas de hacer un CD con este script son:
  • No es necesario grabar varios CDs para distribuciones pequeñas.
  • Si ya se tienen las imágenes ISO, no es necesario descargarlas nuevamente.
  • Cuando una nueva versión de alguna de las distribuciones es liberada, simplemente se descarga la nueva versión y se ejecuta nuevamente el script para construir un nueva imagen multiarranque.

Asturix 3: El GNU/Linux de Asturias.

Me he enterado por Ubuntips de esta distribución Asturiana basada en Ubuntu pero cuyo gestor de ventanas por defecto es el KDE.

Algunas de sus características y novedades:

  • Interfaz elegante y profesional, combinada con un atractivo diseño fácil de usar
  • Integración total con redes sociales y de microbbloging, como Twitter, Facebook o Identi.ca
  • Gracias a Asturix Bridge puedes añadir, eliminar y ejecutar aplicaciones web como si de aplicaciones nativas se trataran
  • Escaneo facial. Escribir tu contraseña para entrar ya es cosa del pasado
  • Música libre y gratis las 24 horas del día. Con Jamendo integrado, puedes oir la música de miles de artistas de forma totalmente legal


Asturix viene en 3 versiones distintas:

  1. Asturix 3 i686
  2. Asturix 3 x86_64
  3. Asturix 3 Lite

martes, 14 de diciembre de 2010

Si quieres protegerte de conexiones indeseables por ssh.

Si quieres saber en todo momento los intentos de acceso a tu ordenador, puedes usar el comando:
watch -n 60 'cat "/var/log/auth.log"|grep ssh|tail -n 33'
Este comando mira cada minuto (60 segundos) en el 'log' de autorizaciones (ya sean aceptadas o rechazadas), extrae lo referente al puerto ssh (con el comando 'grep') y te muestra los 33 últimos intentos de acceso con 'tail'.

Si quieres mantener a raya los accesos, el programa 'fail2ban' automáticamente trata de identificar intrusos y bloquearlos (está escrito en python, por lo que podéis echarle un vistazo al código mientras se ejecuta), aunque es un poco lento en su tarea y puede tardar un rato en identificar a un intruso como 'enemigo'. Esto significa que el intruso puede hacer unos cuantos intentos de hackear el ordenador antes de ser bloqueado. Normalmente el hacker tiene tiempo para hacer unos 6 o 9 intentos antes de ser identificado, pero puede configurarse para que sea más paranoico, aunque con el consiguiente riesgo de que te bloquee a un usuario legal.
Puedes comprobar lo que hace el 'fail2ban' con el comando:

tail -f /var/log/fail2ban.log
Actualizado: Una alternativa a 'fail2ban' es 'DenyHosts', el cual mejora la seguridad mediante el uso de listas de IPs conocidas que se descargan y sincronizan desde el servidor principal de DenyHosts. Cuenta con más de 27000 sincronizaciones y es un bastante eficiente para protegerse de máquinas que ya se conocen como atacantes, frente a fail2ban, que realiza únicamente análisis de los registros.

Por otra parte, el comando para mirar quien trata de conectarse, mejor que:
watch -n 60 'cat "/var/log/auth.log"|grep ssh|tail -n 33'
es usar:
watch -n 60 'grep ssh /var/log/auth.log|tail -n 33' 
que es ligeramente más rápido (y siendo puristas es mejor reducir el número de ejecutables de tres "cat+grep+tail" a solo dos "grep+tail").

Tiny and Big.

"Tiny and Big" es un gran juego para Linux que hay que probar.

Sólo por estos vídeos el juego tiene que ser divertidísimo.

Receta de helado de plátano.

Una deliciosa y sencilla receta para estas navidades (y para el verano, mejor):

Herramientas
  • Tabla de cortar
  • Cuchara para medir
  • Papel encerado
  • Cuencos pequeños, 2
  • Cucharas, 2
Los ingredientes:
  • Los plátanos, no demasiado maduros 3
  • Chocolate semi-dulce, 5 oz
  • Chocolate blanco, 5 oz
  • mantequilla
  • Virutas de chocolate

Paso 1
Pele los plátanos y corte cada uno por la mitad. Introduzca un palo de helado por la base del corte de la banana para que se vea como una piruleta. Colocar los plátanos en una tabla de cortar o una placa de plástico, e introducirlas en el congelador mientras prepara el resto de los ingredientes. Tener fríos los plátanos ayudará a endurecer el chocolate más rápido.

Paso 2
Coloque una hoja de papel encerado sobre el mostrador. Ponga el chocolate semi-dulce y ½ cucharadita de mantequilla en un bol. Caliente el chocolate en el microondas al 100% de potencia durante 30 segundos. Revuelva y repita. Repetir una tercera vez, si es necesario, hasta que el chocolate se derrita por completo. Repita el proceso con el chocolate blanco.

Paso 3
Tome un plátano de la nevera a la vez. Colóquelo sobre el papel encerado y vierta el chocolate de elección sobre la parte superior. Gire el plátano para cubrir todos los lados.

Paso 4
Decore el plátano con las virutas de chocolate (o lo que se desee). Manténgalo durante un minuto aproximadamente para que el chocolate se endurezca, a continuación, volver a colocarlo en el congelador.

Paso 5
Raspe el chocolate sobrante fuera del papel encerado y volver a agregar a la taza respectiva. Re-fundir en el microondas durante 30 segundos si el chocolate se hace demasiado grueso para verter. Repita el proceso de revestimiento y la decoración con el resto de los plátanos.

Paso 6
Después de que todos los plátanos han sido cubiertos en chocolate y decorado, guardarlos en el congelador durante 45-60 minutos. ¡Disfrute de los helados!

lunes, 13 de diciembre de 2010

Deus Ex (versión extendida)

Vinux 3.1 – Ubuntu para ciegos y disminuidos visuales

Fuente: Ubuntips

Vinux es una distribución basada en Ubuntu masterizada para que sea aprovechada por aquellas personas que tienen ceguera o disminución visual.

Acaba de ser liberada la versión 3.1 basada en Maverick, con soporte para dispositivos Braille, uso de Orca y/o el Zoom Desktop de Compiz para navegar y agrandar la pantalla y para los que prefieren usar una consola, el uso de SpeakUp para poder escuchar los comandos tipeados y su salida.



Vinux 3.1 se encuentra disponible en formato de LiveCD y LiveDVD, con versiones para 32 y 64 bits, pueden descargar la imagen  eligiendo uno de los mirrors en su página de descargas.

Una buena manera de demostrar que también con Software libre se puede integrar a personas con capacidades diferentes.

El Mecanismo de Anticitera reconstruido con legos

Democracia y educación.

Fuente: Historias de la ciencia.

Está claro que la democracia funciona mejor en la medida que los electores son inteligentes y están bien informados, es decir, la eficacia de la democracia está fuertemente ligada a la educación. Cuando pienso que en los Estados Unidos las mujeres no votaron hasta después de nacer yo, y que los negros no pudieron votar en cantidades significativas hasta más tarde aún, no soy pesimista con respecto a nuestro gran experimento de hacer que la educación y el derecho al voto sean extensivos a todos los ciudadanos. Es difícil imaginar cómo se hubiera podido llevar a cabo una tarea tan monumental sin una debilitación temporal de los valores morales de las escuelas y colegios, y por ende de la prudencia del electorado. Pero, considerando lo recientemente que empezó esa obra, y el gran tirón que representa, me sorprende lo bien que nos está saliendo.

El mayor peligro —como señaló Mill en Representational Government, subrayó Alexis de Tocqueville en Democracy in America, y pintó con gran colorido José Ortega y Gasset en La rebelión de las masas— es que la educación no vaya al compás de la generalización del derecho a voto, que el voto de los ignorantes ponga un gobierno de bobos en lugar de un gobierno de sabios. Las masas sin educación son, como nos recordaba Thomas Hobbes, tan fácilmente influenciables por la lisonja y la adulación de los políticos como pueda serlo cualquier gobernante por manejos parecidos de sus consejeros.

El 18 de julio de 1967, The New York Times informaba que cuatro mil buenos ciudadanos de la ciudad costera de Picozza, en Ecuador, eligieron para alcalde unos polvos para los pies. Una compañía que fabricaba un desodorante para los pies había anunciado: “Vote por cualquier candidato, pero si quiere higiene y bienestar, vote Pulvapiés”. La víspera de las elecciones, la firma distribuyó unas octavillas que decían: “Para alcalde, honorable pulvapiés”. La ciudad eligió a Pulvapiés por una cómoda mayoría. ¡Vaya risotada habría soltado H.L. Mencken ante esta confirmación de su baja opinión del voto de las masas! “No creo en la democracia”, dijo Mencken en cierta ocasión, “pero reconozco de buena gana que es la única forma de gobierno realmente divertida que la humanidad haya podido soportar jamás”.

Platón temía la democracia precisamente por los peligros del gobierno de una mayoría ignorante. El pueblo, decía Alexander Hamilton, es una gran bestia. Uno piensa en el terror del populacho que siguió a la Revolución Francesa, o en los linchamientos de los negros del Sur por las mayorías blancas locales. En la actualidad, algunos estados con grandes circunscripciones fundamentalistas protestantes casi han conseguido hacer aprobar leyes que prohíban enseñar el evolucionismo en las escuelas estatales. En los Estados Unidos, el poder del voto popular está, naturalmente, muy limitado por la Constitución, la Declaración de Derechos, y el Tribunal Supremo. Sin embargo, sigue habiendo grandes distritos en los que nadie sabe aún cómo evitar una “tiranía de la mayoría”, aparte de mejorando la educación, claro.
Fuente:
“Los porqués de un escriba filósofo”, Martin Gardner

Abren una ventana a la época de la reionización.

Un experimento detecta por primera vez la radiación emitida cuando se formaban las primeras galaxias.

Cuatrocientos mil años después del Big Bag, cuando el Universo se enfrío lo suficiente, los electrones y protones se recombinaron en átomos de hidrógeno (también se recombinó el helio primordial). Por primera vez la radiación de fondo cruzaba el Universo. Previamente había un plasma de protones y electrones que impedía la propagación de la radiación.
Más tarde todavía no había estrellas y por tanto no había luz, sólo la radiación de fondo cruzaba esa vasta negrura. A esa época se la han llamado (esta vez sí apropiadamente) la edad oscura.
Se cree que 100 millones de años después de la recombinación se formaron las primeras estrellas, aparecieron los primeros puntos de luz y la luz de estas estrellas reionizó el medio intergaláctico, principalmente hidrógeno. Las galaxias empezaron a formarse justo entonces. Es la época o periodo de la reionización.
Pero la información que tenemos del Universo viene a bordo de la radiación electromagnética. Una vez se tienen los átomos recombinados y sin la presencia de luz procedente de estrellas no es fácil saber qué sucedió a la materia en esa época. Pero este tiempo está ligado a importantes cuestiones cosmológicas, como la formación de las primeras estrellas y galaxias, y sería por tanto interesante poder observarlo.
Judd Bowman y Alan Rogers, de Arizona State University y MIT respectivamente, han desarrollado un experimento de radioastronomía que precisamente detecta la señal electromagnética, nunca antes registrada, emitida durante la época de reinización. Este resultado abre una ventana de observación a esa época y podría revolucionar la comprensión que tenemos sobre la aparición y evolución de las primeras galaxias qué tipo de estrellas se estaban formando.
Estos investigadores desplegaron un espectrómetro denominado EDGES en Australia para medir las ondas de radio de entre 100 y 200 MHZ. A pesar de su diseño simple y bajo coste su tarea era muy compleja. En lugar de observar las galaxias trataban de observar el hidrógeno que había entre las mismas. Este gas emitía en la longitud de onda de los 21 cm, pero se ha alargado hasta los 2 metros debido a la expansión cosmológica (en la banda VHF). Según se formaban las galaxias ionizaban el gas hidrógeno primordial alrededor de ellas y esa señal de 21 cm desaparecía. Por tanto, la formación de galaxias debe dejar una huella en el espectro tomado por este experimento.
La señal de 21 cm es muy débil porque procede de transiciones entre los estados de energía del hidrógeno en el que el spin del electrón y el protón están en estado paralelo y antiparalelo.
El experimento no ha sido fácil y estos dos investigadores necesitaron tres meses de observaciones para extraer información útil del ruido radioeléctrico que rodea a la señal que deseaban observar. Estas otras fuentes eran 10.000 veces más potentes que la señal que querían estudiar. La principal fuente de ruido es nuestra propia galaxia, a la que se suman las señales de TV, FM, de los satélites de órbita baja y de otras fuentes artificiales. Basándose en las propiedades espectrales lograron filtrar todas esas fuentes de ruido. La elección de la ubicación australiana se debió a las pocas fuentes artificiales de este tipo de ruido que hay en el lugar.
Una vez extraída la señal cosmológica descubrieron que el gas entre las galaxias de la época no puedo reionizarse rápidamente. El periodo de reionización no termino abruptamente, sino que tuvo lugar a lo largo de un corrimiento al rojo de 0,006, es decir, de unos 5 millones de años. Es la primera vez que se consigue delimitar la duración de este periodo de tiempo. Hasta ahora había sólo medidas indirectas basadas en el fondo cósmico de microondas y en medidas de cuásares lejanos.
La próxima generación de radio telescopios, algunos de ellos interferométricos y ahora en construcción como LOFAR, podrán estudiar esta señal de una manera mucho más sofisticada. Se espera observar cómo las burbujas primigenias empezaron a percolar a partir de las galaxias y a crecer juntas. Si había muchas galaxias emitieron un poco de radiación en esa época entonces habrá muchas pequeñas burbujas por todos lados que se unirían unas a otras hasta formar una estructura espumosa. Si, por el contrario, sólo había unas pocas grandes galaxias emitiendo mucha radiación sólo habrá unas pocas burbujas que crecerían juntas.
La meta final sería levantar un mapa en esas longitudes de onda que muestre cómo se dio la reionización, aunque de momento se ha empezado con un experimento muy simple. De momento se trata de saber los límites básicos del gas presente en la época y cuánto tiempo necesitaron las galaxias para cambiar sus propiedades. Todo esto ayudará a saber cómo eran los objetos presentes en el Universo 300 ó 800 millones de años después del Big Bang.
Quizás dentro de poco contemos ya con mapas del hidrógeno calentado por las primeras estrellas.

Copyleft: atribuir con enlace a http://neofronteras.com/?p=3331

Fuentes y referencias:
Nota de prensa.
Artículo original.

Hormigas optimizadoras.

Las colonias de hormigas son capaces de resolver dinámicamente, y de manera óptima, problemas como encontrar el camino más corto entre dos puntos dentro de un laberinto.

Muchas de las ideas que utilizamos en ciencias de la computación han sido inspiradas por la Naturaleza. Así por ejemplo existen los algoritmos genéticos, que se basan en cierta idea de darwinismo para encontrar soluciones a ciertos problemas, sobre todo cuando queremos encontrar el mínimo de energía absoluto en un sistema en el que otros métodos caen en mínimos de energía locales de los que no salen. Existe también el método del enjambre (inspirado en la inteligencia colectiva de un enjambre de abejas) e incluso se pueden encontrar soluciones satisfactorias (aunque no necesariamente la mejor solución posible) al problema del viajante si nos inspiramos en las hormigas. De hecho hay un algoritmo denominado Ant Colony Optimisation (ACO) que se basa en el comportamiento de estos pequeños animales.
La pregunta es si podemos usar directamente a los animales sociales para resolver este tipo de problemas sin pasar por un ordenador y ver así las diferencias. Según han demostrado unos investigadores de la Universidad de Sydney eso mismo no sólo es posible, sino que han podido comprobar que las hormigas logran resolver un equivalente al problema de la torre de Hanoi sin demasiadas dificultades incluso cuando cambian las condiciones a mitad de juego.
La torre de Hanoi, en su versión más simple, consiste en tres barras verticales y tres discos agujereados por el centro de distintos tamaños. Se comienza con los tres discos apilados de mayor a menor (de abajo a arriba) en una de las barras y hay que moverlos a otra barra bajo ciertas restricciones en el menor número de movimientos posibles. Las reglas son que hay que mover los discos de uno en uno y que en ningún momento un disco esté sobre otro de menor tamaño.
Obviamente las hormigas no pueden mover discos de una barra a otra, así que los investigadores implicados crearon un laberinto (ver foto) de tal modo que encontrar el camino más corto entre dos puntos era equivalente a mover los discos en el menor número de movimientos posibles en el problema de la torre de Hanoi.
Este tipo de problemas de tratar de encontrar caminos más cortos en un grafo son típicos problemas de la matemática computacional. Para algunos de esos problemas tenemos algoritmos (Kruskal, Prim, Fleury, Dijkstra…) que nos dan la solución óptima en tiempo polinómico. Para otros problemas, como el problema del viajante o el de la mochila, al tratarse de problemas NP, no tenemos algoritmos que nos den eso mismo, sino algoritmos que nos dan una buena (o mala) aproximación en un tiempo polinómico. En estos últimos casos, si queremos tener seguro la solución óptima, no nos queda más remedio que enumerar por fuerza bruta todos los casos posibles y escoger el mejor, algo que tiene un coste computacional exponencial.
Encontrar el camino más eficiente a través de una red saturada es un desafío común en conductores, ingenieros y compañías telefónicas. Todos estos problemas se encuadran en lo que podemos denominar problemas de optimización y no hace falta decir que estos problemas tienen grandes implicaciones económicas. La optimización permite a una empresa de transportes ahorrar mucho dinero en combustible y una factoría puede producir más si los procesos de montaje están optimizados. Hay muchos problemas logísticos en el que se tiene que maximizar la eficiencia.
Por tanto, si encontramos pistas sobre cómo solucionar un problema de este tipo en la Naturaleza, aunque ya esté solucionado algorítmicamente, quizás lo podamos aplicar a otros casos que son especialmente duros computacionalmente.
Se sabe muy bien cómo solucionar el problema de la torre de Hanoi. Saber cómo se hace algorítmicamente forma parte del programa de estudios de las escuelas de ingeniería informática. Pero las hormigas quizás nos inspiren nuevos métodos algorítmicos para resolver otros problemas.
Quizás pensando en esto último, o simplemente en la diversión, Chris Reid, Madeleine Beekman y David Sumpter (éste de la Universidad de Upsala) pusieron a una colonia de hormigas argentinas (Linepithema humile) a resolver un problema de optimización dinámica de encontrar la ruta mejor en un laberinto.
Las hormigas son capaces de solucionar el problema aunque son sean seres muy simples. La “inteligencia colectiva” que emerge de ellas es suficiente para resolver el problema, aunque cada una de ellas, individualmente, sea incapaz de hacerlo. Recordemos que las hormigas crean caminos a través de unas señales de feromonas que van dejando en el suelo, reforzándose o debilitándose según el tráfico que haya, entre otros factores.
Aunque los algoritmos inspirados en la Naturaleza de los que hemos hablado antes funcionan satisfactoriamente, no necesariamente representan el mundo real de, por ejemplo, las hormigas. En general estos algoritmos son estáticos y están diseñados para resolver un tipo de problema en concreto. Los autores del estudio se plantearon cómo las hormigas reales podrían resolver un problema de optimización y cómo responderían a los cambios. Se preguntaban si sólo podían proporcionar una solución única fija o si se adaptarían a los cambios introducidos a mitad del juego.
En el laberinto equivalente al problema de la torre de Hanoi, las hormigas tenían que encontrar en camino más corto, de los 32768 caminos posibles entre un punto de entrada y otro en el que se colocaba una comida tentadora. Básicamente era un problema tipo Dijkstra en el que el peso de las aristas del grafo eran las longitudes de los segmentos del laberinto.
Al cabo de una hora las hormigas encontraron los dos caminos más cortos que representaban las dos posibles soluciones óptimas al problema. Estas soluciones eran las que más tráfico de hormigas contenían. Entonces los investigadores bloquearon algunos caminos y abrieron nuevas áreas del laberinto a las hormigas para ver si tenían la capacidad de resolver dinámicamente el problema.
Como hemos dicho, al cabo de una hora las hormigas encontraban el camino más corto, que en un caso bordeaba el borde del laberinto. Al bloquearlo las hormigas respondieron mediante una modificación del camino original, solución que no era óptima. Sin embargo, al cabo de otra hora ya habían encontrado la ruta óptima a través del centro del laberinto.
Los investigadores descubrieron que si se permitía a las hormigas exploradoras recorrer el laberinto sin comida durante una hora antes del experimento entonces el resto cometía menos errores y eran más rápidas que cuando se enfrentaban al problema por primera vez sin exploración previa. Esto, según sugieren los investigadores, sería debido a que la feromona dejada por las exploradoras era clave para ayudar a la resolución del problema cuando cambiaban las condiciones.
Contrariamente a lo que se creía, el uso de las feromonas no estanca a las hormigas en un camino en particular sin poder adaptase a las nuevas circunstancia. Según los investigadores tener al menos dos feromonas separadas les da a las hormigas mayor flexibilidad y les ayuda a encontrar buenas soluciones incluso si las condiciones ambientales cambian.
Añaden que descubrir cómo las hormigas son capaces de resolver dinámicamente problemas puede proporcionar inspiración para nuevos algoritmos de optimización, y que éstos pueden permitir la creación de software que resuelva mejor problemas de optimización en la industria.

Copyleft: atribuir con enlace a http://neofronteras.com/?p=3330

Fuentes y referencias:
Nota de prensa.
Artículo original.

viernes, 10 de diciembre de 2010

Algunos "cómos" de python.

1. Cómo convertir una fecha a formato útil para python.

from datetime import datetime
d = datetime.strptime('2007-07-18 10:03:19', '%Y-%m-%d %H:%M:%S')
day_string = d.strftime('%Y-%m-%d')
Fuente: http://es.efreedom.com/Question/1-301528/Como-convertir-una-fecha-en-python

2. Cómo obtener los argumentos de la línea de comandos.

import sys

for arg in sys.argv:
    print arg
Opcionalmente con "getopt":

def main(argv):                        
    grammar = "kant.xml"                
    try:                               
        opts, args = getopt.getopt(argv, "hg:d", ["help", "grammar="])
    except getopt.GetoptError:          
        usage()                         
        sys.exit(2)                    

...

if __name__ == "__main__":
    main(sys.argv[1:])

Ejemplo:

def main(argv):                        
    grammar = "kant.xml"              
    try:                              
    except getopt.GetoptError:        
        usage()                       
        sys.exit(2)                   
    for opt, arg in opts:              
        if opt in ("-h", "--help"):    
            usage()                   
            sys.exit()                
        elif opt == '-d':              
            global _debug             
            _debug = 1                
        elif opt in ("-g", "--grammar"):
            grammar = arg             

    source = "".join(args)             

    k = KantGenerator(grammar, source)
    print k.output()

Fuente:  http://www.faqs.org/docs/diveintopython/kgp_commandline.html

El asunto de Wikileaks en divertidos vídeos (I)

Temporizador con python+curses.

Se trata de la traducción y modificación del programa "teatime" para un uso más general:

#!/usr/bin/python
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
# Author: scorch
# Email: scorch@eldslott.org
# Date: 2009-08-15
# Version: 0.2
#
# Modificado y traducido por: Ket-SIF
# Date: 2010-12-10
# Version: 0.3

import os, time, sys, atexit, curses, traceback, select
from signal import signal, SIGTERM
from sys import exit

# ncurses screen
stdscr = None

############### CONFIGURATION ###############
#
# how the progress bar should look like
#
# 1: [===========------------]
# 2: |---------->            |
# 3: [###########------------]
#
BAR = ['[', '=', '=', '-', ']']
#BAR = ['|', '-', '>', ':', '|']
#BAR = ['[', '#', '#', '-', ']']
#
# the initial string for the top line
# "HEADER XX minutes and XX seconds."
HEADER = "El tiempo se acaba en"
#
# how long to sleep between updates
SLEEP = 0.05
#
# time in seconds used if no time specified on command line
TIME = 220
#
# CAUTION: WILL FLASH LIKE NOTHING YOU'VE SEEN BEFORE! Turn off
# by setting it to False
#
# (if you get an epileptic seisure, don't blame me, I tried to
# warn you!)
FLASH = True
#############################################

def main():
    time_passed = bar_length = 0
    time_last = time.time()
    time_length = TIME
    if len(sys.argv) > 1:
        time_length = int(sys.argv[1].split(':')[3])+60*int(sys.argv[1].split(':')[2])+60*60*int(sys.argv[1].split(':')[1])+24*60*60*int(sys.argv[1].split(':')[0])
        #time_length = int(sys.argv[1])

    done = False
    while True:
        # dynamic width of progress bar (-12 for percentage to fit)
        bar_max_length = int(os.popen('stty size', 'r').read().split()[1])-12

        # determine how OFTEN we should update the progress bar
        dbar = time_length/bar_max_length/SLEEP
        # determine how MUCH we should update the progress bar
        if time_length is 0:
            dbarl = bar_max_length - bar_length
        else:
            dbarl = bar_max_length/time_length*SLEEP
        # calculate minutes and seconds left
        secs = time_left = int(time_length - time_passed)
        mins = 0
        if time_left > 59:
            dias = time_left/86400
            horas = (time_left%86400)/3600
            mins = ((time_left%86400)%3600)/60
            secs = time_left % 60
        else:
            dias = 0
            horas = 0
            mins = 0
            ssecs = time_left
        # calculate remaining time and generate the top line
        output = HEADER + ' '
        if dias == 1:    output += str(dias)+" dia, "
        else:        output += str(dias)+" dias, "
        if horas == 1:    output += str(horas)+" hora, "
        else:        output += str(horas)+" horas, "
        if mins == 1:    output += str(mins)+" minuto y "
        else:        output += str(mins)+" minutos y "
        if secs == 1:   stdscr.addstr(0, 1, output + str(secs) + " segundo.\n")
        else:           stdscr.addstr(0, 1, output + str(secs) + " segundos.\n")
        # calculate percentage for the bottom line
        if time_length is not 0:
            percent = float(time_passed)/float(time_length)*100
        if percent > 100 or done:
            percent = 100
        # right align percentage
        output = '  '
        if   percent == 100: output = ''
        elif percent >=  10: output = ' '
        output += '%.2f%% ' % percent
        # always recount the length of the bar; user might have resized window
        bar_length = percent * (bar_max_length/100.0)
        if bar_length > bar_max_length:
            bar_length = bar_max_length
        # generate the progress bar and print it together with the percentage
        output += gen_progress_bar(bar_length, bar_max_length)
        stdscr.addstr(1, 1, output)
        # time_delta is how long since we were here the last time
        time_delta = time.time() - time_last
        time_passed += float('%.4f' % time_delta)
        time_last = time.time()
        # nothing is acutally shown until now
        stdscr.refresh()
        # if we're done
        if done:
            break
        # loop once more so we get 0 seconds left in the end
        if time_passed >= time_length:
            done = True
        else:
            time.sleep(SLEEP)
    return
# generate the progress bar that will later be printed
def gen_progress_bar(bar_length, bar_max_length):
    output = BAR[0]
    # print the length of the bar with the defined character
    for i in range(0, int(bar_length)):
        output += BAR[1]
    output += BAR[2]
    # print the defined character to fill the remaining part of the bar
    for i in range(abs(int(bar_length) - int(bar_max_length))):
        output += BAR[3]
    output += BAR[4]
    return output
# pack it up boys, it's time to go home
def cleanup():
    stdscr.keypad(0)
    curses.echo();
    curses.nocbreak()
    curses.endwin()
    sys.exit(0)
def print_usage():
    print "Modo de uso: cuenta_atras_es [dias:horas:minutos:segundos]"
    print "    --help, -h    muestra esta ayuda"
def is_data():
    return select.select([sys.stdin], [], [], 0) == ([sys.stdin], [], [])
if __name__ == "__main__":
#    if len(sys.argv) > 1 and not sys.argv[1].isdigit():

    if len(sys.argv) > 1 and sys.argv[1] == ('-h' or '--help'):
        print_usage()
        sys.exit(0)
    elif len(sys.argv) > 1 and not sys.argv[1].split(':')[0].isdigit():
        print_usage()
        sys.exit(0)       
    elif len(sys.argv) > 1:
        try:
            print int(sys.argv[1].split(':')[3])+60*int(sys.argv[1].split(':')[2])+60*60*int(sys.argv[1].split(':')[1])+24*60*60*int(sys.argv[1].split(':')[0])
        except:
            print_usage()
            sys.exit(0)
    atexit.register(cleanup)
    try:
        # Initialize curses
        stdscr = curses.initscr()
        curses.noecho();
        curses.cbreak()
        stdscr.keypad(1)
        main()
    except:
        traceback.print_exc()
    # non blocking input, any key stops the program
    while FLASH:
        if is_data():
            break
        curses.flash()
        # not so intense flashing
        time.sleep(0.9)
    # Normal exit when killed
    signal(SIGTERM, lambda signum, stack_frame: exit(1))


Aún no están comentados los cambios, lo siento.

Curses!

Un ejemplo del uso de las diferentes opciones para el texto en python+curses:

import curses
def main(stdscr):
    stdscr.clear()
    if curses.has_colors():
        for i in xrange(1, curses.COLORS):
            curses.init_pair(i, i, curses.COLOR_BLACK)
            stdscr.addstr("COLOR %d! " % i, curses.color_pair(i))
            stdscr.addstr("BOLD! ", curses.color_pair(i) | curses.A_BOLD)
            stdscr.addstr("STANDOUT! ", curses.color_pair(i) | curses.A_STANDOUT)
            stdscr.addstr("UNDERLINE! ", curses.color_pair(i) | curses.A_UNDERLINE)
            stdscr.addstr("BLINK! ", curses.color_pair(i) | curses.A_BLINK)
            stdscr.addstr("DIM! ", curses.color_pair(i) | curses.A_DIM)
            stdscr.addstr("REVERSE! ", curses.color_pair(i) | curses.A_REVERSE)
    stdscr.refresh()
    stdscr.getch()
if __name__ == '__main__':
    print "init..."
    curses.wrapper(main)

Hay mucho loco suelto por el mundo...

Superhéroes de verdad o simplemente chiflados que siguen la estela de "Kick-ass". Sin comentarios, solamente los enlaces hablan por sí mismos.

http://www.zonafandom.com/frikadas/los-heroes-pijameros-del-medio-oeste-kick-asses-en-la-vida-real-i

http://tv.gawker.com/5589104/nerdy-real-life-superheroes-to-keep-city-safe-from-bullies-jocks

http://www.worldsuperheroregistry.com/world_superhero_registry_gallery.htm

Open Raider, una versión del Tomb Raider para GNU/Linux.

A pesar de que está algo (bastante) desactualizado se trata de una opción al uso del "wine" para jugar a este clásico.

http://sourceforge.net/projects/openraider/files/openraider/OpenRaider 0.1.0 ( stable )/

Y ya que estamos, también es interesante el "remake" del viejo Invaders que está incluido en los repositorios de Ubuntu (y otras distribuciones), Open-invaders.

10 buenos hábitos para manejar la consola.

Fuente: LinuxHispano

Esta serie de buenos hábitos al manejar la consola son una traducción adaptada aoriginal titulado: UNIX tips: Learn 10 good UNIX usage habits, aparecido en la parte de desarrolladores del portal de IBM.

1. Crea árboles de directorios de un sólo golpe

En vez de hacer:

~ $ mkdir tmp
~ $ cd tmp
~/tmp $ mkdir a
~/tmp $ cd a
~/tmp/a $ mkdir b
~/tmp/a $ cd b
~/tmp/a/b/ $ mkdir c
~/tmp/a/b/ $ cd c
~/tmp/a/b/c $
Podemos hacer directamente:

~ $ mkdir -p tmp/a/b/c
E incluso podemos hacer árboles definiendo más de una rama por nivel, con las llaves definimos más de un hijo por nivel:

~ $ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}
2. Descomprime indicando la ruta, no muevas primero el fichero y luego lo descomprimas

Imaginad que queremos descomprimir el fichero newarc.tar.gz en el directorio tmp/a/b/c pero tenemos dicho fichero en un directorio que no es ése. La solución más típica es mover el fichero y luego descomprimirlo. Esto supone una carga extra que en el caso de ficheros muy grandes supone un problema. Con el parámetro “-C” de tar le podemos indicar la ruta de descompresión:

~ $ tar xvf -C tmp/a/b/c newarc.tar.gz
3. Combina tus comandos con operadores de control

En una misma línea podemos utilizar más de un comando. La forma más simple de hacerlo es con el punto y coma “;”. El problema deriva cuando los comandos que ejecutas dependen el uno del otro, si el primero falla, afecta a los siguientes.

Veamos cómo solucionarlo.

Ejecuta el comando sólo si el anterior ha devuelto un cero (se ha ejecutado de forma exitosa)
Para este caso tenemos el operador &&:

~ $ cd tmp/a/b/c && tar xvf ~/archive.tar
Caso contrario
Si queremos controlar el caso en que el primer comando falle tenemos el operador ||:

~ $ cd tmp/a/b/c || mkdir -p tmp/a/b/c
Tenemos la opción de controlar ambos casos de una vez:

~ $ cd tmp/a/b/c || mkdir -p tmp/a/b/c && tar xvf -C tmp/a/b/c ~/archive.tar
4. Utiliza las comillas cuando trabajes con variables

Si utilizas variables, al asignarles valores alfanuméricos, texto; deberías utilizar siempre comillas dobles (a no ser que tengas razones para no hacerlo). También puedes poner el nombre de la variable entre llaves para asegurarte que se ejecutan bien las llamadas.

Veamos una serie de ejemplos y casos diferentes, con sus respectivas salidas:

~ $ ls tmp/
a b
~ $ VAR="tmp/*"
~ $ echo $VAR
tmp/a tmp/b
~ $ echo "$VAR"
tmp/*
~ $ echo $VARa

~ $ echo "$VARa"

~ $ echo "${VAR}a"
tmp/*a
~ $ echo ${VAR}a
tmp/a
5. Utiliza secuencias de escape para manejar entradas muy largas

Imagínate que estamos manejando varios comandos que dependen entre sí (como hemos visto en el punto anterior). Probablemente estemos tratando con unas cadenas verdaderamente largas. Será complicado poder ver todo el código de forma entendible, lo ideal sería tabularlo y ponerlos en varias líneas.

¿Podemos? Claro que sí, para esa labor tenemos la barra tipo Windows: \, que nos permitirá justo eso:

~ $ cd tmp/a/b/c \
> || \
> mkdir -p tmp/a/b/c \
> && \
> tar xvf -C tmp/a/b/c ~/archive.tar
Así veremos todo mucho más claro.

6. Agrupa tus comandos en una lista

Muchas shells nos proporciona métodos para agrupar conjuntos de comandos juntos en una lista de forma que podamos pasar el total de la suma de sus salidas a través de pipelines o redirigir todos los flujos hacia el mismo lugar. Veamos dos formas de hacerlo.

Ejecutar una lista de comandos en una shell secundaria

Se usan paréntesis para encerrar una lista de comandos en un grupo simple. Haciéndolo de esta forma, los comandos se ejecutan en una nueva shell secundaria y te permite redirigir o si no, recoger la salida del conjunto, como en el siguiente ejemplo.

~ $ ( cd tmp/a/b/c/ || mkdir -p tmp/a/b/c && \
> VAR=$PWD; cd ~; tar xvf -C $VAR archivo.tar ) \
> | mailx admin -S "Archivo"
En este ejemplo, el contenido del archivo es extraído en el directorio tmp/a/b/c mientras que la salida de los comandos agrupados es enviada por correo al administrador.

Ejecuta una lista de comandos en la shell actual

Utiliza las llaves para marcar la lista de comandos que deben ejecutar en la shell actual. Estate seguro que incluyes espacios entre las llaves y los comandos (sino puedes tener problemas de interpretación). También, debes tener cuidado poniendo un punto y coma al final de la lista. Veamos un ejemplo para este caso:

~ $ { cp ${VAR}a . && chown -R guest.guest a && \
> tar cvf newarchive.tar a; } | mailx admin -S "Nuevo archivo"
7. Utiliza xargs además de find

Utiliza xargs como filtro para hacer un mejor uso de la salida de la orden find. De esta forma, podemos hacer algo con la salida de find. La estructura básica es la siguiente:

~ $ find criterio-búsqueda-archivos ruta | \
> xargs acción-a-realizar-con-salida
Podríamos usarlo por ejemplo para borrar todos los ficheros MP3 de un directorio en particular:

find /tmp -maxdepth 1 -name '*.mp3' -maxdepth 1 | xargs rm
Por ejemplo, los del directorio temporal sin mirar en subdirectorios (maxdepth es 1).

8. Aprende a conocer cuando grep debería hacer la cuenta

Aunque con el parámetro -c le indicamos a grep que nos devuelva la cantidad de ocurrencias, no siempre funciona de forma correcta porque devuelve una salida por cada fichero, que a su vez muestra en diferentes líneas.

Para ello usamos:

~ $ grep -o and ruta | wc -l
3402
Siendo 3402, para este ejemplo, el número de ocurrencias.

9. Compara algunos campos en la salida, no sólo las líneas al completo

Para búsquedas en las que queremos definir que sólo haga comparaciones para ciertos campos, deberemos utilizar awk en lugar de grep. Veamos un ejemplo muy claro: estamos buscando ficheros cuya última modificación fue en diciembre. Sin embargo, tenemos un fichero de nombre “December”, aunque la modificación no sea en diciembre sí aparecería en el resultado usando grep.

~/tmp $ ls -l /tmp/a/b/c | grep Dec
-rw-r--r-- 7 joe joe 12043 Jan 27 20:36 December_Report.pdf
-rw-r--r-- 1 root root 238 Dec 03 08:19 README
-rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar
~/tmp $
Sin embargo, ese no es el resultado que buscamos. Para conseguirlo utilizamos awk y le indicamos que queremos que nos busque en la columna sexta, la que aparecen los meses:

~/tmp $ ls -l | awk '$6 == "Dec"'
-rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar
-rw-r--r-- 1 root root 238 Dec 03 08:19 README
~/tmp $
Como podéis apreciar la flexibilidad de awk es enorme.

10. No uses más cat cuando busques con grep

Un error muy común al usar grep es utilizarlo conjuntamente con cat para buscar el contenido de un sólo fichero. Esto no es necesario, porque grep toma el nombre de los ficheros directamente como argumentos. Es decir, no hace falta usar cat.

Los siguientes dos ejemplos hacen lo mismo, pero el segundo ahorra texto en el comando y tiempo de ejecución:

~ $ time cat tmp/a/longfile.txt | grep and
2811

real 0m0.015s
user 0m0.003s
sys 0m0.013s

~ $ time grep and tmp/a/longfile.txt
2811

real 0m0.010s
user 0m0.006s
sys 0m0.004s
~ $

Descargar ficheros con python.

A raíz de la anterior entrada, un par de formas de descargar cosas pero ahora con python:

1. Usando el comando Wget del S.O.:

import os
os.system("wget http://www.domain.com/")

2. Usando "urllib" directamente:

import urllib, os

# if you comment out this line, it will download to the directory from which you run the script.
os.chdir('/directory/to/save/the/file/to')

url = 'http://www.mydomain.com/myfile.txt'
urllib.urlretrieve(url)

Un script para descargar archivos de forma espectacular.

Este script es una alternativa al "gwget" que usa el wget y zenity para descargar un archivo mostrando una barra de progreso:


DOWNLOAD() {
rand="$RANDOM `date`"
pipe="/tmp/pipe.`echo '$rand' | md5sum | tr -d ' -'`"
mkfifo $pipe
wget -c $1 2>&1 | while read data;do
if [ "`echo $data | grep '^Length:'`" ]; then
total_size=`echo $data | grep "^Length:" | sed 's/.*\((.*)\).*/\1/' | tr -d '()'`
fi
if [ "`echo $data | grep '[0-9]*%' `" ];then
percent=`echo $data | grep -o "[0-9]*%" | tr -d '%'`
current=`echo $data | grep "[0-9]*%" | sed 's/\([0-9BKMG.]\+\).*/\1/' `
speed=`echo $data | grep "[0-9]*%" | sed 's/.*\(% [0-9BKMG.]\+\).*/\1/' | tr -d ' %'`
remain=`echo $data | grep -o "[0-9A-Za-z]*$" `
echo $percent
echo "#Downloading $1\n$current of $total_size ($percent%)\nSpeed : $speed/Sec\nEstimated time : $remain"
fi
done > $pipe &

wget_info=`ps ax |grep "wget.*$1" |awk '{print $1"|"$2}'`
wget_pid=`echo $wget_info|cut -d'|' -f1 `

zenity --progress --auto-close --text="Connecting to $1\n\n\n" --width="350" --title="Downloading"< $pipe
if [ "`ps -A |grep "$wget_pid"`" ];then
kill $wget_pid
fi
rm -f $pipe
}

if [ $1 ];then
DOWNLOAD "$1"
else
dllink=$(zenity --entry --text "Your download link :" --width="350" --entry-text "" --title="Download url")
if [ $dllink ];then
DOWNLOAD "$dllink"
fi
fi


Fuente: Ubuntu forums

Nota: Efectivamente el gwget es más completo y mejor, pero con este script se aprende a manejar el zenity...

jueves, 9 de diciembre de 2010

Carta de un controlador aéreo.

Fuente: http://www.cotizalia.com/valor-anadido/pepino-pinocho-perra-realidad-actual-controladores-20100723-3614.html
"Gracias a los que os habéis interesado por mi situación, ahora que estamos de nuevo en las noticias de cada día.

El viernes pasado tenía un correo preparado para recabar vuestra opinión sobre mi horario de trabajo. No lo mandé por no buscar todas las direcciones, y ahí se quedó el borrador. Con las últimas noticias, voy a mandar un mail más largo.

Yo he trabajado todos esos días, estoy sano y no de baja. Por mucho que digan que hay tantas bajas, en realidad muchas de ellas son comisiones de servicio (personas desplazadas a trabajar en otras torres de manera forzada o voluntaria), bajas largas (embarazos), reducciones de jornada… Las famosas bajas de Alicante llevan meses, no son nuevas. Aquí cada día entramos mucha gente a trabajar. No digo que no haya bajas, no tengo las cifras exactas, pero realmente no se notan tanto. Por otra parte, nunca vi un solo verano sin retrasos, pero este año toda la culpa es nuestra. Sinceramente, creo que de las personas que conozco yo soy de los que más aviones he cogido y es raro es el que sale puntual las tardes de los viernes o domingos y en verano. Los retrasos se producen por mil razones: por ejemplo, un pasajero llega al avión 20 minutos tarde en Amsterdam tras facturar maleta y ese Iberia ya va con desfase todo el día. De todos modos, siento los retrasos como cualquiera de vosotros.

Ahora, imaginaos que en vuestro trabajo, de un día para otro ocurre lo siguiente: estás todos los días en los medios, la gente os odia e insulta sin saber ni qué hacéis, el presidente de vuestra empresa y su principal “accionista” os ponen a caldo, os obligan a trabajar más por el 30-40% de lo que ganabais antes, no tenéis un solo día libre, el 21 de julio os quitan las vacaciones de agosto, si conseguís un día libre puede que os hagan venir a trabajar, os amenazan con que en vuestro puesto de trabajo van a meter militares o gente de otros países, tenéis la vida hecha en una ciudad y os comunican que os van a a enviar donde les plazca. ¿Qué os parece? Luego profundizaré sobre todo esto.

Sigo. Dormís poco por los turnos y por el estrés que os produce lo anterior (si tienes hijos pequeños, duermes aún menos, pero bueno, eso es ajeno al trabajo). Encima, vais al trabajo y más estrés: hay un montón de aviones a vuestro cargo que se mueven muy rápido. Además, una Ley dice que si no te encuentras bien y controlas, cualquier cosa que ocurra es tu responsabilidad. ¿A que no lo sabíais? Todo en medio de un mal rollo generalizado ¿Os imagináis trabajar así? No, ¿verdad? Acabaríais de los nervios, como nos pasa a nosotros. Y entonces vas al médico y pides la baja, eso sí, con la Inspección de Trabajo en el cogote. Y sabiendo que, en cuanto puedan, te dan el alta. Contra la regla general, ¿sabéis qué?, los controladores tienen que presentar un parte de baja aunque falten un solo día. ¿Qué os parece?

¿Que estoy exagerando? En el último mes he trabajado todos los días. 10 en turno de mañana, 10 en el de tarde, 5 por la noche. Mis teóricos cinco días libres son los que salgo de mañana, esto es: estoy libre a partir de las 7:30. Libre pero baldado. He llegado a encadenar dos noches consecutivas por razones de programación. En cuatro ocasiones me ha tocado ir a currir estando de guardia o imaginaria, situación en la que has de estar disponible por si te requieren por lo que se disfrutan poco. Libre pero atado. En la práctica, a día de hoy se trabajan todas ellas. Ya tenemos asumido que es como un día normal. Me he podido coger cinco días de vacaciones antes y ya no disfrutaré de más hasta mediados de septiembre. 45 días a ese ritmo es un machaque. Y la responsabilidad de nuestra actividad se mantiene. Miento, en agosto tengo 3 días libres de verdad, sin noche el día anterior. Espero que no me llamen para un servicio exprés, que luego explicaré. Este régimen de turnos es obligatorio. Olvidaos de horas extras voluntarias y similares, eso ya no existe.

Ahora, abundaré un poco en lo anteriormente comentado.

Poneos en vuestro trabajo. Imaginad que:

  • Nunca descansáis, esto es, no tenéis ningún día libre completo (olvidaos de fines de semana).
  • Os bajan el sueldo hasta un 70% en dos meses (para los que conocéis mi trayectoria profesional sabéis que en mi último destino ganaba, en neto, exactamente lo mismo que fuera de AENA hace ahora… ¡casi una década!).
  • Tenías un proyecto vital contando con la seguridad de una plaza fija en empresa pública que te daba tiempo libre y pasta. Para conseguirlo, apruebas una oposición (como el 3% de los que se presentan), dejas tu trabajo, haces un curso de 2 años por 90,15€ al mes y, luego, a dar vueltas por España hasta que llegues a tu querido lugar de nacimiento, si es eso lo que buscas.
  • Con tu bajada de sueldo, tienes o que vender tu casa, o que sacar a los hijos del cole, o todo a la vez. No duermes.
  • Con tu pérdida de tiempo libre, si eres de los que tiene la familia en un sitio y vive en otro, todo tu planteamiento cambia. No duermes.
  • Como trabajas todos los días, mezclando mañana, tarde y noche, no duermes ya que el trabajo te impide descansar.
Además, la Ley 9/2010, de mucha exposición de motivos y pocos artículos, permite que:

  • Si te haces un cambio con un compañero y te queda un día libre entero, te pueden meter un servicio exprés (te llaman o te pillan en el trabajo y a trabajar ese día libre). Cuidado si estás de viaje, si no vienes es tu responsabilidad.
  • Te quitan las vacaciones. Si tienes todo pagado y tu mujer ha cogido vacaciones, es tu problema.
  • Cada mes cambia el orden de tus turnos, pero sólo sabes cómo vas a trabajar el mes siguiente con 10 días de antelación. Por ejemplo: acaba de salir el turno de agosto y a casi todo el mundo le han quitado 5 días de vacaciones (venga, ¡a ver cómo lo resuelves!). Antes sabías tus turnos con 3 meses y te podías organizar.
  • Te pueden cambiar de destino como quieran. Te avisan con una semana de antelación y fuera. La incertidumbre es brutal y afecta a la estabilidad emocional.
  • Si estás en una torre pequeña por proximidad, te has comprado casa, tienes allí la familia, el trabajo de tu mujer y el colegio de tus hijos, cada día recibes noticias diciendo que te van a sustituir y mandarte donde quieran porque tu trabajo es prescindible o reemplazable.
  • Cualquier gestión por asuntos propios que lleve aparejada una libranza lleva aparejado un sistemático “no” lo que provoca que tengas que realizar los mil y un cambalaches para buscarte la vida.
  • Añadid a todo eso la presión mediática contra nosotros. Parece que somos ricos y unos cabrones. Lees las editoriales de los periódicos y flipas. Yo nunca he ganado 300.000 eurazos y lo único que hago es ir a trabajar cada día. ¿Ahora me van reemplazar por militares y controladores del Este? Pues vaya. El ensañamiento de los medios y de Blanco son un poco extraños. Las editoriales son hilarantes. He leído dos y los que escribían estaban totalmente ajenos a la realidad. La última vez que hubo tal animadversión, acabó en decretazo. A ver qué pasa esta vez.

El gran apoyo de los sindicatos mayoritarios es perseguir que no le hagan a los demás lo que nos hacen a nosotros. Una vergüenza. Somos, para todos, una herramienta útil de distracción de sus propias vergÜenzas e irresponsabilidades.

Estoy a vuestra disposición para cualquier duda o aclaración que tengáis y espero que me contestéis a las preguntas de si mi horario os parece legal y qué haríais para cambiar la situación.

Os agradezco que hayáis leído este mail tan largo. Sentíos libres para reenviarlo a quien consideréis pertinente.

Un controlador."

martes, 7 de diciembre de 2010

OpenClonk

OpenClonk es un juego con un aspecto entre "The Settlers" y "Worms", una mezcla "explosiva" que puede dar lugar a un gran juego.
 Desgraciadamente por ahora no hay una versión para Linux definitiva.

Asimetría bariónica y materia oscura.

Una nueva idea propone matar dos pájaros de un tiro: explicar la naturaleza de la materia oscura y explicar la asimetría entre materia y antimateria.

Un grupo de físicos ha propuesto una nueva partícula a la que que podríamos llamar X. Esta partícula decaería principalmente en materia normal, mientras que su antipartícula decaería en antimateria oscura. Estos físicos sostienen que la existencia de esta partícula en el Universo temprano podría explicar tanto la materia oscura como la asimetría de materia-antimateria.
La mal llamada materia oscura, que debería llamarse más bien “invisible” u “oculta”, constituye la mayor parte de masa del Universo. Podemos inferir su efecto gravitatorio, pero no podemos, de momento, señalar con el dedo a las partículas que la forman. Para explicar esta masa se ha propuesto a los neutrinos, la existencia de partículas débilmente interactuantes o WIMPs, la presencia de axiones, WIMPless, materia espejo, super-WIMPs, partículas supersimétricas e incluso partículas que sólo interaccionaran gravitatoriamente.
Los experimentos todavía no nos han dado pruebas concluyentes sobre la responsabilidad de ninguna en la materia oscura ni de la existencia de la mayoría de ellas. Aunque el modelo preferido (WIMPs) sugiere partículas de 100 GeV, los pocos eventos registrados en los detectores hablan de 7 a 8 GeV.
Por otro lado, la antimateria es relativamente fácil de producir. Recientemente se han logrado incluso atrapar los primeros antiátomos como ya hemos contado en NeoFronteras.
Pero uno de los misterios de la Física es por qué el Universo está hecho de materia en lugar de antimateria. Hay una asimetría bariónica. Si la simetría hubiese sido perfecta al comienzo del Universo todas las partículas se hubieran aniquilado entre sí y sólo hubiera quedado radiación. Hasta ahora se había tratado de resolver la asimetría bariónica invocando a la violación de la simetría de carga y paridad o simetría CP. Violación que se registrado en el laboratorio en el decaimiento de ciertas partículas que prefieren hacerlo un poco más en materia que en antimateria. Pero este efecto es demasiado pequeño para explicar la cantidad de materia observada en el Universo, por eso se ha propuesto, aunque no se ha observado aún, la violación de la simetría CPT.
Hooman Davoudiasl y sus colaboradores han propuesto una partícula X (un fermión tipo Dirac) que podría resolver ambos misterios. Esta partícula tendría una masa de 1000 GeV (sería miles de veces más pesada que un protón) que decaería hacia un neutrón o hacia dos partículas hipotéticas que denominan Y y Φ. Estas dos partículas tendrían masas de 2 ó 3 GeV. La antipartícula de X, la anti-X, decaería en un antineutrón o en un par anti-Y anti-Φ.
La partícula X violaría la simetría CP de un modo un poco especial. La X decaería en neutrones más frecuentemente que la anti-X lo haría en antineutrones, pero esto se vería compensado con que la anti-X decaería más frecuentemente en anti-Y anti-Φ que la X lo haría en Y y Φ. Aunque la mayoría de la materia se aniquilaría con la antimateria al principio del Universo, esta discrepancia dejaría una porción de materia visible y una porción más pesada de antimateria oscura.
La idea es, desde luego, elegante, pero necesita se comprobada experimentalmente. Estos físicos han pensado cómo se podrían detectar anti-Y y anti-Φ. A diferencia de las WIMPs, las anti-Y y anti-Φ no se aniquilan entre sí. Sin embargo, podrían provocar el decaimiento del protón, algo prohibido por el modelo estándar de partículas. Una anti-Y podría colisionar con un protón, pero una X virtual rompería un protón transformándolo en un kaón, y transformaría una anti-Y en una partícula Φ.
Un detector como el SuperKamiokande podría observar el decaimiento de protones en kaones, que en este tipo de procesos se produciría a una energía mucha más alta que el decaimiento del protón propuesto por otras teorías más allá del modelo estándar, como las teorías de gran unificación. El escenario estaría en la frontera de la detectabilidad. Cuando las teorías de gran unificación propusieron del decaimiento del protón se pusieron en marcha varios experimentos para detectarlo, pero o bien tal proceso no existe o es tan infrecuente que la masa implicada en los experimentos era insuficiente.
Aunque hay varias teorías en desarrollo que ligan la producción de materia oscura con la asimetría bariónica, ésta en concreto es especial por proponer la desintegración del protón y un escenario de experimentación. Estas teorías estarían más en línea de lo poco que parece haberse detectado en experimentos para de detección directa de materia oscura.
Si el efecto del decaimiento espontáneo del protón es se da, entonces en un remoto futuro toda la materia ordinaria se habrá evaporado, o bien en agujeros negros o bien por desintegración de protones. Sólo quedará radiación y electrones.

Copyleft: atribuir con enlace a http://neofronteras.com/?p=3322

Fuentes y referencias:
Noticia en Physics Wolrd.
Artículo original.
Artículo en ArXiv.

Médico reinventa integración en 1994 y publica artículo científico

Fuente: nanoquímica

 Aparentemente en 1994 un medico publicó un artículo científico sobre como calcular el área bajo una curva, "re-inventando" en efecto el método de los trapecios para el cálculo de integrales, lo que sugiere la ignorancia del autor y los "referees" de conceptos básicos de cálculo bastante conocidos en otros ámbitos. Algunos comentaristas toman este caso como un extremo ejemplo de la falta de interconexión entre disciplinas y la necesidad de los investigadores de aprender sobre temas que van mas allá de la propia área de especialización.

Enlace a nota en slashdot.

Enlace al abstract del articulo en cuestión.


Para más archivos, links, fotos y cosas de ingeniería química, nanotecnología, etc. Click Aquí

Vuelo casi-ilegal por Nueva York

Volar por "La Gran Manzana" es ilegal desde aquel incidente terrorista del "11-S", pero un grupo de aficionados ha logrado un vuelo (eso sí, con un avión de control remoto).

El conflicto de los controladores aéreos: la otra cara

Fuente: Gizmodo

Desde luego, no podíamos en Gizmodo dejar pasar todo este revuelo (¿lo pilláis?) sobre el conflicto que afecta a los gadgets más creciditos y complejos que ha construido el hombre: los aviones. Están prácticamente todos en tierra, ya que el gobierno ha sacado un decreto que obliga a los controladores a trabajar unas horas que en el anterior acuerdo no estaban por ningún lado.
Esto ha desembocado en que los encargados de que los aviones no choquen unos con otros al despegar ni aterrizar -entre otras cosas-  hayan abandonado sus puestos de trabajo, puesto que una huelga organizada, al contrario de lo que todo el mundo cree, no hubiera servido de nada.
¿Quieres conocer el por qué, los detalles? Hemos tenido la oportunidad de entrevistar a uno de ellos, y nos ha sorprendido que no tuviera cuernos y una cola de demonio como habíamos pensado. Lo que nos ha contado, cosas que el gentío en general desconoce, nos ofrece una visión más amplia que el simple “Uuuh, cobráis mucho y os odiamos” y, desde luego, nos hace reflexionar sobre si nosotros hubiéramos hecho lo mismo o no. Puedes ver la entrevista completita, como siempre, tras nuestro salto. Toda la historia, desde el principio, y una reflexión sobre lo que puede ocurrir ahora.
A continuación, todos los detonantes de lo que ha ocurrido, desde el principio, según el trabajador de control entrevistado:
“Antes que nada, reconozco que esto que han hecho muchos controladores (no todos) ha sido una barbaridad, pero hay muchas cosas que la gente desconoce, y es lo que me gustaría transmitir.
Todo esto ha empezado porque Aena tenía un déficit de 12.000.000.000 (doce mil millones) de euros que venía arrastrando desde 2009.
Para justificarlo, el gobierno y Aena han venido diciendo por activa y por pasiva que este tremendo déficit es por los sueldos de los controladores aéreos, lo que es falso, colocando a la opinión pública en contra (que dado el tiempo de crisis, es sencillo de hacer dando este argumento).
Lo que realmente no se ha dicho es que este tremendo déficit se ha producido por una mala gestión de Aena, creando aeropuertos deficitarios como el de Huesca, León, Lérida… aeropuertos que hacen perder más dinero del que generan. Además, Aena ha estado empepinada en llevar a cabo obras faraónicas, como la terminal T4 de Madrid, la nueva terminal de Málaga, la de Barcelona… a todas luces exageradas.
Esto realmente, y no lo que el gobierno tan alegremente anuncia por televisión (y todo el mundo parece creerse sin reparos) es lo que ha producido el 90% de este déficit, siendo los sueldos de los controladores únicamente responsables del otro 10% de todas esas pérdidas.
Con la opinión pública totalmente en contra y estando los controladores demonizados, el gobierno sacó fácilmente el real decreto del 5 de Febrero de 2010, por el cual se modificaron no sólo las condiciones económicas, si no también otras muchas laborales.
Entre otras cosas, el gobierno, a través de Aena, nos rebajó el sueldo en un 40%, modificó los tiempos de descanso, de vacaciones, los turnos… todo. En cuanto a los sueldos, muchos titulares dijeron que cobrábamos cantidades desorbitadas, cuando en realidad eso lo cobraban tres o cuatro individuos que no estaban en frecuencia, es decir, controlando, si no que se dedicaban a otras cuestiones. La inmensa mayoría de nosotros teníamos un sueldo muchísimo más reducido, pero una vez más se dispuso toda la opinión pública en contra.
Ante este ‘decretazo’, los controladores nos reunimos para plantear la posibilidad de hacer una huelga legal, la misma a la que todo trabajador tiene derecho. Aena, ante esto, dijo que se pararían todas las negociaciones hasta que dejásemos bien claro que no habría huelga. ¿Cómo vamos a negociar con estas condiciones? ¿El gobierno nos obliga a ni siquiera plantear una huelga legal si queremos hablar sobre la situación y negociar? Ellos pueden sacar decretazos, pero nosotros no hacer una huelga legal.
Finalmente, ante esta amenaza, el colectivo de controladores decidió seguir negociando sin la posibilidad de una huelga. De esta manera, afortunadamente para todos, se llegó a un ‘acuerdo de mínimos’ en agosto: tanto los controladores como Aena se comprometieron a cumplir una serie de puntos en los que, entre otras cosas, se llegaba a un acuerdo en el número de horas que teníamos que trabajar al año, los turnos de descanso, acción social, etc.
¿Qué es lo que ha ocurrido?” -prosigue el entrevistado- “Que ha pasado el tiempo y Aena no ha cumplido prácticamente ninguno de estos puntos. Ni vacaciones asignadas, ni días de descanso. Entre otros ejemplos, se me ocurre el llamado sleeping day. Es un turno de 10 de la noche de un día a las 8 de la mañana del siguiente. Pues bien, en Aena querían considerar ese día como libre, cuando obviamente no lo es. ¿Las horas trabajadas de 12 a 8 dónde se van, a la basura? ¿Somos máquinas que no necesitamos dormir luego? La seguridad de muchísima gente depende de que estemos bien lúcidos en nuestro puesto… pero lo que se le comunica a las masas es que ‘ganamos mucho’, todo lo demás no importa.
Bien, como decía… además de no cumplir ese acuerdo de mínimos que hubo, pretendían que teníamos que estar las 24 horas de los 365 días del año totalmente disponibles, de manera obligada.
Además, y esto es lo que ha generado realmente este caos, se estipularon 1670 horas de trabajo anuales, en este pacto de agosto. En estas horas entraban las bajas, derechos por paternidad, los cursos de reciclaje obligatorios y otro tiempo que los controladores dedicamos al trabajo y que no es estar en frecuencia, es decir, controlando. Como siempre había sido.
Entonces, de repente, en el aeropuerto de Santiago los controladores se encuentran con que ya han trabajado todas las horas que por ley (recordemos que es lo que el gobierno pactó) debían trabajar. Por lo tanto, no podían trabajar más, ni siquiera legalmente, incluso aunque quisieran. Esta ausencia de controladores lleva ocurriendo desde hace un par de semanas, no es nuevo de ayer viernes 3 de diciembre.
Por lo tanto, el gobierno, lo que ha hecho es sacar un parche para cubrirse las espaldas: otro decretazo en el que se inventan que esas horas de trabajo en las que no estamos de frecuencia, de repente no cuentan como horas de trabajo, y así aún nos faltan bastantes. Lo sacan justo el mismo 3 de diciembre, antes del puente, para inventarse horas de trabajo extras para los controladores, sacar de donde no hay. Un buen truco por su parte y muy desconsiderado justo en ese día.
Aquí, todos los pasajeros, a los que comprendo (ya digo que no me parece que mis compañeros hayan hecho esto de la forma más adecuada, aunque también les comprenda perfectamente), deben saber cuál es la realidad sobre una huelga legal de controladores, según la ley, porque hay algo absurdo y totalmente increíble: los trabajadores que hay en los servivios mínimos durante una huelga de controladores son mayores que los trabajadores que hay en situación normal.
Con las leyes con las que contamos ahora, por poner un ejemplo, hay torres en las que hay 5 o 6 controladores y que en huelga los servicios mínimos son 8, o torres en que normalmente hay 2 controladores y que durante una huelga el mínimo legal es 4.
¿En qué posición deja Aena y el gobierno a los controladores? Además de no poder hacer presión mediante una huelga legal (que es totalmente inútil si vamos a acabar trabajando más), aprueban ese decreto el mismo día antes del puente, para no dar ni el mínimo margen a la negociación.
Teniendo en cuenta todo lo anterior, lo que ha ocurrido es que mis compañeros han explotado. Ante la impotencia e imposibilidad de hacer nada y viendo las continuas imposiciones, parches y vapuleos a nuestros derechos y condiciones laborales, han explotado. No podía ocurrir otra cosa, porque no son ellos los que no quieren negociar, si no el gobierno, que únicamente sabe aprobar decretos-ley, prohibir continuamente cosas e inutilizar nuestro derecho a huelga legal, mientras inflan la rabia en las cabezas del ciudadano de a pie con historias de los sueldos, cuando aquí nadie ha pedido cobrar más tras la reducción, simplemente respetar un acuerdo sobre las horas a trabajar.”
Mi entrevistado no deja de arquear las cejas y decir “madre mía la que se ha liado”. Prosigue:
“Es como tener a un león dormido en su jaula. Si le das de comer y le tratas bien, hará todos los trucos que quieras al despertar, le tendrás perfectamente domado. Si le pones a dieta y no sólo eso, si no que empiezas a achucharle, a toquetearle, a molestarle y encima abres la jaula, la próxima vez que despierte, es inevitable, el león arrambla y dice ‘a tomar por cu*o’.
Sigo pensando que lo que han hecho los controladores es injustificable, pero más que comprensible dada la presión por parte de Aena. Así no se puede trabajar en condiciones. ¿Dónde está la seguridad de los pasajeros? No se trata de dinero, en ningún momento hemos hablado de dinero, si no de horas.”
Ante mi pregunta de qué va a ocurrir ahora, contesta:
“No lo veo claro. Se ha decretado el Estado de Alarma, y los militares pueden entrar a las torres de control. Tengo que decir que esto no es como la gente piensa, no pueden trabajar en nuestro puesto porque los militares no tienen licencia aeronáutica para controlar el tráfico civil. El término ‘militarizar’ se refiere a que los militares les obligan a los controladores a trabajar, no a punta de pistola, si no ordenándoselo, y al estar en Estado de Alarma, al controlador en cuestión, si se niega, se le puede aplicar el reglamento y penas militares, pudiendo acabar incluso en la cárcel.”
En este momento el entrevistado se ríe y comenta: “¡Todo por no querer el gobierno sentarse a hablar! No quiero entrar en cuestiones políticas, pero ¿es esto un gobierno de izquierdas? A mi me parece más una medida franquista”.
Prosigue:
“Incluso si el gobierno mete en la cárcel a todos los controladores, ¿qué va a hacer? No tienen capacidad para suplirlos. Los militares no pueden trabajar. Imagina que meten a 80 controladores en la cárcel. ¿Esta decisión extrema del gobierno va hacer que el espacio aéreo se ponga en marcha? Lo único que va a hacer es satisfacer unos deseos de venganza que el pasajero tiene…  deseos inspirados por lo que el propio gobierno, especialmente José Blanco (ministro de fomento), ha estado diciendo a los españoles. Palabras como chantaje, privilegios (que en cualquier caso nos han quitado ya) y decir que hemos tomado a los españoles como rehenes no conducen a nada (además de ser falso), es meter cizaña, crear malestar, dirigir la rabia del ciudadano hacia los controladores en lugar de hacia el gobierno.
De modo que la cárcel no es una opción viable, al menos para la mayoría. Si los controladores no vuelven, el gobierno no puede hacer nada para restablecer el espacio aéreo.
Además, ¿es creíble que todo un sector de trabajadores seamos salvajes avariciosos? Un grupo de personas puede ser, pero no todo un sector, no hay que pensar de forma tan simple, ¡por Dios! Cuando algo tan grave ocurre, es que algo no funciona.
Lo último que quiero decir es que no queremos más dinero, después de ese 40% de menos que ganamos, simplemente queremos que respeten los acuerdos a los que se llega, y que no vapuleen nuestros derechos y horas de trabajo con un decretazo tras otro, mientras que no podemos hacer nada, no quieren ceder en nada, no permiten una huelga legal.”
Bueno, hasta aquí las declaraciones de este controlador aéreo que ha podido entrevistar Gizmodo. Sin entrar en posiciones, me ha parecido una persona bastante… normal, digamos. ¡Quizá yo también esperaba encontrarme con un ser desagradable tras todo lo que vi por televisión! Incluso reconoce que sus compañeros no debían de haberlo hecho así, a pesar de comprenderlo y explicarnos los motivos. Siempre es interesante oír la otra parte antes de juzgar a nadie.
¿Cómo lo veis vosotros? ¿Culpa de los controladores, culpa del gobierno? ¿Se nos dice toda la verdad, o el gobierno oculta sabiamente ciertos datos que colocaría la opinión pública en su contra?
En cualquier caso, esperemos que esto se resuelva en cuanto antes para que la gente pueda viajar tanto como quiera… y especialmente, lo que me ha llamado la atención, viajar de forma segura. En esas cosas no pensamos nunca. Yo no quiero tener a un tío con jaqueca por no haber dormido, diciendo al avión en el que viajo dónde debe aterrizar… — Javier G. Pereda


Extra: Ya que estamos podéis echar un vistazo a estos artículos de Rody (Rodolfo Martínez, escritor).