World of Goo

Hacía tiempo ya que no jugaba a ningún juego de ordenador, quizás desde que mis sobrinos me retan al Ghost'n Goblins, Puzzle Booble y el Pang en la máquina recreativa que les preparé en casa. Worl Of Goo es un juego de puzzles que me recuerda irremediablemente a los Lemmings. Partimos de unas pequeñas bolitas pegajosas y resbaladizas llamadas goos, que debemos ir apilando y enlazando para crear un camino que conduzca al resto de goos a la tubería de escape. Podremos usar varios tipos de goos:

  • negros, que son los más básicos,
  • verdes, que podemos quitar y poner en diferentes posiciones,
  • rojos, que podemos quemar como si fueran una mecha
  • abejas voladoras, que permiten deshacer la última acción
  • calaveras, que son inmunes a los pinchos, y alguno más que aún no he visto
Este juego es un vicio: Con una estética que me recuerda a Worms, es muy entretenido y divertido. Podemos ver un video en YouTube, y bajarnos una demo para probarlo... pero lo mejor del juego no es esto, lo mejor es que puedes comprarlo en la Web por unos 15€, y ver que puedes descargarlo Linux (en versión RPM, DEB y TGZ por si eres muy friki)... eso sí que no tiene precio: sin duda es lo mejor, el respeto con el que nos han tratado a los usuarios de Linux. Todo un lujo.

Además pienso que el modelo de negocio para este tipo de juegos que no van respaldados por una superproducción es muy acertado. Podemos comprar juegos para el móvil y melodías chorras a partir de 3€. Un juego actual puede costarnos 50€ ... ¿por qué no descargarlo directamente por poco más que un politono con cubata y ahorrarnos un 70% en la compra del juego?

Deshabilitar ipv6 en ubuntu 9.10

El otro día al configurar un equipo con Ubuntu 9.10, comprobé que cada vez es más difícil deshabilitar ipv6 en nuestros equipos Linux ¡¿?! ... Comprobé que después de haber añadido a /etc/modprobe.d/00local las siguientes líneas:

alias net-pf-10 off
alias ipv6 off
... añadir a /etc/modprobe.d/blacklist.conf la línea
blacklist ipv6
y reiniciar el equipo, seguía teniendo ipv6 configurado. Parece que en Ubuntu debemos deshabilitarlo desde grub2. Para ello tenemos que editar el fichero /etc/default/grub y configurar la línea GRUB_CMDLINE_LINUX, para que tenga:
GRUB_CMDLINE_LINUX="ipv6.disable=1"
Cuando terminemos de editar el fichero, podremos aplicar los cambios ejecutando
sudo update-grub2
Todo esto me hizo intentar recordar, por qué sistemáticamente deshabilito ipv6 cuando termino de instalar un servidor en una red con sólo servicios ipv4:
  • El hecho de tener configurado el protocolo nos consume tiempo de CPU y espacio en RAM.
  • Además al tener configurado Ipv6 estamos expuestos a los agujeros de seguridad del protocolo.
  • A parte de estos inconvenientes que encontramos en cualquier otro protocolo de red, resulta que cuando tenemos configurado nuestro equipo en IPv6, todas las consultas que hacemos al DNS se hacen en ipv6 y en ipv4: esto inyecta tráfico que no sirve para nada a nuestra red, y ralentiza las comunicaciones de nuestro equipo, porque no se da por resuelta la consulta DNS hasta que no se han obtenido las respuestas ipv6 e ipv4, o han expirado los timeouts.
La imagen la he sacado de la galería de iandavid en flick

Usar Ubuntu Server frente RedHat Enterprise Linux

En los últimos meses he empezado a desplegar equipos Ubuntu Server 9.10 en varios clientes, en detrimento de RedHat. Hasta hoy los motivos han sido la posibilidad de usar EXT4 ya en la instalación de una forma más estable si se compara con Debian 5.0, el hecho de que los paquetes importantes estén muy actualizados (OpenLDAP 2.4.18, samba 3.4 + samba4, apache 2.2.12) y por supuesto el soporte gratuito a actualizaciones: Esta gente de ubuntu cada vez más me parece más atrevida, más profesional y más dinámica, aunque aún quedaría evaluar el soporte de pago.

RedHat para algunas cosas me parece un petrolero gigantesco cruzando un océano a gran velocidad, pero que para cambiar de rumbo necesita mucho espacio y tiempo, creo que ha perdido frescura frente a Canonical: es como pensar en el monstruo IBM intentando vender de todo y compitiendo con Apple vendiendo iPods o iPhones. En RedHat5 aún seguimos con samba 3.0.33 u OpenLdap 2.3, y otros paquetes que ya tienen más de dos años de antigüedad, y esto, para algunos clientes que no tienen contratado el soporte con RedHat es un problema, porque algunos bugs ya no se pueden reportar al upstream del proyecto base ya que están marcados como obsoletos. Si encuentro un bug en el paquete Samba de mi RHEL5 último Update, estoy obligado a reportarlo a RedHat, previo pago, no puedo enviarlo a la lista de desarrollo de samba porque está obsoleto, ellos tienen marcada como en mantenimiento (sólo arreglan bugs de seguridad) la versión 3.2, y en estable la 3.4.4 (sólo podemos reportar bugs para esta), mientras que Samba4, en contínuo desarrollo, ya incluye compatibilidad total con el Directorio Activo de Windows 2003... ¿cuánto tiempo tendrá que pasar para que dispongamos de estas versiones en RedHat Enterprise Linux?. Los implantadores debemos influir en la decisión de qué distribución usar, depediendo de las necesidades funcionales del cliente y del soporte que tenga contratado con el distribuidor.

Tampoco creo que la frescura de Fedora sea recomendable para el despliegue de servidores, creo que sus políticas de inclusión de software es demasiado inestable para algunos paquetes importantes: No hace mucho quitaron completamente el soporte a XEN en el Hypervisor después de haberlo incluído en versiones previas. En los últimos tiempos es cierto que Fedora ha mejorado mucho la experiencia del usuario de escritorio, pero me parece demasiado atrevido usarla en servidores de producción.

Con todo ello no quiero decir que una sea mejor que otra, lo único que digo es lo que ya le comenté un día a Alfonso Vera hablando de estas cosas: Al final el soporte Linux, lo das tú, nadie llama a RedHat cuando aparece un problema, te llaman a tí, y si tú no sabes llamas a RedHat. Las matrices de compatibilidad están muy bien pero en ellas no siempre pone como resolver los problemas de tu cliente cuando aparecen, eso lo hacemos los implantadores: Cuando te manden luchar, deja que por lo menos te permitan elegir las armas con las que tienes que defenderte.

La imagen la he sacado de la galería de afsilva

Xinetd e Identd

El otro día me pidieron que revisara la configuración de un sistema RHEL5 que tenía configurado un servidor CVS autenticado vía LDAP contra NDS-Novell. Al parecer cuando se accedía al servicio vía VPN desde una VLAN aislada, las conexiones con el CVS iban excesivamente lentas, mientras que en la Intranet iban a la velocidad habitual.

Analizando el patrón del tráfico desde el servidor CVS con tcpdump, pude comprobar que por cada conexión que se realizaba al servidor, había una petición desde este hacia el cliente por el puerto TCP/113. Este puerto es el que usa el servicio Identd, para identificar usuarios en conexiones TCP/IP. Después de un rato buscando al final descubrí que el origen de estas conexiones estaba en la opción USERID que había configurada en las líneas log_on_success y log_on_failure de varios de los servicios que tenía configurados en /etc/xinetd.d/*, y en concreto en el fichero de CVS. Esta opción hacía que cada conexión exitosa o fallida hacia el servicio lanzara una conexión IdentD para identificar el usuario. Cuando la conexión venía desde la VPN, el firewall truncaba este flujo y la conexión desde el servidor CVS no obtenía respuesta, por lo que tenía que esperar a que expirara el timeout.

La solución a este problema es tan simple como eliminar las apariciones de la opción USERID de todos los ficheros /etc/xinetd.d/*, y luego reiniciar el servicio /etc/init.d/xinetd restart.

La imagen la he sacado de la galería de Zorraquino.

En la cabeza de Steve Jobs

Anoche, justo una semana después que se presentara el iPad, acabé el libro que me regalé por San Antón, cuando me convencí de que los reyes mágicos ya no me traerían nada este año. En la cabeza de Steve Jobs: La mente detrás de Apple, es un libro entretenido de lectura fácil y rápida que nos relata la vida, obra y milagros del genio que hay detrás de Apple.

El texto está organizado en capítulos cortos, en los que en cada uno se enfatiza uno de los rasgos de la personalidad de Steve que más han podido influir en el éxito de Apple: Focalización, despotismo, perfeccionismo, elitismo, pasión, creatividad y obsesión por el control. Para desarrollarlos, el autor nos cuenta un montón de historias y anécdotas que a veces no parecen tener relación y que no paran de mezclarse en el tiempo: Los comienzos de Apple en los setenta, la época oscura cuando le pusieron en la calle, el discreto éxito de Next, el nacimiento de Pixar, el retorno a Apple, el éxito del iPod y del iPhone. Al estar todo entremezclado, pienso que obliga al lector a conocer previamente parte de la historia de Jobs, y a participar de la cultura de Apple profundizando aún más en ese elitismo y culto a la manzana.

Aparte del estilo de la redacción, el libro presenta las grandes contradicciones del comportamiento de Jobs: Por un lado su elitismo frente a su obsesión de simplificarlo todo, por otro lado sus problemas en las relaciones personales con todos frente a grandes amistades como la de Lasseter o Wozniak, su antimaterialismo frente a la venta masiva de artilugios fabricados en Asia.

Aunque el libro vanagloria en exceso la figura Steve sin profundizar en la parte más oscura de su personalidad, a pesar de que se deja ver porque no se puede disimular, no se le puede negar que este señor es todo un ejemplo de constancia, esfuerzo, dedicación, innovación y talento para este negocio de la informática. Es un gran visionario digno de admiración y del respeto de todos los que nos dedicamos a la Informática. Leyendo el libro (atención spoiler) te puedes enterar de cosas como que ... cuando introdujo el ratón en el mercado, quitó las teclas de función del teclado para obligar a los usuarios a realizar ciertas funciones con el ratón, y a los fabricantes de software a reprogramar sus aplicaciones para contemplar este cambio. El libro está plagado de historias de estas.

World Of Warcraft en Fedora 64bits

World Of Warcraft (Wow) es el juego de rol multijugador online que cuenta con una comunidad de más de 11 millones de suscriptores, algo así como un Second Life con orcos y humanos, que tiene enganchado a mi primogénito y algunos colegas, que ya no son tan adolescentes. Esto es todo un fenómeno de culto bastante friki en internet. Técnicamente el juego está muy conseguido, es muy ágil y la acción se desarrolla muy rápido, pero por más que le pregunto a mi hijo, aún sigo sin saber cuál es el objetivo, y por qué está tan enganchado.

La semana pasada su Microsoft Windows decidió dejar de funcionar, y me pidió, por primera vez en su vida que le instalara Linux, a ver si así iba mejor, y por lo menos podía jugar tranquilamente sin virus y sin los incovenientes de Windows. Se había preocupado de buscar por Internet y había visto que otros lo hacían, y pensó que él también podría con mi ayuda...

Instrucciones para hacerlo hay muchísmas, quizás el tutorial más completo que haya leído sea el de Cesarius Revolutions: Cómo Instalar World of Warcraft (WoW) en Linux, sólo que está escrito para Ubuntu, para Fedora Core 12 en 64 bits con NVIDIA no hay todavía mucha información.
En general todo el procedimiento se puede aplicar de la misma forma: instalar wine, pulse-audio y las librerías de 32bits para las X:

sudo yum install wine wine-pulseaudio.i686 wine-pulseaudio.x86_64

sudo yum install mesa-libGLU.i686 mesa-libGLU.x86_64

sudo yum install xorg-x11-drv-nvidia-libs.i686 xorg-x11-drv-nvidia-libs.x86_64
Luego copiar todo el directorio desde la instalación del juego en Windows a nuestro directorio .wine/drive_c/. Lo importante es recordar que aunque el kernel que se ejecute sea de 64bits, tenemos que instalar el soporte para 32bits, porque la aplicación se ejecuta como una aplicación de 32bits:
wine32  "C:\Archivos de programa\wow 3.09-Wotlk\Wow.exe"

La foto la he sacado del album de beketchai en flickr

Negocios equivocados con software libre

Esta semana he presenciado un episodio de negocio equivocado basado en software libre. Varios de los clientes considerables para los que trabajo, tienen algún técnico dedicado a intentar poner en marcha Pentaho. Pentaho es una plataforma Open Source en Java destinada al análisis de datos y presentación de informes empresariales, que podemos usar para la minería de los datos de nuestra empresa y la idea del malogrado cuadro de mandos. Como siempre ocurre en estos casos, esta necesidad por usar de repente una determinada herramienta viene precedida por un caso de éxito, donde efectivamente la herramienta se instaló y configuró correctamente.

Este primer cliente del caso de éxito, empezó hablar bien de la herramienta y añadió la coletilla de "es open source". La mostraría orgulloso y la gente vería los resultados y pantallazos, que suelen ser bastante vistosos en estos casos. Se acababa de crear una necesidad sin ayuda de campañas de marketing ni de publicidad, lo mejor que podría pasarle a cualquier empresa, y esto es que se cree una necesidad por alguno de los productos que ella comercializa sin invertir un céntimo.

La gente empieza a intentar usar la herramienta: cómo és software libre puedo instalarlo y usarlo yo, vamos a poner a alguien con ello. Se comete el primer error: Pensar que como es Open Source es todo muy fácil, y cualquiera puede hacerlo. Si es cierto que cualquiera puede hacerlo pero con la formación suficiente, que siempre se obvia; el que la documentación esté disponible y sea de libre acceso no significa que la experiencia se adquiera instantáneamente y la formación no necesite su tiempo.

De la misma forma que crece el interés por usar esta herramienta, crece el número de iniciativas profesionales que dicen ser capaces de vender servicios de consultoría, no siempre con la formación necesaria: es software libre. Los técnicos que estaban investigando por su cuenta, empiezan a darse cuenta que esto tampoco es tan fácil, y empiezan a trasladarlo hacia arriba. Algunos de estos clientes, comienzan a contratar consultorías externas para apoyar a los técnicos propios en la puesta a punto. Esto no debe considerarse como un segundo error sino más bien la consecuencia directa de no tomar decisiones coherentemente desde el principio y desconocer por completo qué es el software libre. En cualquier caso, es un signo de querer reconducir la situación en la dirección correcta.

El otro día tuve la ocasión de comer uno de estos técnicos, pero en su caso, aún no cuenta con ayuda externa porque poco a poco va avanzando y solucionando lo que se le va presentando, a cambio de invertir una cantidad de tiempo excesiva que pocos sabrán reconocer y recompensar en el futuro: en cualquier caso, le animé, está invirtiendo en él mismo. Me comentaba que todavía no ha podido empezar con la explotación real de la aplicación porque está terminando de afinarla, y que hacía unos días estaba bloqueado totalmente con un problema y al final decidió contactar con otro técnico amigo de otro lugar, que sí que tenía apoyo externo, para que le trasladara la consulta al consultor. El consultor externo se percató de la situación y le llamó la atención a su cliente que en este caso hacía de intermediario, con los argumentos típicos: esto se paga aparte, el que quiera saber que pague, ...

¿Qué ha hecho mal este consultor?... en mi opinión creo que ha fallado en lo básico:

  • Al negarle su ayuda a mi contacto evita conocer un posible cliente. Sus clientes son gente que tienen y usan Pentaho: Cuánta más gente use Pentaho, más clientes podrá tener.
  • Si le hubiera resuelto su duda, mi cliente tendría buenas referencias de él (esta gente sabe, este tío es bueno, etc), y llegado el caso de tener que buscar ayuda externa, sería el primero por el que apostaría.
  • Es más difícil hacer un cliente nuevo que mantener los que tienes, y este ha llegado hasta tí, y le has impedido que entre a tu negocio. Algunos de los jefes que tuve, decían que los negocios había que tenerlos abiertos para que entraran aunque fueran las moscas, tipos sabios aquellos.
En Navidad, mi hijo renovó el móvil con su propio dinero, y empezó a presumir de funcionalidades, y a intentar sacarme envidia; al rato de oirlo le dije la frase que una vez oí por microsiervos: Hijo, ese móvil no lo has inventado tú, lo único que has hecho ha sido pagar por él. Algo similar sucede con este tipo de consultorías y empresas basadas en productos Open Source: piensan que su negocio está en instalar el paquete, como si lo hubieran inventado ellos, y por eso se protegen y evitan ayudar a un extraño, porque en realidad creen que pierden un cliente. No hay ningún valor añadido en saber ejecutar tar -xzvf o en ejecutar make; make install: cualquiera sabe hacer eso. El verdadero valor en el negocio del software libre, está en conocer las funcionalidades de la herramienta, saber moldearla y trabajar con ella para cubrir las necesidades reales de tus clientes, integrándolas con el resto de productos y con la informática que ya tiene, y si la herramienta no cubre alguna, implementarla para él y devolverla a la comunidad.

Pienso que esta deformación de ideas, viene motivada un poco porque la gente sigue creyendo en el antiguo modelo de negocio de pago por licencia, que ha demostrado ser más que rentable en el software propietario, pero que no se sostiene en el del software libre; Si miramos desde el punto de vista del software propietario, lo que muchas de estas consultorías están haciendo es cobrarte por ir a tu casa a instalarte Microsoft Office o el Nero, en vez de venderte el curso de formación para que aprendas a usarlo, o una bolsa de horas para actualizar todas las plantillas de tu organización, o migrar tus documentos, etc.

El principal inconveniente de esta situación, son los clientes que se quedan en el camino y las oportunidades que se pierden: Gente desencantada del software libre, que piensa que es una estafa, y la estafa es cobrar por algo que no existe. Este tipo de consultores no nos ayudan mucho a los que intentamos vivir de esto.

La foto la he sacado del album de thinkpanama en flickr