¿Problemas con vboxdrv en Ubuntu 8.04?

Si uno es un usuario de Linux por lo general tiene que sufrir el hecho de pertenecer a una minoría. La llegada de los emuladores y los procesadores de alto desempeño nos ofreció una alternativa, el poder terner todo un entorno Windows dentro de nuestros Linux para poder ejecutar aquellas aplicaciones que son sólo Windows. En mi caso utilizo VirtualBox, que está soportada por mi distribución favorita para desktop Ubuntu.

El problema es que hace un par de semanas que actualicé a la última version del kernel disponible 2.6.24-25, pero hoy que necesitaba utilizar el emulador descubrí que esto trajo como efecto colateral que VirtualBox dejara de trabajar. El error que tenía era este:
 

VritualBox vboxdrv error

 
Luego de goolear un poco encontré que es debido a que los módulos del kernel que necesita VirtualBox para poder ejecutarse no son instalados en el momento del upgrade. El error ya ha sido reportado a los desarrolladores de Ubuntu como el bug # 461793. Afortunadamente ya existe una solución para el problema y es bastante sencilla aunque un procedimiento manual. Para aquellos que les interese es la siguiente.

Descargar los siguientes paquetes:

$ cd /tmp
$ wget  https://edge.launchpad.net/ubuntu/+source/virtualbox-ose-modules/24.0.11/+build/1312475/+files/virtualbox-ose-guest-modules-generic_24.0.11_i386.deb
$ wget https://edge.launchpad.net/ubuntu/+source/virtualbox-ose-modules/24.0.11/+build/1312475/+files/virtualbox-ose-guest-modules-2.6.24-25-generic_24.0.11_i386.deb
$ wget https://edge.launchpad.net/ubuntu/+source/virtualbox-ose-modules/24.0.11/+build/1312475/+files/virtualbox-ose-modules-2.6.24-25-generic_24.0.11_i386.deb

Luego procedemos a instalar de la siguiente manera:

$ sudo dpkg -i virtualbox-ose-modules-2.6.24-25-generic_24.0.11_i386.deb
$ sudo dpkg -i virtualbox-ose-guest-modules-2.6.24-25-generic_24.0.11_i386.deb
$ sudo dpkg -i virtualbox-ose-guest-modules-generic_24.0.11_i386.deb

Finalmente inciamos el módulo vboxdrv de esta manera:

$ cd
$ sudo /etc/init.d/vboxdrv start

Es todo ahora si ya podemos correr los entornos virtuales. Espero que esto sea de utilidad a cualquier otro ubuntero que tenga este problema.

Creando nuestros propios juegos para Nintendo DS

El día de ayer los usuarios de la consola Nintendo DS, recibieron la gran noticia de que la compañía japonesa anunció el Nintento DSi LL, que es una versión con pantallas de 4.2 pulgadas, del actual DSi. La razón de esta pantalla de mayor tamaño según los medios especializados es satisfacer al público de mayor edad que prefiere pantallas con mejor visibilidad y la otra es permitir que el dispositivo pueda ser usado como un mejor dispositivo multimedia para ver videos en él.

Para mi fue primera noticia que es posible poner videos arbitrariamente en las consolas Nintendo DS, pero googleando encontré que existe un software llamado MoonShell, que permite reproducir archivos de música MP3, ver videos en formato DPG, además de poder mostrar imágenes en formatos JPG//BMP/PNG en adición a poder visualizar archivos de texto plano. Es decir con dicho software un Nintendo DS puede convertirce en un reproductor multimedia completo que muchos de los actuales poseedores de MP4/MP5 envidiarían.

Como era de esperar mi curiosidad me llevó a investigar los detalles de como era posible instalar dicho software y sobre todo poner los videos en las consolas de Nintendo, así que continue siguiendo links hasta que encontré Revolution for DS (R4DS), una tarjeta adaptadora tipo SLOT-1 (el conector de la parte trasera de la consola) que permite utilizar cualquier memoria microSD para grabar en ella juegos comerciales, juegos hechos por uno mismo (homebrew) y contenido multimedia que puede ser reproducido a través del software MoonShell.

Por el título del presente post se daran cuenta que lo que más me intereso fue la parte de los homebrew, o la posibilidad de instalar juegos o programas desarrollados por uno mismo. Si consideramos que el hardware del DSLite por ejemplo tiene 2 CPU (ARM9 + ARM7), 4MB de meoria RAM y cuenta con WiFi es una plataforma ideal para desarrollar herramientas de monitoreo de redes wireless, además de que puede utilizarce tambien como telefono voip, ya que cuenta con micrófono y parlantes. Claro si es que alguien desarrolla un cliente skype para las consolas de Nintendo.

El tutorial que nos explica como instalar el SDK (devkitARM) para desarrollar aplicaciones para el Nintendo DS, DS Lite, DSi y DSi LL, así como la instalación del emulador (DeSmuME) que nos permite probar nuestras aplicaciones antes de ponerlas en el R4DS, puede ser leído en la sección de Tutoriales y howtos del blog bajo el título "Instalar SDK para Nintendo DS en Linux".

La razón de que el tutorial sea sólo para Linux (o para cualquier otro Unix como el OSX), es que en el caso de los usuarios Windows, ellos sólo deben descargar el programa devkitPro, ejecutarlo y listo. Todo se instala automáticamente. Quiero aclarar que no es que odie Windows o piense que es una plataforma inferior, sencillamente me siento más cómo en entornos Linux/Unix.

Fuga de cerebros en Silicon Valley

En un interesante artículo aparecido en TechCrunch, que lleva por título "Beware The Reverse Brain Drain To India and China", algo que podríamos traducir como "Cuidado con la fuga de cerebros inversa a India y China", el autor del mismo Vivek Washwa, comenta los resultados de una encuesta realizada por su equipo de investigación que esta distribuído entre las universidades de Duke, Harvard y Berkeley, sobre 1203  profesionales que volvieron a su país de origen (China o India), durante la segunda mitad del 2008, la encuesta buscaba repuestas a las preguntas, quienes están volviendo a su país de origen y por qué.

Los resultados de dicha encuesta muestran lo siguiente:

  • La edad promedio de los hindús que están volviendo a casa es de 30 años y la de los chinos es de 33 años.
  • Tienen un nivel de educación bastante alto, el 51% de los chinos tenía una maestría y el 41% un PhD, en lo referente a los hindús, los números muestran que el 66% tenía una maestría y un 12% un PhD. Los títulos eran en su mayoría en Administración, Tecnología y Ciencia.
  • El 27% de los hindús y el 34% de los chinos que volvieron tenían residencia permanente en los Estados Unidos, es decir poseeían ya una "green card".
  • El 84% de los chinos y el 69% de los hindús entrevistados citan como la razón de volver a casa, oportunidades de laborales.
  • Factores sociales tambien fueron citados como una de las principales razones para volver a casa, es así como el 67% de chinos y 80% de hindús, invocan "mejores valores familiares" para volver a casa, junto a la posibilidad de cuidar de pagres ancianos. Si a eso se suma el hecho de que en el presente es más difícil traer familiares directos como padres, tal vez esta sea una de las razones para que un gran número de profesionales altamente calificados esten pensando en volver a sus países de origen.
  • De los que volvieron a sus países de origen, se observó una mejora cuantitativa en la jerarquía empresarial, así mientras de los hindús que volvieron sólo el 10% de ellos tenían cargos gerenciales altos en Estados Unidos, en India ese número se elevó a 44%. Con los chinos que volvieron a casa se obervó una mejora similar, mientras en Estados Unidos sólo un 9% desempeñaba cargos gerenciales de alto nivel, en China ese número se elevó a 36%.
  • Cuando fueron preguntados sobre qué fue lo que los atrajo a Estados Unidos, el 54% de los hindús y el 43% de los chinos contestaron que fueron los mayores beneficios económicos (más salario) comparado con su trabajo anterior en sus país de origen. Sin embargo un hecho interesante fue que el 51% de chinos dijo que la cobertura médica fue lo que más les importó cuanto tomaron la decisión de venir a los Estados Unidos.

Bueno lo que queda claro del estudio realizado por el equipo de Washwa, es que sólo el dinero no es suficiente para retener a profesionales altamente calificados. La idea de que el ser humano actúa en busca de su propio beneficio sigue siendo cierta, la diferencia es que no todos miden su propio beneficio en dólares, mucho más aún cuando el dólar se encuentra en su nivel más bajo frente a las monedas de los países emegentes.

Otro factor que tambien puede haber contribuído a este cambio de actitud de los profesionales de China e India, sobre trabajar en Estados Unidos, es que la actual recesión y el downsizing de muchas compañías ha vuelto más difícil el que puedan conservar su trabajo y el que puedan ascender en la escalera corporativa, tan rápido como antes.

Sin embargo, las estadísticas sobre las que hecho mis comentarios anteriores han sido sobre las respuestas dados por aquellos que ya se han ido, pero que sobre los que aún estudian maestrís y doctorados en los Estados Unidos, Washwa se hizo la misma pregunta y realizó una encuenta entre 1224 estudiantes extranjeros de universidades americanas de una docena de países que se graduaron en el 2008. La respuesta de la gran mayoría de entrevistados fue que ellos no creían que los Estados Unidos no era el mejor lugar para desarrollar su carrera profesional, sólo el 6% de hindús, el 10% de chinos y el 15% de estudiantes europeos consideraban quedarce permanentemente en los Estados Unidos. (Pueden descargar un informe detallado en inglés con las estadísticas desde este link).

Según la encuesta realizada a los estudiantes extranjeros por graduarse en el 2008, la gran mayoría de ellos, 58% de los hindús, 54% de los chinos y 40% de los europeos, volverían a casa si se les presenta la oportunidad en el futuro. Más impactante aún es que de este grupo de estudiantes recien graduados, sólo el 7% de los estudiantes chinos, el 9% de estudiantes europeos, y el 25% de estudiantes hindús creen que los mejores años de la economía americana están por venir. Por el contrario el 74% de los estudiantes chinos y el 86% de los hindús creen que los mejores años de sus países de origen están por venir.

Con un 10% de desempleo y la perspectiva de que este número aumente aún más en el futuro inmediato, los políticos americanos tienen cosas mucho más urgentes de que preocuparse, que del hecho de que no haya trabajo, ni perspectivas de futuro para un grupo tan minoritario como los profesionales extranjeros que por el hecho de ser extranjeros no votan. Y las elecciones de medio periodo del 2010 están muy cerca y el gran clamor de los americanos (los que si votan) es trabajo y seguro médico.

Por otro lado el hecho de que la gran ex-gran mayoría caucásica de los Estados Unidos haya aprendido a tolerar otros grupos raciales y compartir con estos roles directivos, se lo debemos agradecer a la generación de chinos e hindús que llegaron a principios de los ochenta. Sin embargo, esta es una oportunidad que la gran mayoría de profesionales latinoamericanos debemos de aprovechar. Si los inmigrantes chinos, hindús o europeos deciden volver a casa, es la oportunidad para los cientos de miles de profesionales lationamericanos que deseen apostar en el largo plazo, tienen para poder venir a desarrollar sus carreras profesionales en los Estados Unidos. La economía norteamericana no se recuperará en 2 o 3 años, tal vez se necesiten 10 a 15 años para hacer la reconversión industrial que los Estados Unidos necesita, pero cuando ese tiempo llegue, otra vez el boom atraera a los que ahora se están yendo y justo ese será el peor momento para intentar venir.

Administrando ethernet settings en Xen sobre Lenny

Desde que comencé a actualizar masivamente tanto mis servidores virtuales como los físicos a Lenny, algunas cosas comenzaron a comportarse de manera extraña, por ejemplo, el caso de bind9, que comentaba hace poco en otro post, que por defecto rechazaba resolver nombres de dominio recursivamente cuando la solicitud venía de un host diferente. Adicionalmente comenzaron a aparecer otros extraños problemitas que no tenía antes, uno de ellos es que la tarjeta de red no negociaba bien la velocidad a pesar de estar configurada en "auto-negotiation".

En fin nada es perfecto, así que decidí echarle una mirara a la configuración de mi tarjeta de red usando el comando: ethtool eth0

Pero lo único que obtenía era esto:

localhost:/# ethtool eth0
Settings for eth0:
    Link detected: yes

Busque en Google, pero al parecer nadie tenía mi problema recientemente, la única refencia que encontré era de hace más de un año, junio 2008. Y el problema era debido a dependencias, como estaba seguro que ese no era mi problema, porque yo había instalado directamente desde los repositorios oficiales, entonces el error estaba en el uso del comando.

Pero si Uds. estan usando Xen, se habran dado cuenta de que adicionalmente a las interfaces físicas eth0, el instalador crea un bridge donde conecta todas las interfases virtuales de los DomU que esten ejecutandose. Esa intefase se llama "peth0" y usandola pude leer el seteo de los parámetros ethernet de mi tarjeta de red:

localhost:/# ethtool peth0
Settings for peth0:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Half
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: pumbag
    Wake-on: g
    Current message level: 0x00000001 (1)
    Link detected: yes

A pesar de que mi switch estaba seteado a 100-full, y tenía la "auto-negociación" habilitada en mi server, por alguna razón esta no parecía trabajar bien. Así que probe cambiar la configuración de mi tarjeta de red manualmente a 100-full, para ello utilicé el comando:

localhost:/# ethtool -s peth0 speed 100 duplex full

Luego verifiqué si los cambios se había aplicado y estos no funcionaban, otra vez tenía 100-half. Entonces opté por la solución de deshabilitar la auto-negociación en mi server tambien, pues había fijado 100-full en mi switch. Para ello utilicé los comando:

localhost:/# ethtool -s eth0 autoneg off && ethtool -s peth0 speed 100 duplex full

Luego de eso, ya podía ver que mi server se había conectado a 100-full, lo cual indicaba claramente que la auto-negociación habilitada en mi server impedía que la interfase sincronizara con el switch correctamente. Luego de eso los problemas de latencia con las conexiones desaparecieron. Lo que me intriga es por qué no tenía ese problema cuando usaba Etch.

High-Frequency Traiding

La nueva alternativa de hacer mucho dinero, sin generar ningun valor en el proceso, de las grandes firmas en Wall Street, haciendo que al mismo tiempo otros paguen sobrecostos, es el llamado High-Frecuency Traiding. Pero, ¿qué es High-Frequency Traiding (HFT)?, aunque las difiniciones pueden difereir ligeramente, lo que básicamente implica el HFT es "alta velocidad", para ello se utilizan supercomputadoras que pueden ejecutar los cálculos necesarios de elaborados algoritmos matemáticos en tan sólo una millonésimas de segundo, tomando la decisión de entrar short or long en el mercado, según la dirección de la tendencia descubierta. Los algoritmos de estas supercomputadoras están pues dedicados a la caza de señales del mercado. Para aumentar su efectividad, las firmas que se dedican al HFT suelen pagar una comisión a las bolsas de valores como NASDAQ para tener acceso preferente a los datos de otros actores del mercado y poder determinar una tendencia antes de que esta aparezca realmente en el mercado. Este tipo de acceso a información preferente ha recibido cierto criticismo y muchos consideran que es una forma sofistircada de insider-trading, incluso hay quienes consideran al HFT una forma de estafa.

Lo cierto es que grandes bancos de inversión como Goldman Sachs, tienen una división que se dedica al HFT, de hecho en un post aparecido en el blog Zero Hedge, se estima que las ganancias de Goldman Sachs debido a HFT durante el 2008 fueron de $ 4 mil millones.  Y estima que de los $3.44 mil millones de utilidades que Goldman Sachs reportó en el segundo trimestre de este año, el 25% del mismo es debido al HFT.

Uno de los datos que más ha llamado la atención sobre HFT, es que de las 20,000 firmas que operan en Wall Street, sólo un 2% de ellas se dedican al HFT, sin embargo son los responsables del 73% del volumen negociado. Dadas las amargas experiencias con los CDS y todos los otros instrumentos artificiales no regulados en Wall Street, que aunque producen una alta utilidad al principio introducen un riesgo tan grande al sistema, que puede hacerlo colapsar, es que hay muchas voces pidiendo una intervención directa de la SEC, agencia reguladora de valores, para que investigue y regule las prácticas del HFT. Este ha sido el asunto discutido en un artículos aparecido recientemente en la revista TIME.

En son de humor, en el programa The Daily Show, with Jon Steward, del pasado 30 de setiembre, Samantha Bee disfrasada de vaca nos explica los dilemas morales que enfrenta el HFT, su pregunta directa a Irene Aldridge, sobre si HFT es o no insider-traiding pone el dedo en la llaga. Sumado a eso el hecho de que no cualquiera puede hacer HFT, debido a que los algoritmos usados son "secretos" y propiedad intelectual de un puñado de firmas. Llaman a una reflexión sobre si lo único importante es hacer dinero no importa a costa de qué o de quien. De ser cierto esa apreciación, pues no habría una diferencia entre un trader corrupto de Wall Street o un narcotraficante.

Ciertamente hacer dinero es importante, pero convertir el hacer dinero en el fin sumpremo de una sociedad es tan perverso como convertir el comer en el fin supremo del ser humano. Porque así como el vivir para comer (que es uno de los pecados capitales, se llama gula) y conduce a la obesidad, con todos sus terribles efectos negativos para nuestra salud. La avaricia a nivel individual y social, que también es un pecado capital, conduce tanto al individuo como a las sociedades que la practican a una serie de problemas sociales de difícil solución.

Bueno, ya fue bastante discurso moralista, ahora riamos un rato con el segmento "Cash Cow – High Frequency Traiding" de Samantha Bee: