25 dic. 2010

Froyo 2.2.1 oficial de Vodafone

Actualizado el 1 de Mayo de 2011, nueva versión aim2.
Original post in english: http://forum.xda-developers.com/showthread.php?t=886671

Ahora que Vodafone finalmente ha sacado una actualización para HTC Magic, he cocinado una ROM a partir de esta actualización oficial. La ROM intenta ser lo más parecida posible a la oficial, pero incluyendo los siguientes extras:

Versión aim1:
  • /system/etc/install-recovery.sh se ha eliminado, para que no sobrescriba tu imagen recovery en cada arranque, como hace la ROM oficial.
  • La ROM está rooteada. Superuser.apk está instalado en el sistema.
  • Se ha incluido el apns-conf.xml de Cyanogen, para que estén disponibles los APNs de todos los operadores, no sólo los de Vodafone.
  • Aplicaciones de Google actualizadas a la última versión: Maps, StreetView, Gmail, Market y Youtube.
  • Reemplazado el teclado de Froyo con el nuevo teclado de Gingerbread (2.3)
  • Eliminada la aplicación Vodafone Live y su acceso directo.
Versión aim2:
  • Eliminado el teclado de Gingerbread, se puede instalar como un paquete separado.
  • Actualizado Maps y Market a la última versión.
  • Incluido Busybox, necesario para algunas aplicaciones root.
  • Deodexed (toma algo de tiempo en el primer arranque, pero se ahorra espacio en /system)
  • Paquetes re-firmados (necesario para incluir STK)
  • Incluida la aplicación STK (SIM-Toolkit, o en español "Servicios SIM"), necesaria para algunos operadores virtuales como Simyo para el Roaming, o para tarjetas SIM duales.
  • Añadido el icono del grabador de sonidos. La aplicación ya estaba, pero sólo accesible al crear un MMS.
  • Añadido soporte para scripts en /system/etc/init.d (últimes para añadir compcache, swap, etc).

Por favor, tener en cuenta que esta ROM es sólo para HTC Magic 32B (no para la 32A ni para HTC Dream). Necesitarás un kernel y/o SPL diferente para 32A o para HTC Dream.

Esta última actualización incluye:
  • Android 2.2.1 (FRG83D)
  • SPL (HBOOT) versión 1.33.0013
  • Radio 2.22.28.25
  • Kernel 2.6.32.9
Sobre el SPL y Radio: Este es un Perfect SPL, así que no permite flashear imágenes sin firmar desde el fastbook. Asegurate de tener una imagen custom recovery. La nueva radio 2.22.28 no funciona con SPLs más antiguos, pero merece la pena por la RAM adicional liberada (15MB). Además, si quieres instalar otro Kernel, debe ser compatible con esta versión de radio.

Requisitos y pre-instalación

Necesitarás una imagen recovery personalizada que te permita flashear los archivos update.zip de la actualización. Clockworkmod recovery o AmonRA deberían funcionar (probado con Clockwordmod).

Asegurate de tener la batería a un buen nivel de carga, y haz una copia de seguridad completa antes de instalar.

Exención de responsabilidad: No me hago responsable si esto convierte tu dispositivo en un ladrillo, si produce combustión espontánea, o cualquier otro tipo de daño o malfuncionamento.

Actualizando desde una versión previa


  • Si actualizas desde el software 1.6 oficial de Vodafone, no debería ser necesario hacer un borrado completo de la partición de datos.
  • Si actualizas desde mi ROM anterior (versión aim1), tampoco debería ser necesario hacer un borrado de los datos. También puedes saltarte el paso 1, ya que deberías tener instalada la versión de SPL correcta.
  • Si vienes de cualquier otra ROM... probablemente necesitas formatear la partición de datos. En otro caso podría haber problemas.

Instalación (versión en dos pasos)

Lo más parecido a como se hace la actualización oficial. Primero, se actualiza el HBOOT (SPL) a la versión 1.33.0013. Después, el sistema,kernel y radio. Si quieres hacer la instalación de esta manera:

1. Actualización SPL. Primero descarga http://dl.dropbox.com/u/3658919/android/vf_magic_froyo_aim1/vf_magic_frg83d_hboot_0013.zip y aplica la actualización desde el recovery (copia el archivo a la tarjeta SD, elije Apply .zip from SDCard, y elije el archivo .zip). Se reiniciará un par de veces  durante la actualización. Finalmente, debería arrancar el sistema con la versión previa, pero el SPL estará actualizado.
2. Actualización Sistema+Radio+Kernel. Descarga http://dl.dropbox.com/u/3658919/android/vf_magic_froyo_aim1/vf_magic_frg83d_aim1_nohboot_s.zip y aplica la actualización desde el recovery, de la misma forma. Debería reiniciarse algunas veces, y finalmente arrancar el sistema, actualizado a Froyo.

Instalación (sólo archivos del sistema)

Si ya tienes instalado el SPL 1.33.0013 o el 1.33.0013d, y la radio en versión 2.22.27.08 o 2.22.28.25, y sólo quieres instalar los archivos del sistema, entonces descarga http://dl.dropbox.com/u/3658919/android/vf_magic_froyo_aim2/vf_magic_frg83d_aim2_noradio_nohboot_s.zip y aplica la actualización desde el recovery.

Versiones y actualizaciones
  • aim1 - 25/12/2010 (regalo de navidad) - Versión inicial
  • aim2 - 01/05/2011 (día del trabajador) - Nueva versión

31 oct. 2010

Froyo 2.2.1 oficial y +15MB de Ram en HTC Magic

In English: http://forum.xda-developers.com/showthread.php?p=8964540&posted=1#post8964540


Actualización: Parece que después de instalar el SPL 1.33.0013 no deja flashear el Kernel, así que mejor primero flashear el kernel (pasos 4 y 5) con un SPL de ingeniería (si no tienes un SPL de ingeniería, flashealo lo primero), y finalmente flashear el SPL (pasos 2 y 3).



Después de llevar algún tiempo con Cyanogenmod 6, y al ver que T-Mobile había sacado una actualización oficial a Froyo, me decidí a probarla. Para ello, después de hacer un Wipe de las particiones, flasheé desde Recovery la actualización no oficial, descargada desde aquí:

http://sandbox.devnull.name/android/MT3G_testrom/MT3G-test2_S.zip

Una vez instalada, se recomienda instalar el fix para algunos problemas con el Market:

http://sandbox.devnull.name/android/MT3G_testrom/MT3G-test2-market-fix_S.zip

la actualización funciona a las mil maravillas, rápida y fluida. Las diferencias respecto a la actualización 100% oficial son que incluye un Kernel distinto (ahora explicaré por qué no incluye el oficial), y las utilidades de SuperUser y otras. Más información la podéis encontrar en el siguiente hilo de Xda-Developers:

http://forum.xda-developers.com/showthread.php?t=811620

Tras unos días usándola, me enteré que la actualización oficial además actualiza el firmware de Radio a la versión 2.22.27.08 (la versión que tenía era la 2.22.27.03). En principio no le dí mayor importancia, hasta que me enteré que la nueva versión liberaba 15Mb adicionales de memoria, algo muy interesante en la escada RAM de las HTC Magic 32B. Tras flashear la nueva versión de la radio, el sistema dejó de arrancar, y me puse a investigar cuál era la causa:

  • La Radio 2.22.27.08 de momento sólo funciona con el Kernel oficial de T-Mobile, no con el de Cyanogen y los que hay por ahí (como el incluído con la ROM recién flasheada)
  • El Kernel oficial sólo funciona con el SPL (también llamado HBoot) 1.33.0013 (el original de la última actualización)
Así que he hecho lo siguiente:
  1. Desde el recovery, flashear la Radio 2.22.27.08. Se reinicia varias veces el teléfono, y deja de arrancar, se peta cuando va a salir el splash screen de "Android". El archivo usado es el myTouch-radio-2_22_27_08.zip:

    http://www.4shared.com/file/o-PkX9Ew/myTouch-radio-2_22_27_08.html?start=

    Existe el archivo para volver a la 2.22.23.03 por si algo va mal:

    http://www.mediafire.com/?qwmzgko2gg2
  2. Tras flashear, el sistema se reinicia varias veces, y acaba entrando en un bucle de reinicios. No preocuparse, es normal. Volvemos a entrar al Recovery.
  3. Desde el Recovery, flashear el SLP oficial. Flashear el archivo update.SPL_Original_1.33.0013-signed.zip:

    http://www.multiupload.com/NKJ45TLL8L

    La única pega es que este SPL es de los llamados "Perfected", que no permiten flashear una imagen de Recovery usando Fastboot. Como ya deberíamos tener una recovery no oficial flasheada (o no podríamos estar haciendo esto), no pasa nada. Si no, hay otros métodos para flashearla.
  4. El sistema se vuelve a reiniciar varias veces, y otra vez entra en un bucle de reinicios. Esta vez no entramos al Recovery, sino al modo Fastboot (pulsando la tecla de Volver + Power).
  5. Desde el fastboot, finalmente, flashear el boot.img extraído de la imagen oficial de T-Mobile, que es el kernel. La imagen oficial la podéis encontrar en:

    http://forum.xda-developers.com/showthread.php?t=807899

    en concreto el Kernel lo extraemos del archivo:

    http://android.clients.google.com/packages/ota/tmobile_opal/e059adc603a3.signed-opal-ota-60505.e059adc6.zip

    que es la segunda parte de la actualización. Dentro de ese archivo tenemos el boot.img en el raíz. Extraemos también el archivo /system/lib/modules/wlan.ko que necesitaremos posteriormente.

    El comando a ejecutar es fastboot flash boot boot.img, con el cable USB conectado al ordenador. La herramienta Fastboot lo podemos descargar aquí.
  6. Con esto el sistema ya arranca (en cualquiera de los pasos previos, el sistema se queda colgado), pero no funciona el wifi, porque el módulo con el driver no es para ese kernel. Con adb, copiar wlan.ko (el driver oficial extraído de la actualización de T-Mobile en el paso 5) a /sdcard/wlan.ko (usando adb push wlan.ko /sdcard/wlan.ko). Luego entrar con adb shell, remontar /system como lectura-escritura con el comando:

    mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

    y copiar el wlan.ko de la SD a su ubicación correcta:

    cp /sdcard/wlan.ko /system/lib/modules/wlan.ko
    (yo por si acaso he hecho antes una copia de seguridad del que ya existía).
  7. Reiniciamos el teléfono, ¡y listo!
El resultado es el Kernel oficial de la actualización de T-Mobile, con la última versión del firmware de Radio, con el driver Wifi oficial, y sobre todo 15Mb más de memoria, y que vaya aún más fino si cabe.

La otra forma de hacerlo es seguir la ruta 100% oficial: Flashear la imagee original de Android 1.5, luego el update OTA a la 1.6, luego el update OTA a la 2.2. Todos los archivos necesarios se pueden encontrar en este post. Pero OJO, he leido por ahí que ese update te machaca el Recovery, y además si intentas instalar otro te lo restaura, así que hay que hacer luego varias cosas (rootear, borrar el script que restaura el recovery, e instalar un nuevo recovery).

¡Espero que os sea de utilidad!

1 sept. 2010

CyanogenMod 6

Buenas chavales,

seguro que ya os habíais preguntado si un Friki como ya se ha instalado la nueva Cyanogenmod 6, versión Froyo 2.2. Pues sí, el mismo día que salió, y he aquí algunas conclusiones que obtengo:


  • Sin duda es la mejor ROM que he probado hasta el momento
  • Ya con la CM5, y con la CM6 también los 96MB de Ram de nuestra HTC Magic son insuficientes (se puede usar, pero nos olvidamos de la multitarea, y cada vez que volvamos al launcher, normalmente tendrá que recargarlo)
  • Hay que olvidarse del Compcache, quita parte de la RAM para hacer una swap comprimida, y no da buen resultado. A veces provoca reinicios.
  • La configuración ideal: una SWAP pequeña, de 32MB, con un valor de swappiness de 10, junto a la opción de "Keep Launcher in Memory". Y ya todo irá como la seda, y casi nunca veréis que hay que recargar el Launcher.
  • Para la swap, lo más sencillo es usar el Swapper2, programa del market. Pero ojo, porque tiene una cosa que no me gusta. Si activáis la opción de "Autostart" para que arranque al arrancar el teléfono, ocurre que en algunas situaciones cuando anda bajo de memoria, el propio Swapper2 se reinicia, con lo que vuelve a desactivar y activar la swap... y en ese momento, perdemos los 32MB de swap y empiezan a petar cosas hasta que se vuelve a crear. Mi consejo es no activar el Autostart, y simplemente, si reiniciamos el teléfono, lo primero ir al Swapper2 y activar la swap.
  • Otra cosa que he notado que mejora mucho es instalar el programa "Minfreemanager", que configura el módulo "lowmemorykiller" (el que mata aplicaciones cuando va quedando poca memoria). Mi configuración recomendada para este programita es 6/8/12/20/36/68, en lugar de la que viene por defecto. Pero ojo también, algo le pasa en Froyo, que aunque elijais "aplicar esta configuración al inicio", no lo hace. Hay que entrar y darle manualmente.
  • Estoy investigando hacer lo de la swap y lo del minfreemanager mediante un script al inicio, para que sea automático.
  • Por último, otra aplicación interesante, de pago, 0.99€ (yo la he comprado) es "Autostarts". Puedes ver todas las aplicaciones que se arrancan con el móvil o bajo distintos eventos, y desactivarlas. Hay que tener cuidado y saber lo que se hace.
  • Para cambiar de ROM, imprescindible el Titanium Backup. Ojo, porque al instalar Froyo, el Market REINSTALA automáticamente todas las aplicaciones que teníamos (se pega un buen rato con el teléfono inusable hasta que termina). Pero no restaura los DATOS, sólo las aplicaciones. Con el Titanium podemos copiar los datos, o las aplicaciones que no hayamos instalado del Market.

6 jul. 2010

Latest technology in TO-DO lists for android




Available for download in your nearest market!

28 jun. 2010

Todos podemos cambiar... a peor

El otro día descubrí que Iritec ha diseñado una bonita nuevo página web. Pero aunque sea bonita, ni siquiera eso compensa la gran desfachatez, engaño y pura fachada que supone esta gran farsa que es su carta de presentación. Si siempre he dudado que algunas cosas pudieran cambiar, me equivocaba. Pueden ser aún peores.


Al ver la nueva web, lo primero que se me ocurrió mirar es si aún existía esa falsa entrada al área de clientes que comentaba en un post anterior. Pues no, ya no existe, pero lo que vemos es mucho peor. Vamos por zonas. En la parte superior, nos encontramos los enlaces de comunicamos, carrera, mapa web, y contactar, que... ¡sorpresa! Son enlaces a ningún sitio. En concreto enlaces a #, que los entendidos en HTML ya conocerán.

Nos desplazamos un poco más a la derecha para encontrar dos interesantes logos:


No puedo hablar a ciencia cierta sobre lo que supondría poner un logo de CMMI sin tener la correspondiente certificación. Me guardaré mi opinión por simple desconocimiento, aunque probablemente no esté muy alejado de la realidad. 

¿Qué pasa con el logo del W3C? Este falso logo del W3C intenta imitar el logotipo que muchas sitios ponen demostrando que su sitio cumple los estándares dictados por el organismo W3C, en cuanto a HTML y CSS (como se aprecia en el logo). El propio logo suele incluir un enlace al validador del W3C para probar que la página es válida según estos estándares. En este caso, el enlace brilla por su ausencia, así que probemos a validar manualmente la página:


Por supuesto, como era de esperar, el HTML no valida:



Al menos el CSS sí que valida...

Otra de las partes más cool del sitio son todos esos iconos web 2.0. A los responsables se les debió pasar por la cabeza que son más guays que nadie si ponen un montón de logotipos de moda:



NINGUNO funciona (enlaces a #) excepto el del blog... No hay más que comentar al respecto.


Realmente, alguno de los más preocupantes es el enlace de Aviso Legal, en la parte inferior izquierda, que una vez más no lleva a ninguna parte.

Los enlaces que sí funcionan perfectamente son aquellos que no llevan más que a otras páginas llenas de palabrería, que recomiendo vehementemente, a cualquier humanoide pseudo-inteligente o ser vivo con mínima capacidad de raciocicio,  leer para gran regocijo y disfrute. La verdad que un mapa web o un poco de organización vendría bien para no perderse entre tan absurdo batiburrillo de narcisismo y auto bombo, pero si uno tiene tesón puede encontrar grandes perlas, dignas de ser recordadas y enmarcadas por toda la eternidad. El gran valor de este portal reside en cómo ser capaces de decir tan poco, de forma tan ostentosa,  y ocupando tanto espacio.

14 jun. 2010

Taxi Driver

Siempre he tenido una mala opinión del gremio de los taxistas, pero hasta hoy no ha sido la gota que colma el vaso. Sé que no se puede generalizar, pero ¿por qué la inmensa mayoría de los taxistas españoles siguen el patrón que voy a describir?

¿Qué me ha ocurrido? Me dirijo a mi casa, conduciendo a unos 55km/h de marcador en el carril derecho por una avenida de 3 carriles (límite 50km/h), cuando un taxista delante mío, a unos 80km/h, se cruza dos carriles y se coloca delante para tomar el desvío de la derecha. Son casi las 10 de la noche, pero no lleva las luces encendidas. Voy detrás suyo (sigo mi camino), y a continuación se salta un semáforo totalmente rojo, sin visos de cambiar. 10 segundos después se pone verde. Ahora por las calles de mi barrio el señor taxista circula a 20 por hora, ralentizando mi marcha. ¿No llevaba usted tanta prisa? Sigue varias calles así, sin posibilidad de adelantar porque sólo hay un carril. Por supuesto, desde el principio y en todo momento los intermitentes brillan por su ausencia. Finalmente, no satisfecho, saca la mano por la ventanilla y tira un cigarro. En menos de 5 minutos ha infringido:

  • No llevar las luces encendidas, cuando es prácticamente de noche (21:45).
  • Límite de velocidad.
  • Arrojar colillas por la ventanilla.
  • Realizar maniobras sin señalizar adecuadamente.
Estos señores suelen considerarse los amos de la carretera y conducen a su antojo, quebrantando las leyes de tráfico. Señores, las carreteras son de todos, todos las pagamos, y las leyes también son para todos. Luego se quejarán cuando endurezcan las sanciones. A todos nos jode, pero las leyes están hechas para poder convivir en la sociedad y, en este caso, en el asfalto.

Hace ya unos meses un taxista (intento evitar coger el taxi siempre que puedo, pero a veces es inevitable), me llevó a mi casa por un camino evidentemente más largo, cuando el GPS delante de sus narices le estaba señalizando la ruta óptima. Cuando le señalo que por qué no vamos por ese camino, me trata como si fuera subnormal, diciendo que era más corto por donde me estaba llevando. Estupefacto, no supe qué replicar. Aunque hice bien en quedarme callado, ya que otro día otro taxista nos narraba cómo le dieron ganas de pegar una paliza a un cliente por sugerir que le estaba engañando y llevándole por un camino peor. Pero se contuvo, y lo único que hizo fue pararle y echarlo de su vehículo.


Un taxista recomendando un camino alternativo

Otras cuestiones que me planteo son:
  • ¿Por qué, aunque existe una línea delante de los semáforos y pasos de peatones, que indica el punto que no debería rebasar el coche al detenerse, los taxistas insisten en introducir medio coche en el paso de peatones, molestando a los transeúntes?
  • Señores, yo también sé cuándo el semáforo está a punto de ponerse en verde. No hace falta ser un lince para observar el patrón, e intuir cuando el semáforo va a cambiar. Eso no significa que se puede pasar el semáforo en rojo.
  • Lo mismo se podría aplicar al revés. Un semáforo que se acaba de poner en rojo no significa acelerar para pasarlo. Si juntamos este factor y el anterior, el riesgo es evidente, como se ha visto en numerosos accidentes.
  • Sí señores, ustedes son los dueños de la carretera, y pueden pararse cuando quieran, en medio, sin molestarse en apartarse un poco para no entorpecer el tráfico. ¿Por qué nosotros no podemos hacer lo mismo por un momento, si alguien tiene que bajar o subir al coche, sin que tengan que pitar y dirigir airados comentarios y gestos?
Por supuesto, como en todas las profesiones, hay grandes profesionales que saben hacer su trabajo perfectamente y respetar a los demás y a sus clientes, pero probablemente son los cuatro gilipollas que se comportan de esta manera los que desprestigian al gremio. 

22 may. 2010

Melmac is not Spain!

¡Qué gran graffiti!


Visto en http://blogs.gnome.org/xan/2010/05/22/quo-vadis-epiphany/, aunque no sé muy bien qué tiene que ver con el artículo...

20 may. 2010

El timo de los relojes

Se suponía que Andorra era barato, pero también tienen algunos timos, como estos relojes:


vistos también en otra tienda:



más baratos, pero esta vez junto a la también fraudulenta Power Balance... Pero, ¿cuánto cuestan realmente estos relojes en los chinos? Pues menos de 4$ el par, es decir, a aproximadamente 1,5€ cada reloj:

Sospechosamente parecidos


¿A qué me recordó el personaje del semáforo en Andorra?


¡Al logotipo de Logroño deporte! Sospechosamente parecidos:


¿Plagio o casualidad?

26 abr. 2010

Linux hasta en la cocina

Gracias a esta alfombrilla que encontré en una tienda de bricolaje, con una forma casualmente muy parecida (por no decir idéntica) a Tux, la mascota de Linux, podemos tener Linux en nuestro baño o cocina sin necesidad de ordenador.

15 abr. 2010

Probabilidad remota


Como últimamente me estoy aficionando ligeramente a la estadística (quién me lo iba a decir...), quería destacar unos párrafos que me han encantado del libro Pro Git.

Para aquellos que no conozcáis Git, este es un sistema de control de versiones distribuído, lo que ofrece algunas ventajas sobre otros sistemas centralizados como Subversion ó SourceSafe (del que ya hablé tiempo atrás).

Una peculiaridad de Git es que no designa cada versión (cada snapshot o foto del código) con un número incremental, sino que utiliza una firma generada con función hash de 160 bits, en concreto SHA-1. Una función hash toma una determinada entrada y genera una salida de una longitud determinada (en este caso 160 bits, es decir, un número entre 0 y 2^160 - 1). Idealmente, una buena función hash tiene varias propiedades, entre las que se incluyen:

  • Una mínima varianza en la entrada de la función genera cambios grandes en la salida de la función.
  • Es muy complicado (por no decir prácticamente imposible) encontrar dos entradas que generen la misma salida (lo que se denomina una colisión).
Y de esta cuestión, la probabilidad de colisión, viene el párrafo que me ha gustado. Ante la preocupación de qué ocurriría si en Git dos versiones distintas generaran la misma firma. El texto original es este:

A lot of people become concerned at some point that they will, by random happenstance, have two objects in their repository that hash to the same SHA-1 value. What then?
(...)
However, you should be aware of how ridiculously unlikely this scenario is. The SHA-1 digest is 20 bytes or 160 bits. The number of randomly hashed objects needed to ensure a 50% probability of a single collision is about 2^80 (the formula for determining collision probability is p = (n(n-1)/2) * (1/2^160)). 2^80 is 1.2 x 10^24 or 1 million billion billion. That’s 1,200 times the number of grains of sand on the earth.
Here’s an example to give you an idea of what it would take to get a SHA-1 collision. If all 6.5 billion humans on Earth were programming, and every second, each one was producing code that was the equivalent of the entire Linux kernel history (1 million Git objects) and pushing it into one enormous Git repository, it would take 5 years until that repository contained enough objects to have a 50% probability of a single SHA-1 object collision. A higher probability exists that every member of your programming team will be attacked and killed by wolves in unrelated incidents on the same night.
y la traducción vendría a ser algo como:
A mucha gente le preocupa que en algún momento tengan, por casualidad, dos objetos en su repositorio cuya firma (hash) sea el mismo valor SHA-1. ¿Qué ocurre entonces?
(...)
Sin embargo, deberías tener constancia de lo ridículamente improbable es este escenario. La firma SHA-1 es de 20 bytes de longitud, ó 160 bits. El número de firmas de objetos generadas aleatoriamente que son necesarias para asegurar una probabilidad del 50% de una única colisión es aldededor de 2^80 (la fórmula para determinar la probabilidad de colisión es p = (n(n-1)/2) * (1/2^160)). 2^80 es 1,2 x 10^24 o 1 million de billones de billones (en formato americano, donde 1 billón es 1.000.000.000). Eso es 1.200 veces el número de granos de arena en La Tierra.
Aquí va un ejemplo para darte una idea de qué tomaría conseguir una colisión SHA-1. Si los 6,5 billones de humanos (billones americanos, serían 6.500 millones) estuvieran programando y, cada segundo, cada uno produjera el código equivalente a la historia completa del kernel Linux (1 millón de objetos Git) y enviándolos a un enorme repositorio Git, pasarían 5 años hasta que ese repositorio contuviera suficientes objetos como para tener un 50% de probabilidad de una única colisión de un objeto SHA-1. Existe una mayor probabilidad de que cada miembro de tu equipo de programación sea atacado y asesinado por lobos en incidentes sin relación durante la misma noche.
Conozco gente tan gafe que estoy casi convencido que cuando comencemos a utilizar Git en nuestro trabajo generará una colisión, pero en general me parece una probabilidad razonable.

12 abr. 2010

Cuidado con vuestros proyectos software libre, o "El golpe de estado AMSN"


Nota del autor (actualización a 13/04/2010): 


Visto el increíble revuelo causado por este post, quería pedir a los lectores un poco de calma:

  1. Por muy injusta (o justa) que os pueda parecer la postura de cualquiera de los implicados, no es motivo suficiente para insultar a ninguna persona que ha perdido cientos o miles de valiosas horas de su vida desarrollando un software de forma altruista para sus usuarios.
  2. Lo aquí expuesto no es más que mi opinión, por supuesto totalmente subjetiva, expresando mi malestar por las formas en las que se me ha eliminado del proyecto, el tratamiento posterior, y en general la gestión actual del proyecto AMSN. 
  3. En el post está el enlace a la conversación original, y Youness ha publicado en su blog también una entrada. Libres sois todos de leer ambos post, leer la conversación, y opinar, como ya habéis hecho. Sólo espero que lo hagáis educadamente.
  4. Esto no es ninguna cruzada, ya que aquí no se está luchando por nada, ni hay un posible ganador. No tiene sentido inundar de Spam ningún blog o foro, ni desinstalarse masivamente ningún software. Mi objetivo era simplemente dar a conocer mi versión de la historia, y creo que ya se ha cumplido subradamente.
  5. Por desgracia no tengo tiempo de seguir todos los comentarios surgidos alrededor del post y Meneame, aunque lo intentaré dentro de lo posible. Gracias a los que me habéis apoyado. Y a los que no, respeto vuestras opiniones. 

Hace ya unos pocos años, como un fork del proyecto ccmsn (tras la imposibilidad de contactar con su autor), comencé el desarrollo de AMSN (Alvaro's Messenger), que en su momento se convertiría en uno de los clientes de mensajería MSN más importantes para Linux. Durante varios años dediqué gran parte de mi vida al desarrollo de este proyecto, y se fueron uniendo otros desarrolladores, sin los cuales AMSN no hubiera sido lo mismo.

Por cosas de la vida, las circunstancias van cambiando, y llegó un momento en el que no me era posible dedicar el tiempo que me gustaría a continuar el desarrollo del proyecto, y pasé a un discreto segundo plano. Otras personas continuaron, y continúan, con mayor o menor efectividad, en el proyecto.

A pesar de todo, he intentado no perder el contacto con el proyecto, e intentar seguir su desarrollo en las listas de correo, en las que cada vez se desarrollaba menos actividad.

Cuál fue mi sorpresa cuándo el otro día, accediendo a las páginas de Sourceforge, la forja dónde se aloja el proyecto AMSN, me encuentro con que ya no formo parte de los miembros del proyecto. ¿Qué habrá sucedido?, me pregunto. ¿Cómo es posible que de repente, sin ningún conocimiento por mi parte, se me haya eliminado del proyecto que fundé, y al que tanto tiempo y esfuerzo he dedicado?

Así que me decido a escribir un mensaje a la lista de correo de desarrolladores, a la que por suerte todavía pertenecía, preguntando sobre este hecho. La conversación completa se puede seguir aquí:

http://www.opensource-archive.org/showthread.php?s=efebe43e81eb30437944b5f147c82914&t=173160

El resumen de la conversación mantenida es el siguiente: inicialmente sorprendido, pregunto cuándo y por qué se me eliminó del proyecto, ya que no había tenido ninguna noticia, ni aviso al respecto. Youness, el nuevo jefe de facto (a quién yo hice administrador del proyecto hace un tiempo) me responde que él mismo eliminó a los miembros inactivos hace algún tiempo. Respondo (creo que siempre educadamente) exponiendo las razones por las que creo que debería permanecer en el proyecto, o por las que, como mínimo, se me debería haber avisado en lugar de expulsarme miserablemente por la espalda y sin avisar, y a partir de ese momento lo único que recibo es una serie de insultos y gritos (cosa que, la verdad, no me sorprende viniendo de esa persona).

A mi modo de ver, el desarrollo de AMSN se ha cerrado bastante, y se convertido en un grupito de amigos que se pasan el día en el IRC contandose sus batallitas. Si no estás en el IRC con ellos y no te llevas bien con el jefe, entonces no puedes pertenecer al equipo, da igual que seas el fundador o tus méritos pasados.

He visto a desarrolladores descontentos hacer forks de un proyecto para continuarlo a su manera, pero es la primera vez que veo dar un golpe de estado en toda regla, y expulsar al creador del proyecto sin dignarse a enviarle ni un email o aviso. ¿Qué opinión os merece esta forma de actuar?

Actualización: vista la polémica generada, que conste que mi objección no es el hecho de que me hayan echado del proyecto (esto podría comprenderlo, aunque yo no lo hubiera hecho). Lo que me parece lamentable es la forma de hacerlo, es decir, eliminarme sin ni siquiera un triste aviso, por la espalda, y luego tratarme como si jamás hubiera hecho ningún mérito por el proyecto, y que si quiero volver a participar, que haga como cualquier otro desarrollador, y comience enviando parches, y ya verán si se me admite.

Creo que nunca les he dado motivos para desconfiar de mi, y por tanto creo que estoy en mi derecho (como fundador y creador de gran parte del código) de poder volver a participar en el proyecto si sacara tiempo, y ganas (que cada vez me quedan menos con actitudes y personas así) para retomarlo. A día de hoy veo más probable volver a hacer un fork por mi cuenta, que volver a trabajar en el proyecto actual.

Actualización: Respuesta de Youness en su blog, en la que podéis encontrar algunos comentarios míos.

10 abr. 2010

Piloto por un día

Cuatro imágenes valen más que 4000 palabras:


A los mandos del avión (con ayuda, claro)


El Pilar a la vista


¡Mi barrio!


Posando en la Cessna con la que hemos volado.

Actualizado: y ahora, ¡¡un video!!

21 mar. 2010

Antena camuflada en chimena

Observad atentamente esta chimenea, situada en un edificio en la c/ Aries, de Valdefierro, Zaragoza:


Vista desde la calle:


Una chimenea aparentemente normal... ¿o no? la inusitada altura, y la existencia de una caseta justo al lado, con equipos de refrigeración, da qué pensar... un poco de Zoom en la imagen de la caseta:


curioso, una caseta refrigerada, un montón de cables saliendo de ella, y una pequeña antena parabólica, típica de conexiones punto a punto... parece que la chimenea es algo más de lo que parece, probablemente unas antenas de telefonía móvil.


Si observamos desde Google Maps una vista cenital:


podemos ver los cables saliendo de la caseta, y llegando hasta la supuesta chimenea. ¿Está justificada la paranoia con las antenas de móviles? Tal vez pasen muchos años hasta que lo sepamos. La gran pregunta aquí es, ¿está realmente justificada la farsa de instalar una antena camuflada en forma de chimenea? ¿Tienen conocimiento los vecinos de esto? ¿Es legal?

Y por supuesto, cabe la posibilidad de que me equivoque, y la chimenea sea realmente una chimenea un poco extraña, y la caseta un lugar donde vive alguien muy caluroso...