Ballmer atacado con huevos en Hungría

Me han pasado una página web de la BBC donde hay un video de un ataque con huevos contra Steve Ballmer,  mientras este estaba dando una charla en la Universidad Corvinus en Budapest (Hungría). No estoy de acuerdo con el ataque contra Ballmer, porque con ello no se gana nada y por el contrario se da una muy mala impresión, pero como dice el refran el siembra vientos, recoge tempestades. Cada día Microsoft se vuelve más impopular, y éste tipo de actos violentos quien sabe pronto seran comunes, pues legalmente no se puede detener por mucho tiempo al agresor si es que no ha habido un daño físico grave, y por otro lado dentro de una universidad la policía no puede intervenir directamente.

Aquí les dejo el video (desde otro angulo al presentado por la BBC) para juzguen Uds. mismos:

Nueva version de OLPC

En medio de toda la controversia generada por las renuncias de importantes miembros del proyecto OLPC, de los problemas con los despachos de laptops en la modaligada G1G1 (Compra una y dona una), y las declaraciones del ex-jefe de seguridad del proyecto OLPC Ivan Krstić, Nicolas Negroponte ha presentado el día de ayer lo que sería la nueva generación de OLPC XO-2. Equipada con dos pantallas táctiles (ya no tendra teclado) y con un precio estimado de $75, se estima sera introducida para el 2010, aunque sin la mayor parte de los miembros del equipo original que creo el XO-1, veo difícil que se pueda cumplir esta meta. Más información y un video sobre la nueva laptop puede encontrarce en laptopmag.com.

En mi opinión lo que esta tratando de hacer Negroponte, es sencillamente crear interes sobre otra revolucionaria idea, pues la XO-1, como esta actualmente es decir con 256 MB de RAM, un almacenamiento de 1GB en disco de estado sólido y una pantalla de 7.5", a un precio de $189 ya ha sido alcanzada por las firmas comerciales como Asus, Everex y Compaq. Entonces para poder seguir captando donaciones o quien sabe para tratar de obtener financiamiento en algun join-venture, necesita crear éste tipo de ruido. Aunque como ya lo ha dicho el XO-1 es aún un proyecto no terminado, la XO-1 debería de trabajar en conjunto con el XS (el servidor de aula), que serviría tanto para proveer seguridad (filtrado de internet), como para ofrecer almacenamiento externo (del cuál carece prácticamente el XO-1), sin embargo hasta el día de hoy XS no termina la fase de especificaciones.

El mayor problema para Perú es que ya tenemos el modelo viejo, antes de que éste haya siquiera llegado a manos de los alumnos, y menos aún antes de que nuestros profesores aprendan como poder explotar esa herramienta para potenciar su labor en el aula. Quisiera ver que explicaciones dara ahora el Ministro de Educación, y sobre todo el Presidente que hasta hizo un spot publicitario anunciando como logro de su gobierno que el Perú se embarcara en ésta empresa realmente riesgoza, porque no existe en todo el planeta una experiencia de implantación de tecnología en los colegios de la magnitud de la que tiene en mente el Ministerio de Educación, y hasta la misma gente de la fundación OLPC, no tienen ni la menor idea de como hacerla de acuerdo a las declaraciones de Ivan Krstić.

Todo ésto me hace recordar la famosa película "Muerto al llegar", el Ministro de Educación ahora debe de averiguar quién lo ha envenenado, cómo y por qué, antes del próximo 28 de julio, fecha en que creo el gobierno se vera en la necesidad de prescindir de su "valiosa experiencia", debido a que ésto de las OLPC habra alcanzado proporciones de papa caliente para ese entonces. Por otro lado los niños que reciban su laptop pues aprenderan una gran lección, no importa que tan nueva luzca una laptop, ésta ya puede ser realmente obsoleta.

XO-2

El peor error que he visto en Debian

Bueno la última semana ha estado tomando demasiada notoriedad el error en la libreria OpenSSH, que ha afectado a varios sistemas operativos, incluído Linux. La causa del problema es que hace un par de años se removió un par de líneas del código de la librería para evitar los contínuos ataques de buffer overflow a que era propenso OpenSSH, pero creo como efecto secundario, que el único número realmente aleatorio incluído en el algoritmo para generar las claves fuera el PID, que en Linux sólo toma un valor entre 1 y 32767 (aunque jamas es 1, porque ese suele ser el PID del proceso init que carga el kernel en si mismo).

Así que culaquiera podía adivinar por fuerza bruta la clave usada para encriptar la información porque sólo había que probar 32767 semillas, peor aún el proceso se hacía más rápido si se utilizaba diccionarios con los fingerprints de las claves, osea que cualquier sniffer podía capturar data para luego ser analizada y por simple fuerza bruta obtener la información encriptada en los paquetes.

Todo aquel software que usase las librerías OpenSSH estaba afectado, eso incluía obviamente el sshd (el daemon del SSH), que usamos a dirario para administrar remotamente nuestros servidores, pero también se han visto afectados los certificados SSL, que deben ser regenerados nuevamente luego de que el sistema ha sido parchado.

Aunque parchar el sistema es fácil, es tan secillo como hacer ésto como root:

# apt-get update
# apt-get dist-upgrade

El problema es que todos los certificados que hemos generado usando un Linux desde el 2006 y hasta el 13 de mayo de éste año, deben ser generados nuevamente, y ese es todo un lío, porque debemos de generar los certificados para todos aquellos servicios que confían en la encriptación como el https, ftps, imaps, pop3s, smtps, etc.

Y hacer eso me ha tenido ocupado toda la mañana de hoy. Aquellos que no esten seguros si su sistema esta dentro de los afectados, puede salir de dudas descargando y usando éste simple script de python:

http://demo21.ovh.com/82a960d7199ea9391c73c2034b6b34dfP/debian_ssh_scan_v4.tar.bz2

Espero que mientras el sistema no estuvo parchado no hayan sido hackeados con algun tipo de ataque man in the middle, sólo para estar seguros revisen si no hay nuevos usuarios creados en su sistema, o actividad sospechosa. Esperemos que ésto no se siga ramificando.

Configurando tu propio GAE server

Una de las novedades de Google que más me ha llamado la atención en los últimos meses es GAE (Google App Engine), que permite utilizar la red de Google para desplegar nuestra aplicación web y ganar de forma transparente la habilidad de soportar millones de visitas diarias a la vez de tener la data replicada, resolviendo los dos problemas serios que enfrenta todo Startup de la industria de las Tecnología de la Información, escalabilidad y disponibilidad del servicio.

El principal problema actualmente con GAE, es que esta en fase beta y sólo se puede acceder a él por invitación, afortunadamente cuento con una de esas invitaciones, pero me puse a pensar en todos aquellos que desean probar el servicio y no tienen una cuenta actualmente. Por más que quisiera ser generoso, Google no permite más de tres proyectos en GAE actualmente, y no puedo borrar proyectos, así que hasta yo debo ser cuidadoso con mis tres oportunidades.

Entonces ¿qué podemos hacer,? pues bien, Google ofrece actualmente en el SDK del GAE un webserver muy simple que nos permite probar nuestra aplicación GAE en nuestra propia máquina, el problema es que por defecto el script dev_appserver.py sólo escucha en el localhost en el puerto 8080. Se me ocurrio sencillamente jugar un poco con las opciones de configuración y consegui que trabajara usando el IP público y el puerto 80, actualmente tengo ese tipo de solución corriendo en http://gae.volkanrivera.com

Es importante tener presente que no todas las funcionalidades de GAE estan soportadas por el dev_appserver.py la pérdida más importante es la posibilidad de logueo usando una cuenta de Google. Tenga en cuenta que éste tipo de solución que expongo aquí implica ciertos riesgos así que le recomiendo que lo haga sobre un servidor virtual que puede sencillamente apagar en caso de problemas (alguien hackeo el dev_appserver.py y lo esta usando para enviar spam).

Comencemos con la configuración, como usuario "root" instale estos paquetes:

# apt-get install g++ zip unzip less postfix proftpd pound

De ser necesario puede reconfigurar el postfix usando éste comando:

# dpkg-reconfigure postfix

Cuando sea preguntado sobre que tipo de instalación desea para el proftpd, selecciones "standalone".

Luego edite el archivo /etc/proftpd/proftpd.conf y agregue estas líneas:

TimesGMT                        off
DefaultRoot                     ~

Hagalo después de éstas línea:

# Port 21 is the standard FTP port.
Port                            21

Adicionalmente deshabilite el protocolo ipv6 en el /etc/proftpd/proftpd.conf de ésta forma:

UseIPv6                         off

Ahora edite el archivo del proxy inverso /etc/pound/pound.cfg y sólo deje estas líneas, tenga cuidado en reemplazar www.xxx.yyy.zzz por el IP público de su server:

User            "www-data"
Group           "www-data"
LogLevel        1
## check backend every X secs:
Alive           30

ListenHTTP
        Address www.xxx.yyy.zzz
        Port    80

        xHTTP           0

        Service
                BackEnd
                        Address 127.0.0.1
                        Port    8080
                End
        End
End

Luego edite el archivo /etc/default/pound y coloque el valor de la variable startup=1

Ahora instalemos el SDK, para ello debemos descargarlo e instalarlo como root de ésta forma:

# cd /usr/src
# wget http://googleappengine.googlecode.com/files/google_appengine_1.0.2.zip

# unzip google_appengine_1.0.2.zip
# mv
google_appengine /usr/local/gae

Ahora que tenemos instalado nuestro SDK debemos proceder a crear un usuario que deseamos usar para probar el GAE en nuestro caso usaremos el nombre de usuario gae, pero puede ser cualquiera.

# adduser gae

Finalmente cambiamos al usuario "gae" y continuamos el resto de la configuración como dicho usuario:

$ cd ~/
$ cp -R /usr/local/gae/demos/guestbook/ ./

Necesitamos crear dos scripts uno para arrancar el servidor GAE y otro para detenerlos aquí esta el script para arrancar el dev_appserver.py, puede llamarlo start_gae

#!/bin/bash

/usr/local/gae/dev_appserver.py
–enable_sendmail
$1
2>~/gae.log &

Aquí esta el script para detenerlo, puede llamarlo stop_gae:

#!/bin/bash

kill -9 `lsof -i :8080 | grep ^python | awk ‘{print $2}’`

Antes de arrancar el servidor GAE, necesitamos crear los siguientes archivos, lo haremos con el mismo usuario que correrá GAE usando estos comandos:

$touch /tmp/dev_appserver.datastore
$touch /tmp/dev_appserver.datastore.history

Si no tiene privilegios para crear esos archivos, pues sencillamente creelos como "root" y luego cambie el propietario con el comando chown.

Ahora ya estamos listos para iniciar el servidor GAE, que por el momento lo usaremos para correr la aplicación demo que viene dentro del SDK llamada guestbook, para ello como el usuario "gae" ejecutaremos éste comando:

$ ./start_gae guestbook/

De haber hecho todo de bien Ud. debería de obtener ésto con un netstat -tl:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:webcache      *:*                     LISTEN
tcp        0      0 *:ftp                   *:*                     LISTEN
tcp6       0      0 *:ssh                   *:*                     LISTEN
tcp6       0      0 *:smtp                  *:*                     LISTEN

Observe que "webcache" es el nombre del puerto 8080. Ahora como usuario "root" debemos de iniciar el proxy inverso, para ello usamos este comando:

# /etc/rc.d/pound start

Listo ahora podemos ver nuestro guessbook sencillamente apuntando al IP público o usando un nombre de dominio válido apuntado a dicha IP.

Japón se está quedando sin ingenieros

En un artículo aparecido en la sección de negocios del New York Times el día de hoy (17 de mayo),  se habla sobre éste fenomeno que se está observando no sólo en Japón, sino en buena parte del mundo. El número de jóvenes que inician una carrera universitaria en ciencias o ingeniería ha caído a un nivel tal, que los nuevos graduados no son suficientes para cubrir las necesidades de la industria. Lo cuál para un país como el Japón que ha basado su éxito económico en la innovación tecnológica puede significar el final de su hegemonía en Asia. Especialmente cuando su principal rival China, produce anualmente 400,000 ingenieros.

Cómo muestra un botón, de acuerdo a las estadísticas exhibidas por el ministerio de trabajo en Japón hay 4.5 posiciones disponibles por cada estudiante que se gradua en un área relacionada a maquinaría electrónica.

A diferencia de Estados Unidos, que importa el talento que no puede producir en casa, la xenofobia japonesa, el idioma y la cerrada cultura empresarial han construido una gran muralla que ha hecho que este crisis de falta de ingenieros se agrave rápidamente. Por ejemplo mientras en Estados Unidos existen 7.8 millones de ingenieros extranjeros (muchos de ellos vienen de China e India), el total de extranjeros que trabajan en el campo de la ingeniería en Japón es de apenas 157,719 (de acuerdo a estadísticas oficiales).

Toda esta crisis según los sociólogos se debe a la percepción que se tiene de la ingeniería, un trabajo extenuante, que requiere de mucha disciplina y que tiene poca remuneración. Es por ello que las nuevas generaciones prefieren carreras relacionadas al campo financiero o de la salud, que son percibidas como carreras que demandan menos esfuerzo y ofrecen una mejor remuneración.

Para combatir esa percepción algunas empresas, que ya se han visto afectadas por el problema, han comenzado a promover carreras de ciencias e ingeniería entre los jóvenes, pero los resultados sólo se veran en el largo plazo. En el corto plazo se esta comenzando a producir el robo de talentos entre empresas, algo que nunca antes había ocurrido en la sociedad japonesa, empresas que atraen ingenieros ofreciendoles un gran bono, sólo por firmar con ellos. Pero ni con esas medidas desesperadas empresas como Nissan han podido cubrir su cuota anual de 2,000 nuevos empleados anualmente. Ante dicha situación han comenzado a reclutar ingenieros para investigación y desarrollo en sus propios países de origen, debido a la alta resistencia a extranjeros en la sociedad japonesa. Es así como "Toyo Engineering" una empresa dedicada a la diseño de fábricas de productos químicos, ha comenzado a reclutar extrajeros y hacerlos trabajar en sus países de origen en números importantes, más de 3,000 ingenieros, la mayor parte de ellos de India, Tailandia y Malasia.

Aquí les copio el gráfico aparecido en el New York Time que muestra la caída en el número de estudiantes que optan por una carrera en ingeniería o ciencias:

Estudiantes Inginieria Japon

Creo que éste no es un problema sólo de Japón, porque producir sólo 400,000 ingenieros anualmente en China, que tiene una población 10 veces superior a la de Japón, cuando en Japón se graduan más de 500,000 al año y las industrias japonesas ya estan anunciando que ésto es un problema, demuestra el poco valor que le estamos dando actualmente en el mundo a las carreras que crean riqueza.

En el Perú por ejemplo, las carreras de ingeniería no son vistas con buenos ojos también. La gran mayoría aspira a que hijos sean abogados o médicos, la aspiración nacional es ser llamado doctor.  En general se ve a la ingeniería como una carrera que demanda mucho sacrificio y que paga poco. Lo cuál no deja de ser cierto, pero es sin duda el trabajo de los ingenieros lo que crea la riqueza de un país. Son los que construyen las ciudades, los caminos, construyen las fábricas, optimizan la producción del campo, producen la energía, etc.; sin embargo es un trabajo de hormiga, sin mucha cámara que parece ser la obseción de todo jóven ahora, sino no se puede explicar el tremendo éxito de las redes sociales.

Ahora en el caso del Perú, dentro de las ingenierías se da la saturación en el campo de Informática, no hay una sóla universidad en el Perú que no tenga una facultad de Ingeniería de Sistemas, Ingeniería Informática, o alguna carrera similar. Sin embargo el número de facultades de Ingeniería Mecánica-Eléctrica es mínimo, y los graduados se cuentan con los dedos de una mano, y son justamente ellos los que contruyen la infraestructura que el país necesita.

Mi crítica personal es que incluso, todas estas carreras relacionadas a Informática, cada vez parecen menos ingeniería y lucen más como una carrera de marketing/negocios. Esta pasando lo mismo que le ocurrio a la psicología con la neurología, en un principio para ser psicólgogo había que estudiar neurología, hasta que al final derivó en una ciencia completamente nueva, que no era medicina. En algún punto la Informática deberá de oficialmente dejar de ser llamada ingeniería, porque cada vez en sus cursos hay menos ciencia y más marketing/negocios, si llevar un curso de estadística y cálculo I y II, te convierte en ingeniero, entonces llamemos a los profesores "Ingenieros Pedagógicos".

No me creen, preguntenle a un "Ingeniero Informático" (Sistemas o Ciencias de la Computación, al final obtendran el mismo resultado), cuál es el volumen de una esfera, o pídanle que les resuelva una ecuación cuadrática, veras que su respuesta no tiene nada que ver con una visión de ingeniería (si no se, investigo y veo como hallar la solución) y más que ver con lo que ellos llaman su visión "holítica", que desde mi punto de vista suena a: "no se de que me estas hablando, pero te voy a huevear mientras consigo un gil que haga eso por mi". Por supuesto éste tipo  soluciones sólo funcionan si consigues alguien que haga el trabajo duro por tí, el problema es que nosotros los ingenieros estamos en extinsión y con nosotros el mundo como lo conocemos.

Por si acaso se supone que al terminar 5to de media debes de saber resolver una ecuación cuadrática y cómo calcular el volumen de una esfera, pero eso es para que vean como el pasar por una universidad, puede hacerlos perder parte de sus conocimientos aprendidos, para que su cerebro pueda aceptar nuevos, la pregunta es entonces ¿qué tan económicamente valiosos son esos nuevos conocimientos?

La crisis de la reducción del número de ingenieros en el mundo afectará principalmente a los países más pobres, pues son los que tienen menos recusos para retener a sus ingenieros, los países ricos aunque también afrontan el mismo problema, todavía pueden atraer ingenieros ofreciendo mayores beneficios. Con lo cuál los países en vías de desarrollo perderan sus mejores talentos, pues emigrarán a donde le paguen más, y veran reducidas sus posibilidades reales de desarrollo.

Disculpen el largo post, pero tenía que decirlo en algún momento. Espero que tomen mis comentarios personales como lo que son, pues no ha sido mi intención ofender a nadie.