Como hacer un buen «show me the code»

La idea de hacer un buen “show me the code» no es del todo mala: ver el código fuente de un proyecto te permite descubrir si puede dar problemas a la hora de mantenerlo; así como si va a tener problemas de seguridad o de eficiencia. También puede ser útil para peritajes. O para evaluar la habilidad de un programador al que queramos contratar para que nos haga un programa.

Lo primero que debemos hacer es librarnos de ideas preconcebidas: si tomamos una base de código lo suficientemente grande, y miramos con una ventanita lo suficientemente pequeña, vamos a encontrar lo que busquemos.

Una vez que nos hemos librado de prejuicios, el siguiente paso será tomar código desarrollado por la persona. Esto es importante, porque si hacemos un análisis sobre código de una persona distinta de la que queremos estudiar, no estudiaremos a la persona sobre la que tenemos interés. En el caso de proyectos de software libre, esto es especialmente delicado: es normal que un programa esté realizado por muchas manos. El software libre es con frecuencia colaborativo, y podemos quedar en ridículo con facilidad si no sabemos identificar la autoría de un trozo de código.

El primer paso es abrir el archivo, y mirar en la cabecera. Los programadores de software libre suelen indicar en la cabecera del código quién es el autor. Por ejemplo, si tomamos un programa al azar, como pueda ser este, vemos que el autor lo tenemos en la cabecera:

(Está marcado con un circulo y unas flechitas por si algún chaval de 20 años o algún blogero influyente de la A-list tienen problemas en encontrarlo).

Bueno, ya sabemos el autor al que debemos achacar el problema. Pero esto no tiene importancia, porque acabamos de encontrar un posible problema de seguridad que nos parece gravísimo. Lo adecuado aquí es recordar que el CVS es una instantánea en el pasado de un proyecto, y que el problema puede ya estar solucionado. Seguimos con la imagen:

(Está marcado con un circulo y unas flechitas por si algún chaval de 20 años o algún blogero de la A-list tienen problemas en encontrarlo. Para ellos va también la explicación de lo que es un CVS, por si lo desconocen).

Bueno, esto parece que tiene cinco años… Y nadie parece haber tocado el código en cuatro años… o el proyecto está muerto hace cuatro años, o ya nadie usa ese CVS. ¿Que hacemos? Preguntar al mantenedor cual es la versión más reciente. Si no, podemos estar dando un parte de seguridad de un error que puede que fuera corregido hace tres años, y que el CVS no lo utilice nadie desde hace cuatro años. Especialmente si es un proyecto cuya historia desconocemos y no nos hemos tomado la molestia de informarnos.

Supongamos que con la emoción de un chaval de 20 años que ha encontrado un error de seguridad en un paquete con una complejidad que no entiende, queremos dar un parte de seguridad por el problema. ¿Que hacemos?

Niños, vamos a aprender un concepto clave: como se dan los partes de posibles vulnerabilidades.

  • Primero, se avisa al desarrollador del paquete con un correo, avisándole del problema. Lo más normal es que genere el parche y saque una nueva versión al momento.
  • Entonces, avisamos a los canales comunes de seguridad para administradores de sistemas, para que la gente actualice el paquete. Si el desarrollador no ha escuchado, es una buena idea -en el mundo del software libre, al menos- que hagamos el parche de seguridad.
  • Finalmente, cuando la vulnerabilidad tiene parche que protege el sistema, y los administradores pueden acceder al parche, se notifica a los medios masivos -tipo meneame-.

La gracia está en el orden de los pasos. ¿Porqué? Porque lo primero en estas cosas no es el ego; sino la ventana de vulnerabilidad que se crea dando la noticia antes de que haya parche, y que pueda ser alegremente explotada. En software privativo solo podríamos avisar de los síntomas. En software libre tenemos la ventaja competitiva de que podemos arreglar los problemas en cuanto los detectamos. Si somos buenos ciudadanos del ecosistema de software libre podemos aportar la solución al momento.

¿Como no se hacen las cosas? Pues al revés; primero lo notificas en meneame, un día más tarde, lo mandas a bugtraq, donde un blogger de la A-list -que participaba en la discusión de meneame- se hace eco del problema. Y al mantenedor del paquete ¿para que avisarlo? Que se joda, es uno de los imbéciles que desarrolla software libre. Si cae algún sistema por la vulnerabilidad en su código, mejor, uno menos de estos cabrones del software libre. Más carne para que muerda el blogger.

Todo esto le puede pasar a un hipotético chaval de 20 años que no lleve suficiente tiempo en esto del software como para saber que los avisos de seguridad se hacen así por algo. Lo peor que puede pasar es que nuestro chaval de 20 años sea un lince, y haya descubierto un error: miles de sistemas vulnerables durante una noche. Daños económicos cuantiosos. Pérdida de datos. Cuando el mantenedor del paquete de software libre se despierte al día siguiente, será demasiado tarde. Objetivo cumplido.

Pero lo mejor que suele ocurrir es precisamente lo que es normal, cuando estas cosas las hace un hipotético chaval de 20 años calentado por un blogger de la A-list. Especialmente si no está claro como explotar la vulnerabilidad, y apenas realiza una búsqueda con grep de las funciones en C que todos sabemos que potencialmente puedan tener problemas de seguridad. Si hubiese contactado con el desarrollador de software libre a cargo del paquete -cuyo teléfono movil está en su web- se habría enterado que:

  • El código original de MOSIX tenía muchos errores. Ese, y otros que el chaval ni ha identificado.
  • El mantenedor dejó de mantener la versión del CVS porque la prioridad en el CVS era el desarrollo de nuevas funcionalidades, por encima de lo que él consideraba más importante: corregir esas guarradas como precisamente la que ha encontrado el chavalote.
  • Mantiene una versión propia del paquete, liberada, desde hace cinco años.
  • Que ese problema es extremadamente difícil de explotar por como se utiliza la biblioteca, pero que el potencial problema fue eliminado en la versión del paquete de nuestra víctima hace más de tres años.
  • Que el proyecto está oficialmente cerrado.
  • Finalmente, que si se toma la molestia de ver las descargas en el sitio web que se pueden encontrar aquí verá que el número de descargas del kernel y de las herramientas de área de usuario debería casar -unas no funcionan sin las otras-, pero no casan. La razón: que se utiliza la versión del desarrollador -y no la oficial- desde hace años de forma mayoritaria, por lo que la mayor parte de los sistemas no son vulnerables. Lo que hay que avisar es que los que usan las herramientas del CVS se deben pasar a las herramientas del objetivo de nuestro “show me the code»

Si hubiese contactado primero con el mantenedor del paquete, cosa que se puede hacer en software libre y no en el privativo, el chaval de 20 años habría aprendido un montón de cosas. Además, probablemente hubiese recibido una felicitación por parte del desarrollador de software libre -promete mucho con su edad y siendo capaz de llegar a ese punto, por identificar un problema potencial y saber gestionar la crisis-. Hubiese ganado un amigo. De esas redes de contactos va el software libre. No ha dado una falsa alarma -ya que la rama mayormente usada de ese paquete no tiene el problema-. Incluso el desarrollador le hubiese ayudado a rellenar la entrada en los canales de notificación respecto a la otra rama de código, para evitar que el chaval cometa algún error conceptual:

El error potencialmente es un buffer overflow de una aplicación local, que no toca red, no es servidor, no abre un socket; por lo que no deberías marcarlo como explotable remotamente. Además, por no consultar puede ocurrir que te saquen los colores en la propia lista de seguridad. Por cierto, nixpanic -el que le saca los colores a nuestro chaval- no es alumno ni empleado mío. Este es su perfil en linkedit. Se dedica a desarrollar drivers para linux.

Pero a lo que íbamos: puede ocurrir que, después de analizar el código, encuentres algo que te parezca extraño. No erróneo, sino extraño:

(bueno, esto está escrito por el blogger influyente de la A-list… Sí, para él, poner un punto y coma de más es un error grave, y la tabulación muy grave)

Cualquier desarrollador con experiencia en sistemas grandes y complejos sabe que muchas veces encuentras “legacy code» con características raras. Para cualquier persona con experiencia real en ingeniería inversa -en el caso del que escribe estas líneas, que gané dicha experiencia leyendo tochos en Fortran de programas de física computacional hechos por el director de tesis de mi director de tesis, hace eones y sin documentación-, sabe que las cosas extrañas que aparecen en el código suelen ser soluciones ad-hoc a bugs muy difíciles de localizar.

¿La solución? Enfundarse el ego, localizar al autor, y preguntarle el porqué de una línea.

Su contestación puede ser una sarta de absurdidades -en cuyo caso, ya sabemos que no sabe C-, o comentarnos el porqué del problema. Conociendo la forma de ser de los desarrolladores, probablemente incluso tengamos que aguantar una batallita de como localizó el error. Es el problema de la gente que disfruta con su trabajo.

En este caso particular, el problema estaba en el optimizador del gcc. En la versión del compilador que empleaba en la época, había reportes de errores que estaban causados porque con O3 el compilador se empeñaba en ejecutar la función ip_need_two_phase, función que generaba efectos laterales. Según el estándar de C, if(a&&b) debería ser equivalente a if(a)if(b). Esto no debería ocurrir, pero ocurría. Un error difícil de localizar; pero, una vez localizado, el arreglo era trivial y el código arreglado se ve estúpido. El problema lleva años corregido en el gcc. Pero el código así desarrollado es correcto -quizás feo- pero funciona perfectamente en compiladores con y sin el problema.

Bueno, parece que de este código que hemos analizado desde el principio no hemos sacado nada. En parte, porque era un programa muy grande, en el que mucha gente metió mano. También porque el mantenedor ha dicho numerosas veces en público que gran parte del código está heredado de MOSIX, que este código tenía este tipo de problemas y que estaba sajándolo de errores. Quizás debíamos haber ido a por la versión desarrollada por nuestro objetivo. Vamos a tomar código de un proyecto que solamente él haya metido mano.

Encontramos una joyita: un programa de casi 18000 líneas de código escrito en dos lenguajes -C importando con extern C y C++- en su versión 0.6, sobre el que la persona objetivo reclama la autoría completa. Falta apenas una cosa que no obtendremos: la documentación del análisis y los requisitos. Esto puede ser un problema; porque es difícil evaluar quien corre mejor o más rápido si nadie sabe cual es la meta. Pero bueno, hay cosas que se pueden verificar sin eso.

Entramos en el código, y vemos algo raro. Dejando a un lado que parte del programa está en C, y se incluye con extern C, y parte está en C++. El autor en numerosos puntos del programa en lugar de sumar una cantidad prefijada a un puntero, lo incrementa varias veces. Para que hasta el blogger prestigioso e influyente de la A-list o el chaval de 20 años puedan entenderlo, es como si en lugar de hacer:


4+3=7

Hacemos:


4+1+1+1=7

Evidentemente, no vamos a morder como un dóberman aquí, reclamando que esto es un error. Primero, porque no lo es: el programa es correcto. Podemos reclamar que esto es una guarrada, y que es un programador guarrete. Pero el hecho de que los punteros se puedan referenciar muchísimo más legible y cómodamente de otra forma, y que lo normal es que la persona con limitados conocimientos en programación desconozca precisamente la forma de operar con los punteros que emplea nuestro objetivo, debería llamarnos la atención. No es que programe como si desconociera la aritmética de punteros, sino que emplea la aritmética de punteros de forma pedante e inusual, mucho más compleja de lo que parece necesario. Probablemente, como en el caso anterior, nos estamos perdiendo algo.

Como somos profesionales serios, contactamos con el desarrollador. Su contestación puede ser una sarta de absurdidades -en cuyo caso, ya sabemos que no sabe C-, o comentarnos el porqué del problema.

El problema está en lo que no tenemos: los requisitos. El programador nos cuenta que hay programas de software como OsiriX que tienen un soporte completo a ficheros en formato DICOM, pero que la plataforma sobre la que se ejecutan es muy cara -Mac OS X-. Que comenzó siendo una práctica del programa de doctorado; pero que se encontró con la sorpresa de que tuvo una ingente cantidad de descargas, y correos de agradecimiento: el programa estaba siendo usado en regiones con escasos recursos en Sudamérica y África. Una práctica de doctorado se acababa de convertir en algo con utilidad social. La reclamación que todo el mundo hacía es que era demasiado lento. Por ello, la solución fue reescribir el código del renderizador de DICOM; de tal forma que fuese muy eficiente en máquinas antiguas. El autor del programa puede que ya fuese perro viejo optimizando programas de cálculo numérico, por lo que tenía trucos en la recámara. Y este era uno de ellos.

Supongamos que no nos fiamos y desconocemos los rudimentos de la optimización en este tipo de programas. En ese caso, pedimos pruebas de que esto es así. Al desarrollador de software libre hasta le hace gracia que se lo pidamos -puesto que es un clásico de las optimizaciones-, y nos manda un código en C:


void main()
{
char *psaux=0;
long int j=0;

for (;j<60000000;j+=2)psaux++;

printf("%d",psaux);
}

Lo compilamos -como nos dice- con -S y empleando -march para forzar código para una plataforma antigua -un athlon mismo nos vale-, y obtenemos algo como:


.L10:
cmpl $59999999, %eax
jle .L3

CÓDIGO RESTO PROGRAMA
.L3:
incl %ecx
addl $2, %eax
jmp .L10

con código optimizado con -O2, y:


.L10:
cmpl $59999999, %eax
jle .L3

CÓDIGO RESTO PROGRAMA
.L3:
incl -12(%ebp)
addl $2, %eax
jmp .L10

Si compilamos sin optimizar. En máquinas de 32 bits, el compilador genera un incl DESPLAZAMIENTO(%ebp), y optimizando -que es la opción por defecto en kradview-, genera un incl %REGISTRO. Entonces sabemos que nuestra víctima del show me the code tenía razón: incrementar el puntero es incrementar un registro; mientras que sumar un número supone leer al menos un entero de 32 bits de memoria, meterlo en registro y sumarle uno. Aunque en una máquina moderna la velocidad es similar, en una máquina que ya tenga algunos años la diferencia de velocidades es abismal. Una optimización guarrilla, pero que funciona.

Aquí podemos avisarle que está incrementando una variable que ya no utiliza. Probablemente nos lo agradezca, diga que se utilizaba para algo entre los paux++ antiguamente, pero que el código se retiró; pero también puede que nos diga que llegamos tarde, y que faltaban un par de días para liberar la próxima versión de la aplicación. En la versión nueva, de más de 30000 líneas de código, sigue haciéndose esta optimización con punteros. Pero esa variable ya no está.

Nos faltaba, pues, conocer los requisitos: una vez conocidos, podemos discutir la priorización de eficiencia sobre legibilidad, o el hecho de liberar código sin pasar el comando indent sobre él. Pero podemos darnos una idea de que es un programador pragmático y con recursos.

Evidentemente, esto puede pasar en también otros aspectos del programa: como el hecho de que nuestro programador emplee flush en algunos lugares elegidos; cuando emplear setlinebuf() llamada una sola vez al principio del programa es un castigo muy grande para el rendimiento en máquinas antiguas: el objetivo no es poner el stream como unbuffered siempre, sino solamente cuando es imprescindible. O haya algún archivo al que al programador se le hubiera olvidado pasar el indent para ajustar las tabulaciones -para el blogger: es un programa que genera automáticamente las indentaciones correctas-. Evidentemente, ni mencionaremos como crítica que sea algo pedante escribiendo código, poniendo siempre punto y coma después delif para asegurarse que no se despistará con los else, o que ponga paréntesis de más -cosas que no afectan al rendimiento, pero sí a la legibilidad, mejorándola-: al fin y al cabo son cosas que mejoran la legibilidad sin tener coste de rendimiento, y no vamos a reclamar a un programador por ello.

Bueno, la verdad es que esto son solamente algunas líneas genéricas sobre como hacer bien un “show me the code» si queremos una impresión real y objetiva de cómo es un programador. Pero lo más importante es lo que comentamos al principio: olvidar los prejuicios. Pero si buscamos una nube con forma de cerdito, terminaremos encontrándola.

Finalmente, si nuestra intención no es esa, sino utilizar nuestro poder para transmitir mensajes y movilizar con un objetivo: atacar a un desarrollador de software libre comprometido, con más de un centenar de miles de líneas de código liberadas en varios proyectos estratégicos para la comunidad, la mejor guía os la puede dar un blogger de la A-list aquí. Después de ejecutada, aunque el ego del blogger A-list sea un poquito mayor, y estará un poquito más tranquilo de que nadie en la comunidad del software libre se atreverá en el futuro a no reírle las gracias, habrá creado un peligroso precedente sobre la relación que debe tener un desarrollador de software libre con su código liberado, y ha abierto el camino para que los desarrolladores de software libre tengamos alguna preocupación más que no tienen los de software privativo. Es muy fácil tomar un programa que ahora ya va por más de 30000 líneas de código en su última versión, sacar media docena de líneas de contexto y, desconociendo completamente porqué se ha optado por ello, atacarle personalmente. No es posible estar justificando cada docena de líneas que te descontextualizan en un texto de 20000 caracteres . Simplemente, no todos tenemos el tiempo de estar defendiéndonos de gente con ganas de tumbar a personas y proyectos.

Un mensaje final para el blogger de la A-list: Si no te gusta mi código, mándame un parche para arreglar lo que no te guste. Se constructivo.

Si te sentías ofendido personalmente, sigue sin ser justificable. Literalmente, dije: “Porque antes entrará Chikilicuatre que un Ingeniero en Informática en la Comisión Interministerial de la Sociedad de la Información y de las Nuevas Tecnologías en España. Y siempre habrá un Ricardo que dirá que aprendió más informática afinándole la guitarra a Chikilicuatre que en cinco años de Ingeniería Informática.», tú con tu gran capacidad de comprensión lectora entiendes que te he llamado ingeniero de Chiquilicuate. Fuistes tú el que has dicho en tu blog, en la entrada que te contesto, todo lo que no has aprendido dentro de la carrera. Yo me he limitado a señalar que lo que tu dices que no aprendistes en tu universidad privada, yo sí lo he estudiado en una universidad pública andaluza, donde he recibido una formación de nivel. De hecho, comento mi convencimiento de que estas cosas se estudian en Argentina. Un gran científico como tu debería ser capaz de entender un texto como este, y entrar en una discusión constructiva. Por cierto, respondes insistentemente lo de que todos te atacamos vía “ad-hominem�?. Pero debes tener en cuenta que eres tú el que emplea, como único argumento en cualquier discusión, la gran autoridad que tienes como gran figura “blogger chachi»/“gurú software libre»/“gran empresario-técnico meneame»/“científico con cuarenta publicaciones». Y cualquier discusión de tus argumentos, como se centran en tí, en tus dichos, tu sabiduría y tus anécdotas sobre tí, terminan tocándote. Es más sencillo declarar en la blogosfera: no tomarás en nombre de Gallir en vano.

Te respeto como persona -como a todas las personas-. Respeto tu aportación al software libre -como respeto a todos los que colaboran: haciendo contribuciones tan alucinantes como la tuya, tan miserables como la mía-. De hecho, a mí me parecen respetables todas las contribuciones, aunque sea traduciendo tres líneas de un fichero de configuración. A tí, veo que no. Defiendo el respeto a los desarrolladores de software libre, como ya los defiende toda la comunidad.

Otra cosa es que tú y yo tengamos una discusión sobre un tema concreto. En este caso, sobre el nivel formativo de los estudios de Ingeniería en Informática, y sobre si un Colegio de Ingenieros en Informática es bueno o no para la sociedad -colegio que en muchas autonomías españolas ya es una realidad legal-. Pero discrepamos sobre una opinión manifestada en una entrada a tu blog: Entrada en la que tú mismo dices de tu propia boca lo poco que aprendiste estudiando tu carrera; no lo digo yo, lo has dicho tú mismo. Me he limitado a repetir lo que tú dices, y añadir que yo sí que lo he estudiado en mi universidad, y que estoy muy orgulloso de haber estudiado Ingeniería Informática en una universidad pública de mi tierra.

Por mucho que discutamos, aunque me insultes -que yo no creo que te haya insultado- no te voy a hacer un show me the code como el que tu me has hecho. Si algún día te audito tu código, te va a llegar un parche por correo electrónico, corrigiendo tus errores. Esa es la diferencia entre la critica destructiva y la constructiva. El problema no es que hayas mostrado mis vergüenzas, sino que no eran tales. El problema es que termina siendo mi capacidad de dar credibilidad contra la tuya, frente a gente que puede no entender los listados de código. Es un problema de popularidad, no un problema de buen código. El problema es que no tengo trabajo asegurado de por vida; soy un profesional de la Ingeniería Informática, lo que no me permite quedarme impávido. Por otro lado no tengo todo el tiempo del mundo para hacer siete páginas de explicación cada vez que alguien como tú decide que saca doce líneas de contexto y me pone a parir. Si quieres hacerlo, estupendo. Es un país libre. Pero luego no tengas la poquísima vergüenza de erigirte en paladín del software libre y speaker de la FSF para pontificar sobre lo divino y lo humano, cuando para cualquier persona con dos dedos de luces es aterradora la idea de que una persona con tu capacidad de difusión de información pueda hacer este tipo de cosas.

Hace una semana pensaba que Ricardo Galli tiraba piedras contra el tejado de la Ingeniería Informática. Ahora creo que las tira contra la Ingeniería Informática, contra mi profesión, y además contra el software libre. No porque yo sea el software libre, sino porque los métodos de Ricardo para asegurar que nadie ose discutirle las opiniones son dañinos para todos. Pero igual que cuando las tiras contra el tejado de mi profesión la gente se ha revelado, y no tienes credibilidad entre los Ingenieros en Informática, con actitudes como esta quemas tu credibilidad como autoproclamado paladín del software libre.

Tags:ciencia, legales, software libre, ética,, , ,, .

42 thoughts on “Como hacer un buen «show me the code»

  1. Me encanta. «Show me the code for dummies». xD Ojalá sirva para zanjar el asunto y que todo el mundo reflexione un poco sobre sus actitudes. Esto no le hace bien a ninguno de los contendientes.

  2. Simplemente genial. Te felicito por esta entrada que aunque no tenias que demostrar nada ante nadie lo has hecho y has demostrado tu profesionalidad, por mi parte te doy un 10.

  3. Esto demuestra algo que te he dicho muchas veces: encima de que gran parte de tu trabajo lo realizas de forma altruista, te linchan. Eres un ingenuo. Si quieres hacer algo por el bien de la humanidad, haz programas de toda la vida, cobra por licencia, y exime del cobro a los países que tienen problemas. O haz el «freeware» de toda la vida. Mostrando a los demás el código fuente solo consigues que un «Ricardo Galli» tome un programa muy grande y saque seis líneas de contexto, o que te ataque por errores que denunciastes y corregistes hace años. Nos conocemos desde la carrera, y sé lo que vales. Además, yo entiendo tus explicaciones y entiendo que lo que te han hecho es un intento de linchamiento injustificado. Pero no va de esto. Hemos hablado varias veces de ello, y esta es la demostración de lo que te decía sobre porqué mi empresa no libera su código: cualquier descerebrado puede aprovechar cualquier bug, real o inventado, para atacarnos. A tí te lo ha hecho un «Ricardo Galli». A mi me lo puede hacer mi competencia.

    ¿Y que hay de tu «comunidad»? ¿Consideramos que lo que ha hecho Ricardo es una práctica deontológica? ¿Está tu «comunidad de software libre» a favor de las opiniones de Ricardo? Ya te has enfrentado alguna vez con algún sujeto semejante. El tiempo te ha dado la razón. Pero ¿a qué coste? ¿a que la «comunidad» va a sus rollos?

    Además, deberías haber aprendido ya que si quieres tener libertad de opinión, tendrás que quitar tu «software libre» de la red (a ver como lo haces ahora. Aunque no se lo descargen de tu página, hay muchos que tienen tu código fuente). Si quieres seguir desarrollando software libre, tendrás que opinar lo que quieran los «Ricardo Galli».

    (respeta mi anonimato, por favor; yo no tengo porqué enfrentarme a «tus» energúmenos del software libre)

  4. Bueno, Anónimo, los matones son matones hasta que alguien les para los pies. Yo creo que David hace bien en enfrentarse a las prácticas de Galli, que como bien dices carecen de la ética profesional más básica (y de moral y hasta de cierto sentido común, pues atacan al software libre, que supuestamente también da de comer al señor Galli).

    Ya dice el refrán: ladran, luego cabalgamos.

  5. (aquí va sonido de aplausos :D)
    Se puede decir más alto, pero no más claro, a ver si Ricardo se pasa por aquí a pedir disculpas, que debería ser una obligación después del ridículo tan espantoso que ha hecho.

    Y por si fuera poco, cierra los comentarios en su blog para que nadie pueda opinar. La misma libertad que utiliza como libertad de expresión, la usa para el software libre, la más absoluta censura y la más absoluta falta de respeto.

  6. Lo primero, gracias a todos por el apoyo.

    @Empresario anónimo:

    No te preocupes. Algunos de los que escriben conozco perfectamente sus nombres y apellidos, y respeto a todo el que quiera escribir con seudónimo.

    Comencemos porque «Ricardo Galli» no es un fenómeno exclusivo de la blogosfera, o del software libre. Paseate por cualquier patio de colegio, y verás que algunos ya apuntan maneras. Otros no nacen, se hacen. Pero gente de ese tipo las hay en todas las sociedades y grupos humanos. Se les ignora hasta donde uno puede, y cuando se pasan de la ralla, uno contesta. Después uno puede salir con el ojo morado -o no- si es el patio del colegio. Ya de mayorcitos, hay otras cosas en juego. En este caso particular, él tiene empleo de por vida, y la reputación que ya se ha ganado a pulso no le afecta -de hecho, le saca partido-. A mí sí. Yo personalmente creo que he desmontado el ataque personal. Si hay más, los volveré a desmontar. No le tengo miedo.

    Discrepo sobre la autoridad que le confieres. La práctica totalidad de los clientes que tengo los tengo porque otros clientes les han hablado bien de mí. Y mis clientes con frecuencia ni son del mundo del software libre, ni del «blogerío», por lo que la influencia de este individuo está acotada. Eso es más fuerte que el hecho de que un «Ricardo Galli» diga lo que quiera. En el patio del colegio una de las primeras cosas que se aprenden es que JAM?S tienes que arrodillarte ante el matón. Si te ha atacado a tí, te atacará otra vez. Y si iba a por otro, algún día irá por tí.

    Respecto a la de la respuesta. No nos engañemos. La «comunidad» de software libre no es un ente que toma decisiones. Es la forma de autodenominar al ecosistema que se forma alrededor de las licencias libres. No es un ente pensante, y no va a reaccionar. No espero más apoyo que el mío propio. Y esperar que la comunidad defienda algo es asignarle una inteligencia y una unidad de la que carece.

    Por otro lado, no te voy a negar lo evidente: el software libre te hace más vulnerable a este tipo de personas. Y tienes razón que si me hubiese dedicado al software privativo, podría manifestar mi opinión sin temor a este tipo de represalias. Pero no por lo que crees. El sofware libre te da mayor visibilidad; y esa visibilidad es muy importante para ingenieros, para profesionales, para empresas pequeñas, y para estudiantes que están terminando la carrera. Nada es perfecto; la visibilidad te permite que te llegen más oportunidades; a cambio, eres más vulnerable a cotillas, envidiosos y difamadores. Si llevas una vida oscura y gris programando en Java en una cárnica en la que ni tu jefe conoce tu nombre, no te preocupes; nadie intentará algo así contra tí.

    Otra cosa es que no es la primera vez que me atacan por manifestar una opinión, ni será la última. Cada uno valora su libertad de expresión en lo que para él vale. Para mí vale lo suficiente para meterme en estos berengenales. Todavía creo que vivo en una sociedad libre. Después tengo que ser consecuente, y saber que según a que gente toque, en lugar de diálogo constructivo tendré difamación. Cualquier persona que tenga vida pública está expuesto a esto, y no soy inmune.

    Ya conoces -lo hemos discutido muchas veces- porqué creo que el software libre es bueno para nuestra profesión por razones económicas y técnicas. Hemos discutido muchas veces sobre porqué creo que el software libre es ético para los proyectos fin de carrera. No te voy a convencer -ni tú a mí-, pero espero que continuemos debatiendo esto muchas veces más. :-)

  7. Uhmmm, interesante, (BROMA ON)pero no me ha quedado claro, ¿en que parte de la cabecera has dicho que venia el nombre del autor?Es que las flechitas no se dan hasta cuarto de carrera :P (BROMA OFF)
    Jajaja, gran texto, grandes verdades.
    Y al que le pique, que se aguante.

    PD: Lo de Broma ON/OFF sirve para el mismo tipo de gente al que le sirven las flechitas ;)

  8. David me ha encantado tu respuesta.

    Desgraciadamente el comportamiento de personas como Ricardo, que de paso no son pocas, solo sirve para perjudicar, ya no digo la comunidad del software libre, sino la comunidad de la difusión y divulgación libre en general.
    Eso demuestra que sus “aportaciones? por llamarlo de alguna manera, forman parte de su táctica oportunista y carente de convicciones propias.
    Ahora el software libre le genera dinero, algo de fama y secuaces descerebrados que afirmarán todo cuanto diga. Cuando no le pueda sacar más beneficio se decantará por otra cosa.

    Esta clase de personas generan tanta desinformación, que a la larga el daño que pueden producir no se refleja solo en la victima concreta que tengan entre mano, sino a todo un entorno más amplio. Son el vivo ejemplo que representa, los efectos colaterales de la sociedad de la información en la que vivimos.

    Por suerte David, de una cosa creo que si te puedes quedar tranquilo. El comportamiento de este individuo ha quedado patente. La lógica y ética de tu respuesta también ha quedado patente. Las personas inteligentes y con sentido común saben que tienes razón. Los demás niñatos, descerebrados, parásitos y oportunistas de turno con Egos ilimitados, siempre necesitarán a alguien que criticar y que difamar. Te ha tocado a ti, mañana le tocará a otro. Es como un resfriado, molesta pero pronto pasa. Lo importante es no dejar que se convierta en una enfermedad crónica y lo más importante todavía es que los desarrolladores de software libre no se vean intimidados por continuar con su labor, por miedo a que algún bloguero de turno pueda difamarles o lincharles en público.

    Respondiendo al “Empresario Anónimo?. Eres el vivo ejemplo de lo que ocasiona en la sociedad gente como Ricardo Galli. Que un empresario que podría decantarse por utilizar software libre, ahora vea de alguna manera reforzada su desconfianza por el mismo.

  9. Me he partido la caja leyendote.
    Yo no estoy ni a favor ni en contra del software librea, de la misma forma que apoyo el software, mal llamado, «privativo».
    El software libre es una via tan respetable como la privada, asi que no entiendo al fantoche del Galli ni sus imnumerables ataques contra la regulacion, la ingenieria y contra el software libre en genral.
    De hecho yo mismo, con el software no libre si bien no es posible detectar bugs de forma evidente, es posible detectar las consecuencias de dichos bugs -evidentes- y ponerlas en conocimiento de los desarrolladores, cosa que he hecho alguna vez asi como con el software libre (hablamos de bugs que encontre de pura casualidad porque no es santo de mi devocion esto).
    Galli se dedica a sacar las cosas de contexto para que parezcan lo que le interesa, y poco mas.

  10. Si hubieses dedicado la mitad del tiempo que has dedicado a la promoción del software libre a desarrollar software normal, tendrías mucho más prestigio del que tienes. El prestigio no lo has ganado por desarrollar software libre, sino por tu capacidad intelectual, por tus logros personales y por tu habilidad exponiendo ideas y hablando en público. Desarrollando software normal serías inmune a la gente como Ricardo Galli. Ten honradez intelectual, y reconócelo. Malgastas tu talento. ¿Que ha pasado con la prueba de los 300 euros? ¿A que tenía razón? ¿Porqué te empeñas en llamarlo «libre», cuando la gente realmente lo que quiere decir es «gratis»?

    «El patio del colegio». El matón ganaba siempre. La gente no entiende a Niemöller. No actúa por pasotismo y por cobardía. Ni sois comunidad, ni ecosistema. Veo gente que ha aprendido a ganar dinero y prestigio aprovechando de que gente como tú seguís siendo unos idealistas.

    En lo que tu llamas el «ecosistema microsoft» tenemos muy clara la diferencia entre un tío que, de por sí solo, es capaz de hacer análisis de sistemas heterogéneos, hacer documentos de diseño impecables, desarrollar las partes jodidas, y además saber vender todo eso a las empresas y saber comunicar. Un tío así vale ORO. Si tuviese dos así en mi empresa, nos forrábamos. Nosotros no confundimos a un tío así con una persona que se ha instalado un Windows, y dice que por ello sabe más que nadie de nada. Si cambias Debian por Windows en la frase, te será conocida.

    De nuestra promoción: ¿cuantos ganamos dinero con el software normal? ¿Cuantos ganáis dinero con el software libre? ¿Cuantos en Málaga ganáis dinero con el software libre? Vale, ganas dinero. También has hecho varios programas, has trabajado en varias empresas con cargos de responsabilidad, das clase en la universidad, sabes vender, sabes negociar, escribes regularmente en las revistas de tu área de influencia… En tu ecosistema ¿hay que hacer todo esto para ganar algo de dinero? En el mío no. ¿Y cuanto tiempo serás capaz de aguantar ataques como los de Ricardito?

    IBM y Sun seguirán haciendo software libre porque pueden permitirse gastar recursos en hacer dumping, y porque ningún Ricardo va a tener los cojones de atacarles. ¿O te imaginas a Ricardo haciendo una entrada en su blog criticando el eclipse de IBM (que no es ninguna maravilla)? Ahora, las empresas pequeñas como la mía, o los profesionales como tú, sí estamos expuestos a Ricardos. Para IBM, el software libre es dumping. Como las agujas de pino, evitan que nazca competencia alrededor de ellos contra la que no puedan luchar en cuanto enraige y crezca.

    Por cierto, que leches; coincido con el de arriba. ¿Porqué ese nombre tan raro de «software privativo»? Es el software normal, de toda la vida.

    Todo esto te lo digo «sin acritud». Me has parecido siempre un tipo brillante y cojonudo, y solo es que me da pena ver como desperdicias tu capacidad.

  11. No se, no considero que desperdicie su capacidad en absoluto.
    Es decir, consideraria eso, si un tio bueno haciendo software, se dedicara a hacer encaje de bolillos o a jugar al GO(De forma profesional, se entiende :P), o casos similares.
    Aqui estamos hablando simplemente de alguien que ha hecho lo que se le da bien, pero no ha cobrado por ello. (Por supuesto ha ganado dinero, pero no con el software libre, que es la parte que tu «criticas un poco» me ha parecido entender.)
    En resumen, su capacidad no la ha desperdiciado, otra cosa es que la haya enfocado mas a desarrollar software libre que a desarrollar software «privativo» y cobrar por el. Son cosas diferentes.
    Un saludo!!!

  12. @Empresario anónimo

    Quizás no sea el lugar adecuado para discutir de estos temas, basándome en el título del post.
    Hay algunas cosas que desgraciadamente siempre acaban confundiéndose.
    Software libre no es una moda, ni es una religión, aunque para algunos si lo sea. Estos se unen al guru de turno y acaban linchando a quien les dicte el guru, caso de Ricardo y secuaces descerebrados.

    Software libre no implica ser gratis, software privativo se debe de entender en los términos de un software que “limita? la libertad de lo que se pueda hacer con él. Priva de esta libertad. Lo cual puede ser bueno o malo dependiendo del contexto en el que se comercialice o utilice.

    No se trata de una guerra entre lo antiguo y lo nuevo. Se trata de una confusión brutal, que muchos aprovechan para hacer una guerra de la nada.

    El software _no_ libre, no tiene por que ser malo, ni inseguro, ni pernicioso, ni corrupto, ni nada de todo lo malo que se le pueda atribuir a un software. Es simplemente una forma de hacer software que tampoco corresponde con el término “de toda la vida?.
    Precisamente unos de los motivos que incitó a Stallman iniciar este “movimiento? por llamarlo de alguna manera, es porque no le permitían hacer lo que antes si estaba permitido. A pesar de que no hubiera un tipo de licencia que explícitamente definiera los derechos y deberes para que un software fuese libre, en su época no era tan difícil ni era tan “ilegal? obtener el código fuente de Unix u otros programas.
    La situación cambió, se cabreó y empezó su proyecto.

    El software de “toda la vida? desde el punto de vista económico funciona, porque el mercado está adaptado a ello. No porque sea mejor como modelo de negocio. Lo importante es ser capaces de tener flexibilidad y saber adaptarse a los cambios. Eso dotará a la empresa de una posibilidad de éxito y no el mero echo de usar un modelo u otro.

    De paso no considero que David ni todos los que somos partidarios del software libre seamos unos idealistas. En realidad lo que nos motiva a ello no es otra cosa que el sentimiento general, natural y humano de no tener patrones, ni restricciones sobre una cosa que aporta un valor añadido a la sociedad. Un programa puede ser bueno, siendo no libre o libre. Pero si además es libre, proporciona ese valor añadido a todos, incluso la empresa que lo ha diseñado.

    Si Ricardo Galli fuera un verdadero partidario del software libre, un verdadero hacker interesado por conocer, por aprender y por mejorar, habría actuado de otra manera. Habría expresado su opinión sobre el post de David relacionado con el Colegio de Ingenieros, en la forma que considerara oportuna y no se hubiera metido en temas tan mezquinos como intentar, inútilmente, difamar a un colega del mismo sector que de paso ha invertido mucho de su tiempo en desarrollar software libre que de paso está siendo utilizado en lugares de pocos recursos económicos y de esa forma, como decía antes, aporta un valor añadido a la sociedad.

    Por razones técnicas y de sentido común un software _no_ libre, jamás podrá tener el mismo tiempo de respuesta ante fallos que un software que sea libre. No malinterpretemos las cosas. Me refiero a un proyecto libre activo, vivo y con una comunidad que lo utiliza. Si algo va mal en menos de 12 horas hay parches de seguridad. El usuario puede contactar con el desarrollador. El programador o programadores pueden ser reconocidos por su trabajo y tienen el derecho sobre su obra que no pasa a ser parte de una empresa, cuya única participación en el desarrollo fue aportar un sueldo a dichos programadores. Es una forma de perpetuar la carga intelectual de una creación, manteniendo de forma patente el nombre de la persona que lo ha hecho.
    Enriquece a quien lo vende, enriquece a quien da soporte, es económico, es libre para el usuario, fomenta la competitividad no solo tecnológica sino en servicios, aporta un valor añadido social y no meramente funcional, por último permite al programador ser dueño intelectual de su propia obra. ¿Seguimos?

    No dejemos que individuos como Ricardo nos influencien negativamente. Ni es paladín del software libre, no tiene ni idea de lo que eso significa, es un oportunista más de turno que se contradice y ataca de forma mezquina a quien no piensa como él.

    Un saludo.

  13. Se está creando aquí un debate muy interesante; es estupendo que un post como éste pueda servir para discutir con educación estas cuestiones.

    Empresario, yo no soy programador, con lo cual no puedo hablar de primera mano del asunto del soft libre; pero sí que soy un creador que utiliza licencias copyleft, con las cuales tienes un problema muy parecido que el que tú señalas. Efectivamente, parece que no es lo más rentable porque el mercado no está orientado en esa dirección, y por tanto trabajar con copyleft es más una cuestión de idealismo. Por un lado, no está mal reclamar que a veces hay que hacer las cosas simplemente porque alguien tiene que hacerlas; el criterio ético creo que es loable. Hay que aplaudir a quien decide hacer algo por los demás no sólo sin obtener beneficio, sino también sacrificándose. Por otro lado, que el mercado no esté optimizado para una forma de trabajar no quiere decir que esa forma no sea lucrativa. Además de las ventajas inherentes a ser pionero (no es lo mismo ser uno entre unos pocos que uno entre cien millones), el soft libre tiene ventajas propias igual que la música copyleft. En mi caso, por ejemplo, si bien no cobro derechos por la reproducción de mis canciones y permito que la gente se las baje sin ver un duro, a cambio sirve para popularizarme y viene más gente a mis conciertos. En el caso del soft libre, cualquier cliente que quiera un programa que luego él mismo pueda modificar y manejar a su antojo, que no le restrinja las posibilidades de uso, sin lugar a dudas elegirá soft libre en lugar del privativo (también creo que no es muy adecuado llamarlo así, pero bueno).

  14. Pingback: meneame.net

  15. hace ya demasiado tiempo que galli no tiene objetivo ni idea. Quizá meneame sea demasiado grande o quizá la idea que se tenía al iniciar el proyecto ya no existe: ni es democrático, ni participativo y mucho menos social
    Esa máquina ha devorado a todos cuantos han intentado acercarse y ahora el objetivo quizá sea hacerse un hueco «mediático»
    La web 2.0 está muerta y sus gurús son ya zombis

  16. Ya sabemos todos que a Galli le encanta ser el protagonista, ser ídolo de juventudes, que todo lo que el diga vaya a misa, ect etc…

    Cuando alguien le lleva la contraria o le critica remueve cielo y tierra hasta encontrar algo con lo que atacar a esa persona. No es la primera vez que lo hace ni será la última.

    En mi opinión puede saber mucho del tema pero le pierden las formas y las ganas de ser el protagonista indiscutible.

  17. Os equivocáis, Pietro, Santo y David. De hecho, ya hay otro (el tal jcarlosn) que también se ha subido al carro. Siguiendo con la analogía que ha sacado David, el matón ha pateado a un niño que parece más débil y que está tumbado en el suelo; y otro que quiere ganar puntos de cara al matón se ha apuntado a patear al caído.

    Lo importante no es que tengas razón o no. Sino que te repetirán el proceso de las tres líneas fuera de contexto recurrentemente, hasta que te tengas que rendir… David, te expresas muy bien, hasta eres divertido escribiendo con tu ironía, pero los hechos me están dando la razón a mí. No veo comunidad, no veo solidaridad, ni nada que se le parezca. Solo gente atacándote por osar discutir a los dioses de la blogosfera.

    Por cierto, el tal jcarlosn se nota que ha leído tu entrada en el blog de los colegios y la otra sobre los alumnos de universidad; y que conoce perfectamente tu opinión sobre qué es un informático y qué no lo es. ;-)

  18. @Empresario anónimo:

    Gracias por solucionarme el problema, y por la llamada.

    No estoy en mi oficina, sino en una empresa de un cliente. Esta noche lo comento, y apruebo los comentarios moderados. El cliente está flipando.

  19. El propio cliente me ha dicho que conteste. Y que el no se tomaría por la deportiva que le pusieran un enlace a un exploit a su página web desde menéame.

    Lo que ha pasado es que Jose Carlos Norte se ha entretenido probando exploits de WordPress. Después de un buen rato probando varios -los logs del servidor han quedado «preciosos»-, ha localizado uno en el plugin de pasar a pdf los posts; y lo primero que ha hecho ha sido ponerlo en meneame, para que cualquiera que no sea muy cortito y carezca de escrúpulos pueda explotarlo. Ha faltado tiempo para que los meneame boys intenten hacer cosas feas con la información de la base de datos.

    Un ratito después -los tiempos de uso de la información hay que controlarlos- ha tenido el detalle de mandarme un correo avisándome que tengo un problema de seguridad, y que ya lo había colgado en menéame. Secuencia: encuentra exploit que funciona – publíca en meneame el exploit, con un enlace para poder utilizarlo sólamente pulsando con el ratón – manda correo más tarde.

    Afortunadamente, «Empresario anónimo» es un tipo muy majo que estaba a tanto del follón, estaba siguiendo la discusión en meneame y lo ha arreglado rápidamente -es amigo mío; me ha llamado, le he dado la clave, y me ha solucionado el problema-.

    Para los que no entienden de qué va esto: lo normal es notificarme el problema a mí por privado. Y una vez que lo corrigo, ya lo cuelga en menéame para demostrar lo poco que sé de PHP y de WordPress.

    Poniendo primero el problema en menéame… dejo la interpretación de lo que ha demostrado para el lector.

  20. @Empresario:

    El matón sigue siendo matón porque es muy fácil ponerse así de bravo con una pantalla de por medio… La experiencia me dice que el 80% de la gente que ladra por Internet después se la envaina cuando se encuentra en persona con la gente. Ése es uno de los problemas de Internet, posiblemente: que encumbra a gente que le guarda cierto rencor al Mundo Real (TM) y con escasísima vida social. :P

  21. Entré aquí para expresar mi vergüenza por el patético ejercicio de expresión que expuso Galli en su página, pero encima me sorprendo cuando veo que se le devuelve su supuesta refutación.

    Es un tipo que no es trigo limpio. Hace unos meses les dio por criticar a la gente de Microsiervos de forma furiosa, parecía que estuviera dolido por algo.

    No sé, se le nota rencoroso y como si tuviera que demostrar algo. Y sobre todo necesita demostrar que Meneame es un invento del 10, cuando no es más que una copia de algo que ya existía, ya tenía éxito y no era difícil de hacer. Eso parece que le pesa.

    Pero bueno, tiene su legión que le acompaña a todas partes: los gañanes del software libre: la gente que no ha escrito ni una línea de código pero que está encantado con no pagar licencias. Los amigos del free = gratis en lugar del free = libre.

  22. Pingback: Gestionando el conocimiento

  23. @Ingeniero quemado: No he sido el primero. No seré el último. La vida es larga y dura, y al final te mueres.

    @pere: Sí, es ese Ricardo. Tiene su vertiente irónica que reclame como dañino por esto, mientras que lo que le ha hecho a Ender es mucho más dañino, y no ha pedido disculpas -ni se le esperan-. Pero ojo, que no comparto el método de reclamación. Si un alumno de la UIB le parece que Ricardo falta mucho a clase por sus actividades empresariales, o ha realizado un uso indebido de los recursos de la UIB para sus actividades empresariales, la mecánica correcta pasa por una denuncia escrita ante el rectorado de la UIB; no en comenter una falta según la Ley Orgánica 15/1999, punible con una multa bastante considerable. Además del presunto ilícito perseguible por vía penal, me parece completamente reprobable desde el punto de vista ético la publicación de información privada de una persona, por muy pública que sea. No te he borrado el comentario tuyo porque los de Indymedia han tenido reflejos de borrar los datos de caracter personal, por lo que cuando has enlazado la noticia ya estaban borrados dichos datos. Por cierto, tu enlace tiene un pedazo de nofollow, por lo que no tiras de mi pagerank; lo que supone a su vez que este comentario en mi blog no te va a funcionar como google bombing. Y te quedarás con el nofollow: no soy Ricardo, y no comparto sus métodos.

  24. @alumnoUIB:

    Y más:

    http://meneame.wikispaces.com/Bugs

    Pero esto no dice nada malo sobre Ricardo: los errores en las aplicaciones a partir de determinado tamaño ocurren. Se corrigen, y ya está. Cualquier persona que haya hecho un programa a partir de determinado tamaño lo sabe.

    El componente cínico es que Ricardo lo sabe. Eso es lo que le da el punto despreciable a la entrada de Galli en su blog.

  25. La virgen, la mejor respuesta que he leído dirigida a ese prepotente de Galli.

    Eso sí, negará todo, te menospreciará sin llegar al insulto, y todos los que están a su alrededor le reirán la gracia sin más.

    Pero ni preocuparse, porque os voy a contar un secreto… a Galli en el mundo real se le conoce muy poco, por no decir casi nada.

    Y si no, preguntar en cualquier empresa.

  26. @Manuel:

    Perdona por tardar tantísimo en moderarte. Estaba en una competición en los Pirineos, y acabo de llegar a Málaga.

  27. @lucas
    Hombre, como para reírse no. Estoy pensando en algún cliente que tengo con oficinas en varios países y varios cientos de programadores -y no es una cárnica-, que pasaría si les contara eso… bueno, en cualquier caso, a cualquier persona que ha seguido la discusión de lo del show-me-the-code recomiendo encarecidamente la lectura del post que comentas de Ricardo, solo para entender al personaje.

    Por otro lado, el artículo de Tom DeMarco es interesantísimo -es un formato típico de revistas de prestigio, para abrir un debate científico honrado sobre un tópico de interés-; y, si mi inglés no flaquea, lo que dice es que la predictibilidad y la controlabilidad de plazos del desarrollo de software es, cuanto menos, discutible. Algo con lo que estoy, por otro lado, parcialmente en desacuerdo: si te dedicas a hacer software de gestión de procesos para empresas, predices con razonable rango lo que va a ocurrir, excluyendo imponderables. Como pasa en el mundo de la ingeniería. Una empresa que tiene experiencia en hacer puentes, sabe lo que se tarda en hacer uno. También aparecen imponderables, como es el caso de la ingeniería civil… ¿O nadie ha visto una obra civil que se ha retrasado en su ejecución? ¿Y por eso decimos que la Ingeniería Civil no es ingeniería?

    Por otro lado, si hacemos software tal que no hemos hecho antes nada similar, nuestra predictibilidad se resiente… algo que es lógico, puesto que estamos investigando; no es un proceso «constructor», sino «creador»; y es más difícil predecir el tiempo de una creación que de una construcción. Volviendo a nuestra empresa de puentes, dicha empresa puede tener dificultades en estimar cuanto se tarda en hacer un tunel, y cuanto cuesta. Deberá contratar a gente con experiencia en realizar túneles, para adquirir en know-how. Aún así, con el tiempo y habiendo hecho muchos proyectos, llegas a tener ojo para predecir donde hay dragones y lo que se tardará en matarlos… cualquier analista con experiencia real de campo lo podrá confirmar, que con el tiempo te haces razonablemente bueno estimando costes y localizando por donde crecerán los enanos. Quizás aquí podemos analizar que tenemos que interactuar con tantos campos distintos del saber humano en nuestra actividad profesional, que si no estamos muy especializados en un mercado -sea horizontal o vertical-, nuestro trabajo de predicción de tiempos y costes se hace más complicado, y debemos tener muchísima experiencia -comparativamente hablando- para hacer predicciones fiables.

    Respecto a lo de la controlabilidad, es cierto: por la naturaleza de los proyectos, una vez que vas retrasado es muy complicado volver a poner en fechas un proyecto. Una cosa es abrir zanjas, que pones más curritos y se hace más rápido; y otra muy distinta programar; una tarea en la que meter más manos en un proyecto atrasado no lo acelera necesariamente, principalmente por los tiempos para comenzar a ser productivos, y por las limitaciones en las capacidades de comunicación de los equipos grandes -y la ingeniería del software intenta, precísamente, limitar el daño del segundo problema, vía técnicas de gestión del conocimiento, de aislamiento de bloques funcionales y de especificaciones más o menos formales de interfaces y subsistemas.

    Finalmente, Ricardo hace lo que nos tiene acostumbrados: de un documento grande saca una frase de contexto, y se hace un mundo sobre ello. Ni me preocupa, cualquier persona con experiencia real en análisis o en gestión de proyectos grandes o muy grandes con plazos y costes estrictos habrá hecho lo que yo… circular el enlace a su blog para diversión de la gente. (Bueno… vale… lo confieso… sí me he reido) Claro, que si de lo que se trataba era de reactivar las visitas a un blog que estaba muriendo de inanición, casi lo ha conseguido -la fecha es mala, demasiada gente de vacaciones, pero buen intento-.

  28. Que fuerte… lo de las máquinas y el servidor de hospedaje, ¿Como terminó? ¿Te tumbaron muchas máquinas?

  29. @alumnoUIB:

    Ricardo se retrata perfectamente. Marcelino Madrigal me parece un ciudadano valiente; dos docenas de Marcelinos Madrigales y nos quitábamos la lacra de la pornografía infantil sin necesidad de una reglamentación fascista de Internet.

    @Felipe:

    Llegas tarde a la historia. No tumbaron ninguna máquina. Era un fallo en el plugin de wordpress para exportar entradas a PDF que permitía lanzar SQLs en la base de datos del blog.

    Afortunadamente, los fanboys de ricardo que se apuntaron a la juerga no tienen ni puta idea de SQL, y los abundantes intentos de hacer cosas se topaban conque, salvo el de jcNorte, ninguno de los SQL era sintácticamente correctos, y no daban con la tecla de porqué no funcionaba (señores seguidores de galli: al DELETE en SQL no se le añaden los atributos de la tabla antes del FROM).

    Lo peor que podían haber conseguido era insertar comentarios o entradas inadecuadas, y borrar las entradas y comentarios correctos, lo que me habría obligado a borrar la base de datos y restaurar de backup (el sistema saca backup de la base de datos todos los días).

    El exploit no daba acceso al servidor; y, de haberlo dado, tampoco hubiese pasado nada, ya que tengo cada máquina para cada cliente en una máquina física distinta. El servicio de hosting es OVH, y no creo que lo consigan tumbar por una cosa así.

    La solución fue tan rápida como que un amigo con reflejos que estaba siguiendo la conversación en meneame me puso al corriente, y le pedí que me desactivara el plugin.

    Con esto pasa como con su «exploit remoto» de OpenMosix: mucho ruido, muy hinchado, pero con poco estilo y ninguna importancia efectiva.

  30. Yo no pertenezco a este mundo vuestro del código… ¡Pero me ha encantado! Es el enfrentamiento Charlatán vs Profesional en estado puro.
    Esta noche he visitado el meneame por primera y última vez y estoy seguro de que tiene muchísimo éxito de visitas porque tiene todo el atractivo de la telebasura.

    David: Gracias por existir.

  31. @atreyu:

    Perdona por tardar casi dos meses en aprobar tu entrada. Entro en el blog de higos a brevas, y los últimos meses he estado muy liado, y no he entrado.

    Por otro lado, gracias por tus palabras. :)

Comments are closed.