Archive for the 'Informatica' Category

Simyo + Alcatel X060 + Ubuntu 9.04

ACTUALIZACIÓN IMPORTANTE (01/08/09): Un lector ha contribuido un fichero DEB que automatiza todo el proceso de instalación descrito en este post (con varias mejoras). Echadle un vistazo a este post actualizado.

ACTUALIZACIÓN (17/07/09): He añadido un enlace a unos paquetes de Ubuntu con un kernel y un NetworkManager parcheados que permiten que el modem funcione con NetworkManager

ACTUALIZACIÓN (07/07/09): He añadido un enlace a un blog donde explican como conseguir que el modem funcione con NetworkManager.

[Después de un mes sin actualizar el blog, ya siento que mi primera actualización sea tan impersonal, pero es que es algo que me han pedido ya un par de personas, y que puede resultar de utilidad a muchas otras. Os prometo actualizaciones más interesantes pronto, incluyendo una sobre un reciente viaje a Seúl]

Por motivos que ya contaré en otra ocasión, este verano he acabado en Madrid en un piso sin Internet y, como me vuelvo a Chicago a finales de septiembre, contratar una linea ADSL o similar no me merece la pena (aunque en el piso tampoco existiría esa posibilidad; es una historia muy larga :-D ) En la inmobiliaria donde me buscaron el piso me dijeron que varios de sus clientes que vienen a Madrid unos pocos meses suelen contratar acceso a Internet con una operadora móvil (osease, con un modem 3G enchufado a portátil), y me sugirieron que explorase esa opción. Tras comparar varias opciones, y preguntar a gente que sabe mejor que yo como está el patio del acceso a Internet en España, me decanté por Simyo: buenas tarifas, sin permanencia (fundamental para mi), un aura general de buen rollo, y (según gente que lo han utilizado) una conexión buena y fiable.

El modem que proporcionan es un Alcatel X060 que, según la web de Alcatel, es compatible con Linux (el modem también aparece mencionado en algunos sitios como X060S; que yo sepa, son el mismo modem). Pero claro, del dicho al hecho hay todo un trecho, y hay que pelearse un poco para conseguir que funcione bajo Linux. Aunque los pasos que hay que seguir son bastante similares a los que hay que seguir con otros modems 3G, no son idénticos (principalmente porque el Alcatel X060 es relativamente nuevo). Por lo tanto, por si le puede resultar útil a alguien más, en este post cuento qué pasos hay que seguir para instalar y utilizar el modem bajo Ubuntu 9.04 (muchos de estos pasos deberían servir también para otras distribuciones).

Paso 1: Conseguir que Linux reconozca el modem

El Alcatel X060 es un periferico USB “multi-dispositivo”: incluye un pequeño disco USB y luego el propio modem. El problema es que, si lo enchufamos bajo Linux, pillará por defecto el disco USB (que contiene programas de instalación para Windows). Así que hay que conseguir que Linux reconozca que lo que acabamos de enchufar es un modem, y no un disco. Esto lo podemos hacer con el programa USB_ModeSwitch. No está incluido en los repositorios de Ubuntu, pero es muy sencillo de instalar. Aunque en la web proporcionan un binario, al parecer es para arquitecturas de 32 bits, con lo cual puede ser necesario compilar las fuentes (esto también es muy sencillo, siguiendo las instrucciones en la web de USB_ModeSwitch; eso sí, necesitaremos las cabeceras de libusb, que en Ubuntu se encuentran en el paquete libusb-dev).

Por si acaso, aquí va la secuencia completa para instalar USB_ModeSwitch (ojo, hay que hacerlo todo como root):

apt-get install libusb-dev libusb-0.1-4
wget http://www.draisberghof.de/usb_modeswitch/usb_modeswitch-1.0.2.tar.bz2
tar xjvf usb_modeswitch-1.0.2.tar.bz2
cd usb_modeswitch-1.0.2
make
make install

Tras hacer esto, el programa usb_modeswitch estará instalado en /usr/sbin y el fichero de configuración usb_modeswitch.conf en /etc. Eso sí, para que USB_ModeSwitch pueda cambiar el dispositivo al “modo modem”, necesita una serie de números mágicos; si mirais el fichero de configuración, vereis que es una colección de números mágicos para diversos dispositivos USB. Desafortunadamente, los números mágicos del Alcatel X060 no están incluidos en el fichero de configuración de USB_ModeSwitch pero, afortunadamente, resulta que son exactamente los mismos que el Alcatel X200, que sí está incluido. Por lo tanto, lo único que hay que hacer es reemplazar el fichero de configuración con lo siguiente (o descomentar las lineas del Alcatel X200):

########################################################
# Alcatel X060

DefaultVendor=  0x1bbb
DefaultProduct= 0xf000

TargetVendor=   0x1bbb
TargetProduct=  0x0000

# only for reference
# MessageEndpoint=0x01

MessageContent="55534243123456788000000080000606f50402527000000000000000000000"
########################################################

Vale, vamos a verificar si todo esto funciona (para asegurarse de que funciona, conviene seguir el syslog en una ventana aparte utilizando tail -f /var/log/syslog). Tras enchufar el modem, Ubuntu lo reconocerá como un disco USB (curiosamente, aparece como un CD-ROM, porque el disco está formateado como un CD autorun). Una vez hecho esto, hay que ejecutar, como root, el comando usb_modeswitch (sin argumentos). Al hacer esto, la unidad montada de CD-ROM debería desaparecer. Para asegurarnos de que, además, hemos pasado al dispositivo modem, en el syslog deberíamos ver lo siguiente:

Jul  3 21:32:46 tintin kernel: [122120.095868] usb 1-4: USB disconnect, address 22
Jul  3 21:32:46 tintin kernel: [122120.440057] usb 1-4: new high speed USB device using ehci_hcd and address 23
Jul  3 21:32:46 tintin kernel: [122120.579384] usb 1-4: configuration #1 chosen from 1 choice
Jul  3 21:32:46 tintin kernel: [122120.599483] scsi15 : SCSI emulation for USB Mass Storage devices
Jul  3 21:32:46 tintin kernel: [122120.601398] usb-storage: device found at 23
Jul  3 21:32:46 tintin kernel: [122120.601403] usb-storage: waiting for device to settle before scanning
Jul  3 21:32:51 tintin kernel: [122125.613624] usb-storage: device scan complete
Jul  3 21:32:51 tintin kernel: [122125.614509] scsi 15:0:0:0: Direct-Access     USBModem MMC Storage      2.31 PQ: 0 ANSI: 2
Jul  3 21:32:51 tintin kernel: [122125.618502] sd 15:0:0:0: [sdb] Attached SCSI removable disk
Jul  3 21:32:51 tintin kernel: [122125.618624] sd 15:0:0:0: Attached scsi generic sg2 type 0

No os preocupeis por las referencias a usb-storage y a “removable disk”. Lo importante es la linea con “USBModem MMC Storage”. Si aparece “Direct-Access” significa que hemos pasado al dispositivo modem; si aparece “CD-ROM” significa que todavía está en modo CD-ROM.

Ahora que el modem es, efectivamente, un modem, hay que cargar el driver apropiado. Para esto basta con hacer lo siguiente:

modprobe usbserial vendor=0x1bbb product=0x0000

Y en syslog debería aparecer lo siguiente:

Jul  3 21:39:01 tintin kernel: [122495.601474] usbcore: registered new interface driver usbserial
Jul  3 21:39:01 tintin kernel: [122495.601506] USB Serial support registered for generic
Jul  3 21:39:01 tintin kernel: [122495.601547] usbserial_generic 1-4:1.0: generic converter detected
Jul  3 21:39:01 tintin kernel: [122495.601674] usb 1-4: generic converter now attached to ttyUSB0
Jul  3 21:39:01 tintin kernel: [122495.601691] usbserial_generic 1-4:1.1: generic converter detected
Jul  3 21:39:01 tintin kernel: [122495.601782] usb 1-4: generic converter now attached to ttyUSB1
Jul  3 21:39:01 tintin kernel: [122495.601798] usbserial_generic 1-4:1.3: generic converter detected
Jul  3 21:39:01 tintin kernel: [122495.601882] usb 1-4: generic converter now attached to ttyUSB2
Jul  3 21:39:01 tintin kernel: [122495.601909] usbcore: registered new interface driver usbserial_generic
Jul  3 21:39:01 tintin kernel: [122495.601915] usbserial: USB Serial Driver core

Nota: Algunos lectores han observado que tener el Network Manager de Ubuntu activo mientras se realizan estos pasos puede interferir con la detección del modem. Yo simplemente lo tengo desactivado todo el tiempo, pero un lector ha comentado que, si no veis las lineas que aparecen indicadas arriba en el syslog, basta con desactivar el wireless en el Network Manager (esta opción está disponible si haceis click-derecho sobre el icono del Network Manager en el panel de GNOME)

Como podéis ver, ha detectado que hay un dispositivo USB con tres puertos serie (ttyUSB0, ttyUSB1, ttyUSB2). Uno de estos puertos es el que utilizaremos para conectarnos a Simyo. De hecho, para hacer una comprobación rapida, podemos conectarnos a pelo al modem utilizando screen

screen /dev/ttyUSB2

Cuando salga un prompt, escribir simplemente esto:

ATI

El modem debería responder con lo siguiente:

Manufacturer: TCT Mobile International Limited
Model: HSPA Data Card
Revision: C1111000
IMEI: 352079030611766
+GCAP: +CGSM,+DS,+ES

OK

Eso sí, ejecutar el usb_modeswitch y el modprobe cada vez que enchufamos el modem puede ser un coñazo. Evidentemente, hay una manera de automatizarlo. En el directorio /etc/udev/rules.d/ cread un fichero llamado 45-alcatelx060.rules con el siguiente contenido:

SUBSYSTEM=="usb", SYSFS{idProduct}=="f000", SYSFS{idVendor}=="1bbb", RUN+="/usr/sbin/usb_modeswitch"
SUBSYSTEM=="usb", SYSFS{idProduct}=="0000", SYSFS{idVendor}=="1bbb", RUN+="/sbin/modprobe usbserial vendor=0x1bbb product=0x0000"

Ahora, cada vez que enchufemos el modem, pasará directamente a modo “modem” en lugar de modo “CD-ROM”.

Paso 2: Conectarse a la red de Simyo con el modem

Bueno, ya ha pasado lo peor. Ahora que podemos conectarnos al modem, conseguir que se conecte a Simyo es relativamente facil. Para ello, vamos a utilizar el programa wvdial (si no está instalado, basta con hacer apt-get install wvdial). Creamos un fichero llamado wvdial.conf en /etc con los siguientes contenidos:

[Dialer Defaults]
Init1 = ATZ+CPIN=1234
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","gprs-service.com"
Modem = /dev/ttyUSB2
Check Def Route = on
Phone = *99#
Username = cualquiera
Password = cualquiera
Modem Type = Analog Modem
Stupid Mode = 1
Baud = 460800
New PPPD = yes
ISDN = 0

Importante #1: en la linea “Init1 = ATZ+CPIN=1234” teneis que reemplazar 1234 por el PIN de vuestra tarjeta SIM. Casi todo el tiempo que me pasé peleandome con el modem fue porque toda la documentación que lei online estaba escrita, aparentemente, bajo el supuesto de que la tarjeta no está protegida por PIN (y casi todos los comandos que le mandaba al modem fallaban inexplicablemente, ya que no distingue entre un error general y un error causado por un PIN incorrecto). Yo acabé quitandole el PIN a la tarjeta y, de hecho, algunos usuarios han mencionado que el modem se comporta de manera impredecible si se mantiene el PIN, con lo cual para evitar posibles quebraderos de cabeza, os recomiendo que simplemente le quitéis el PIN a la tarjeta. Basta con conectarse al modem utilizando screen (tal y como describí arriba) y escribir el siguiente comando (de nuevo, reemplazando 1234 por nuestro PIN):

AT+CLCK="SC",0,"1234"

Si haceis esto, entonces hay que cambiar “Init1 = ATZ+CPIN=1234” por “Init1 = ATZ” en el fichero de configuración.

Importante #2: Si utilizais algún otro programa para conectaros, hay que utilizar el dispositivo /dev/ttyUSB2 para comunicarse con el modem. De lo contrario, el modem o no responderá a comandos o, en el caso más incordiante, responderá a comandos pero se quedará colgado al intentar conectarse a Internet.

En fin, ya estamos listos para conectarnos! Basta con ejecutar wvdial como root. Deberíamos ver lo siguiente:

--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","gprs-service.com"
AT+CGDCONT=1,"IP","gprs-service.com"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Sun Jul  5 10:32:12 2009
--> Pid of pppd: 31457
--> Using interface ppp0
--> pppd: X
--> � �[07]� �
--> �
--> pppd: X
--> � �[07]� �
--> �
--> pppd: X
--> � �[07]� �
--> �
--> pppd: X
--> � �[07]� �
--> �
--> pppd: X
--> � �[07]� �
--> �
--> pppd: X
--> � �[07]� �
--> �
--> local  IP address 95.214.13.54
--> pppd: X
--> � �[07]� �
--> �
--> remote IP address 10.64.64.64
--> pppd: X
--> � �[07]� �
--> �
--> primary   DNS address 195.230.105.134
--> pppd: X
--> � �[07]� �
--> �
--> secondary DNS address 195.230.105.135
--> pppd: X
--> � �[07]� �
--> �

Si llegamos al punto en el que recibimos una dirección IP y las direcciones de los servidores DNS, entonces es que nos hemos conectado correctamente. Ahora, a disfrutar de nuestra conexión 3G con Simyo (que a mi, de momento, me va bastante bien).

Paso 3: Conectarse a la red de Simyo con el modem… con solo un click

Aunque ya podemos conectarnos, estaría mejor si pudiesemos conectarnos (1) desde nuestra cuenta de usuario, no con root, y (2) con un solo click. Desafortunadamente, parece ser que el Network Manager de Ubuntu no reconoce el Alcatel X060. Sin embargo, en este blog (ver comentario #4, en catalán) explican como conseguir que el Network Manager lo reconozca. Eso sí, requiere modificar y recompilar un módulo del kernel (el modulo “option”), con lo cual puede resultar una opción un poco engorrosa para algunos. Una opción más sencilla (aunque posiblemente un poco engorrosa para el usuario no-experto) es instalar estos paquetes que incluyen un kernel y un Network Manager parcheados. Con un poco de suerte, estos parches se incorporarán a las próximas versiones de Ubuntu.

Por lo tanto, de momento vamos a utilizar el programa gnome-ppp, que es un frontend gráfico para el wvdial (si no está instalado, basta con hacer apt-get install gnome-ppp). Antes de nada, tenemos que darle permiso a nuestro usuario para que pueda acceder a los puertos serie y pueda arrancar el servidor PPP. Para ellos, tenemos que añadirlo a los grupos dip y dialout, ejecutando lo siguiente como root:

adduser borja dialout
adduser borja dip

Si estais en una sesión de GNOME, tendreis que reiniciar la sesión para que estos cambios tengan efecto.

Ahora ejecutamos gnome-ppp, hacemos click en “Setup”, y cambiamos las siguientes opciones:

  • En la pestaña Modem:
    • Device: /dev/ttyUSB2
    • Type: En principio, se puede poner USB Modem o Analog Modem. A mi me funciona con ambos.
    • Speed: En principio, da igual. A mi me funciona con 460800.
    • Init Strings:
      • Init 2: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
      • Init 3: AT+CGDCONT=1,"IP","gprs-service.com"
    • El resto lo dejamos tal cual está.
  • Networking: Lo dejamos tal cual está.
  • Options — Desktop Integration: Al gusto del consumidor.
  • Options — Connection: Activar la opción “Ignore terminal strings (stupid mode)”.

En la pantalla principal de gnome-ppp, podemos poner cualquier nombre de usuario y contraseña, y ponemos el número de teléfono *99#. Hacemos click en Connect, y ya está :-) Yo lo tengo configurado para que añada un icono en la barra de notificaciones; al hacer click sobre el icono, podemos desconectarnos o ver detalles de la conexión, que incluye el número de KB transferidos/recibidos (algo que viene bastante bien cuando el ancho de banda es limitado).

Google Summer of Code 2008 Mentor Summit

Como comenté en los dos post anteriores, este fin de semana lo he pasado en las oficinas centrales de Google para el Google Summer of Code (GSoC) 2008 Mentor Summit (o reunion de mentores que participamos en GSoC). Fueron dos días absolutamente impresionantes e inolvidables. Pero bueno, vayamos por partes…

Lo primero: el Googleplex. Un campus dedicado íntegramente a Google. A partir de ahora, cuando alguien me pregunte “¿Cual es el entorno de trabajo ideal?”, voy a responder “El Googleplex”. El campus en sí es agradable, con espacios abiertos, terrazas, etc.:

img_4007
img_4006
img_4000
img_4004

El interior de los edificios (o al menos en el que estuvimos nosotros) son amplios, con mucha luz natural, y muchos espacios comunes diseñados para que los empleados socialicen y se tomen descansos de verdad. Por ejemplo, aquí había sofas… y una mesa de billar:

img_3981

Este espacio también tenía una cocina con abundante comida y bebidas gratuitas:

img_3982

Y por el Googleplex te encontrabas mogollón de cosas que saltan bastante a la vista, como un tiranosaurio:

img_4015

Una réplica del SpaceShipOne:

img_3975

O una estatua de la mascota de Android:

img_4009

La reunioń en si estuvo muy bien. El proposito era juntar a dos mentores de cada organización que participó en Google Summer of Code (yo iba representando a Globus) para hablar sobre lo bueno y malo de Summer of Code y ver que podíamos cambiar y mejorar para el año que viene. En total eramos unas 200 personas, y la reunión se estructuró como una “unconference“: una conferencia donde no se parte con una agenda concreta, sino una en la que los propios asistentes proponen y organizan, sobre la marcha, sesiones. Puede sonar caótico, pero al final se acaban proponiendo mogollón de sesiones que genuinamente interesan a los asistentes. En este caso, fueron dos días llenos de sesiones que disfruté enormemente.

Cabe destacar, por cierto, el fantástico trato que nos dispensó Google. Corrieron con todos los gastos: el vuelo, el hotel, las comidas, etc. (incluso para la gente que venía de fuera de los EEUU). Para que quede claro: pudiendo decirnos “quien quiera venir, que se lo pague, y si se lo puede reembolsar su empresa o universidad, pues es su problema” (como suele ocurrir en todas las conferencias académicas a las que he ido), le pagaron todos los gastos a 200 personas. Doscientas.

Y menudas doscientas personas: representantes de los principales proyectos de código abierto del mundo, incluyendo gigantes como Debian, GNU, Apache, Perl, PHP, … Vamos, te hace sentir como un enanito ;-) Pero precisamente una de las mejores cosas de la conferencia es que podías interactuar con toda esta gente, en un ambiente de buen rollo universal, y compartir conocimiento, que es al fin y al cabo para lo que estabamos ahí (y, según la organizadora de GSoC, para “salvar el mundo con código abierto” ;-) Por cierto, había representación española a través de los proyectos OSSIM y CLAM, y mentores españoles en Moodle, Sakai, y NetBSD. Nos juntamos unas cuantas veces a lo largo de la reunión y nos lo pasamos pipa ;-)

Vamos, un fin de semana memorable. A ver si el año que viene toca repetir :-)

P.D:- Hay más fotos en la galería.

Charla: Computación a lo Grande

Como ya viene siendo habitual, este año voy a dar una charla en los Cursillos de Julio de ESIDE. En concreto, voy a dar una charla titulada “Computación a lo Grande” en el que voy a proporcionar una introducción divulgativa a la supercomputación. La charla tendrá lugar este viernes, 18 de julio, a las 12:00 en la Sala de Videoconferencias de ESIDE (Facultad de Ingeniería de la Universidad de Deusto). Aquí tenéis el resumen de la charla:

Todos hemos oído hablar de superordenadores, enormes máquinas capaces de tareas gigantescas, como simular una supernova hasta el más ínfimo detalle. Pero… ¿cómo funcionan estos enormes maquinones? ¿Acaso son como un ordenador de sobremesa, pero con un procesador de 2.7 hipermegasuperherzios? ¿Cómo se realiza una computación cuando tengo a mi disposición decenas de miles, o incluso cientos de miles, de procesadores? ¿Acaso se parte mi programa en “cachitos”? ¿Cómo se hace esto?

Esta charla responderá a estas preguntas, y proporcionará una introducción de alto nivel al funcionamiento de superordenadores y clusters dedicados a la computación científica. La charla no tiene ningún prerequisito y está dirigida a un público informático general.

Como todos los años, la asistencia es libre y no hay que apuntarse o matricularse previamente.

Haizea

Hoy he llegado a un punto relativamente importante en mi investigación, ya que el trabajo que he estado haciendo recientemente ha alcanzado por fin suficiente masa crítica como para publicarlo no sólo en forma de artículo sino también en forma de proyecto de software. Hoy he lanzado públicamente el proyecto Haizea:

¿Qué es Haizea? Bueno, la respuesta a esa pregunta se encuentra en la web, pero intentaré resumir y dar poco el tostón (aunque voy a tener que asumir un mínimo de conocimiento informático). Suponed que tenéis un cluster de ordenadores, y que queréis compartir ese cluster entre varios usuarios. Evidentemente, cada usuario tendrá necesidades distintas: algunos querrán ejecutar programas en modo batch y otros querrán control exclusivo de parte o la totalidad del cluster durante un tiempo (p.ej., imaginad un profesor que quiere impartir un laboratorio de programación paralela de 14:00 a 16:00 todos los miércoles). Y cada usuario, claro, quiere un entorno software distinto. Hay soluciones que abordan partes de este problema y suelen estar muy especializados para un caso de uso concreto. Por ejemplo, los gestores de jobs son muy buenos para ejecución batch desatendida, pero suelen ser nefastamente malos para reservas en tiempos concretos (y de darte exactamente el entorno software que quieres, ni hablar). Por contra, sistemas como Amazon EC2 son excelentes para conseguir exactamente el entorno software que quieres, pero hay que pedirlo en el instante en el que se quiere. Similarmente, VMWare y compañía ofrecen gestores de infraestructura virtual pero principalmente orientados a servidores con alta disponibilidad.

Pues bien, Haizea (y buena parte de la investigación que realizo) tiene como objetivo proporcionar una solución general al problema del aprovisionamiento de recursos. El software que he desarrollado, utilizado en combinación con OpenNebula (un gestor open source de infraestructura virtual desarrollado por el grupo de Arquitectura de Sistemas Distribuidos de la Universidad Complutense de Madrid), permite gestionar un cluster Xen o KVM (y pronto también clusters VMWare) y desplegar máquinas virtuales dinámicamente en el cluster satisfaciendo varios casos de uso simultáneamente y eficientemente. Lo mismo puedes pedir “quiero una máquina con 2 CPUs y la quiero ahora“, o “dame 10 máquinas, cuando puedas, pero que se ejecuten durante 2 horas”, o “dame 20 máquinas mañana de 14:00 a 16:00″. Por cierto, “eficientemente” es la palabra clave aquí. Una de las razones por las que las soluciones existentes se centran en un caso de uso concreto es porque no suele ser posible combinar varios eficientemente. Ojo que la versión actual es todavía un “technology preview”, así que todavía le falta bastante funcionalidad, pero el proyecto irá creciendo bastante en los próximos meses.

Por supuesto, detrás de todo esto hay unos rollos macabeos tremendos de investigación. Al que se sienta aventurero, le animo a que se lea el artículo donde presenté las ideas principales de Haizea: Combining Batch Execution and Leasing Using Virtual Machines. Aunque no lo parezca, el contexto de esta investigación sigue siendo la computación grid, donde el aprovisionamiento eficiente de recursos es un problema. Más recientemente, Haizea también podría enmarcarse como una contribución dentro de la “computación cloud“, donde los recursos tipicamente se gestionan con tecnologías de virtualización (a los que estamos en el mundo de la grid, el término “cloud” nos resulta un poco marketing-iano porque toma muchas ideas de la grid, únicamente añadiendo el uso de máquinas virtuales). En fin, si alguien no ve claro algo de lo que digo aquí o en la web de Haizea, o qué utilidad tiene esto, o cuanto son 400 dracmas, que lo diga en los comentarios y yo respondo ipso facto.

Por cierto, no lo he dicho explícitamente, pero Haizea es, evidentemente, open source. Ya iba siendo hora de que, después de tanto predicar a favor del software libre y el código abierto, hiciese mi propia contribución. Y, sinceramente, lo que más me anima de este proyecto es saber que estoy devolviendo algo a la comunidad a través de un proceso abierto y colaborativo.

P.D.- Como ya saben los lectores euskaldunes, “Haizea” significa “viento” (vale, vale, más correctamente “el viento”). Inicialmente escogí ese nombre (hace ya casi un año) simplemente porque quería que mi sistema tuviese un nombre en euskera que sonase bien tanto en inglés como en castellano y me dio por “haizea”. Eso si, durante el último año han estado saliendo todo tipo de juegos de palabras en relación a la “computación cloud”. No se paran de ver artículos tipo “Are clouds a nebulous concept?”, “Will clouds go up in smoke?”, “Cloud Computing: Eyes on the skies”, etc, etc. Así que “haizea” resultó ser, sin querer, otro juego de palabras más… porque las nubes no se mueven sin un poco de viento… (eeeeeeh, eeeeeeh, ¿lo pillas? ¡viento! ¡nubes! si es que soy un caso perdido… xD )

P.P.D.- En la web doy los agradecimientos de rigor, pero la verdad es que tengo agradecer especialmente el apoyo del Grupo de Arquitectura de Sistemas Distribuidos de la Universidad Complutense de Madrid, con el que estoy trabajando este verano. Si no llega a ser por ellos, que me ofrecieron la oportunidad de desarrollar una versión más estable de Haizea para utilizar en combinación con OpenNebula, no creo que Haizea hubiese llegado a ver la luz del día (o, al menos, habría tardado bastante más). Y tampoco hay que olvidad, claro, que me han traido a España durante todo el verano ;-)

Post invitado en el blog de Google Code

Como mencioné en un post anterior, hace un par de semanas el ACM Student Chapter de la Universidad de Chicago organizó una visita a las oficinas de Google en Chicago. Como co-organizador de la visita, y mentor de Google Summer of Code, la gente de Google me pidió que escribiese una crónica de la visita para el blog de Google Code (más concretamente, el que versa sobre temas open source). El susodicho post invitado ha sido publicado hoy: The University of Chicago Meets Google.