Archivos Marzo 2006
Por mucho que sea Cine Chileno.
El email tiene una opción para dejar de recibr promociones!
¿Que significa eso? Recibiré mensajes hasta que vea la película?
El spam es una mala práctica de promoción.
Lo peor es que llegó al email de mi trabajo, ¿cómo consiguieron esa base de datos?
Mala cosa.
Creo que ya no me interesa ver Fuga.
Ahora puedes publicar en blogmemes desde tu propio sitio web, o desde tu bitácora.
En este post explicaré como usar la API de envío de urls.
Acabo de terminar de programar una idea que viene hace mucho tiempo dandome vueltas. La verdad es que la idea es mas ambiciosa de lo que he programado, pero con esto voy a poder experimentar la validez del modelo.
Me refiero a la capacidad de debatir.
Los foros en internet tienen el problema que no queda muy claro quien está a favor y quien en contra. Bueno, hay algunas pistas, pero en general no se representa gráficamente.
He añadido a blogmemes la capacidad de debatir. Esto no afecta el sistema de votos vigente. Tampoco introduce votos negativos, pero si introduce la posibilidad de tomar posición frente a un tema.
Por ejemplo, creen ustedes que "¿La Religión sea la fuente de todos los males?", en blogmemes puedes discutirlo, mediante tu voto. Lo interesante es que vez que posición tiene cada uno.
Eso es mojarse el potito, como decimos en Chile.
Carlos me envió un comentario sobre mi artículo anterior "Perdoname San Ignucius".
Ese post nació a partir de un comentario, en el contexto de las guerras clónicas, pero como respeto mucho a Carlos, y como ambos decidimos que sería interesante debatir sobre software libre, voy a publicar primero su email, más tarde, probablemente este fin de semana redactaré una respuesta.
Las guerras clónicas
El tema meneame vs blogmemes ya es cómico a estas alturas.
Por eso le he puesto el nombre de las guerras clonicas, dado que ambos sistemas han sido etiquetados de clones de digg. Aunque para mí blogmemes no lo es, pero bueno..
Ayer incluso han tratado de hackearme, lo peor es que fueron chilenos, usuarios de fullcom.cl, vamos a empezar a investigar que pasó:(, que lata.
Personalmente, no entiendo no se puede criticar lo que le parece mal? Además, a estas alturas muchas de las críticas carecen de validez porque en meneame han cambiado mucho el sistema, yo creo que se han hecho cargo de algunas, lo que está bien.
Eso si, yo creo que son muy arrebatados, pero es el caracter de cada persona.
Ahora esto de los cambios a meneame me lleva al tema de la transparencia.
Transparencia
Cuando publiqué mi post sobre transparencia y software libre lo que quería destacar es que sistemas como meneame o blogmemes que han decidido ser open source, deben mostrar la historia de su código.
Porque son sistemas que soportan a una comunidad de usuarios, y cuando se generan polémicas, deben haber pruebas para que la comunidad pueda juzgar por si misma.
¿Cómo puedo rebatir a los que me dijieran de que en meneame nunca te obligaron a votar? No puedo, porque ese comportamiento ya no está. Tendríamos que ver si alguien tiene el fuente de la versión en que se hacía eso.
Incluso no tenemos la historia de como ha evolucionado el algoritmo del karma.
A lo mejor hay un repositorio de las versiones de meneame, pero no lo he encontrado. Si existe, retiraré lo dicho.
Yo prefiero mostrar mi código, con toda su historia, así pueden criticar y objetar cualquier comportamiento del sistema.
(Anónima: A esto me refería cuando dije que iba a hablar de transparencia)
Mea culpa
Ahora anónima ha creado un blog para criticar la forma en que le respondí su comentario.
Primero, me parece bien su reclamo, lo encuentro totalmente justo, y si ella quiere discutir del tema, que bueno que lo haga, porque es una preocupación legítima.
Yo creo que se hiperventiló con el tema, pero no sé, porque no la conozco.
Cuando lo hice le pedí disculpas. Yo estoy acostumbrado a los threads por email, donde esto es una práctica frecuente, pero pensándolo mejor, creo que en los blogs no se ve bién.
Así que asumo el error. Mea culpa, mea culpa, mea máxima culpa.
El cuerpo del delito quedará ahí, tal cual, para los que quieran abuchearme.
Se acuerdan de la página del millón de dolares?
Pues bien, ahora salió un script que permite construir tu propia página del millón de dolares: http://www.milliondollarscript.com/.
Bueno, ahora falta crear el hosting del millón de dolares, es decir, un servicio que ofrezca instalar tu propia página del millón de dolares.
Resulta que ayer tuve este sitio fuera por varias horas, incluso blogmemes estuvo inalcanzable.
Bueno, el hosting está ubicado en Tampa Bay, y la empresa que ofrece el servicio está en un edificio, que fue evacuado ayer, debido a un problema eléctrico que pudo haber provocado un incendio. Pueden leer la noticia aquí.
Lo que son las cosas. Yo no tenía idea donde se encontraba mi host, ahora lo sé.
Pero debo decir que el proveedor es super bueno, y en todo este tiempo es la única vez que dura tanto una falla.
Cosas de la globalización.
Carlos me envía un interesante comentario sobre un post anterior.
Como en ese momento mi proveedor de servicios estaba abajo, me lo envió por email, aunque me aclaró que le gusta más discutir el tema en el blog.
A la espera de que Carlos publique su comentario, visité su sitio y encontre un artículo suyo sobre las publicaciones científicas. Carlos trae a colación la supuesta frase de Newton: “si he visto más lejos, es porque me sostuve en hombros de gigantes”.
Esta frase se coloca como paradigma de como debemos compartir el conocimiento, y es la base de muchas críticas a las patentes, y otros temas relacionados con la propiedad intelectual.
Tengo un pariente investigador, que está en proceso de patentamiento, y me dice que el cree que muchos científicos e investigadores chilenos tienen esa actitud porque les lavan el cerebro en yanquilandia.
Bueno, él es un poco conspiranoico, como suele suceder en el ámbito universitario, pero y si fuera cierto? Si hubiera un conspiración para que las patentes sólo se queden en los paises desarrollados?
Nah.
De todas maneras voy a transcribir un mail que envíe en una lista en que alguien planteó la siguiente frase:"el hecho es que el concepto de "dueño de una idea" no es algo natural, sino absolutamente artificial"
Uno de los principios de las libertades de Stallman que más me gustan es este:
"La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades (libertad 1). "
Una de las buenas prácticas en ingeniería de software es que podemos ver las versiones del software.
Usamos herramientas como CVS o SVN para mantener las versiones de nuestro software, sea propietario, o abierto.
El estudiar las versiones del software hace más transparente un sistema. Cuando sólo puedes obtener la última versión del programa no puedes auditar.
Por ejemplo, si ven esta entrada del módulo de votación de akarrú, notarán que hubo un momento en que el administrador tenía el poder de votar muchas veces por una misma noticia. También pueden notar cuando se decidió eliminar el voto anónimo de blogmemes.
La historia de akarrú (y de blogmemes) está reflejada en estos repositorios:
Eso es la transparencia del software open source.
Gracias a esto pueden criticarme porque hasta el 1 de febrero el administrador podía votar muchas veces. O permitíamos los votos anónimos. O se puede criticar el cálculo del algoritmo de influencia, o analizar como este ha cambiado al menos 3 veces.
Sin esto, un proyecto open source no es enriquecedor para los desarrolladores, y los usuario.
Pero si este proyecto open source se usa para mantener una comunidad, el estudiar la historia del código es crucial.
Si alguien alega que el sistema no permite hacer algo, y después esa restricción desaparece, los reclamos quedan "sin piso". El afectado queda como un loco, un troll, puesto que el autor del sistema ha ocultado un hecho que era conflictivo.
Por supuesto que mantener la historia de los fuentes no garantiza que esto no ocurra, pero la comunidad puede desafiar al publicador a que muestre la historia de sus fuentes.
De hecho, si uno sigue la filosofía derelease early, release often, este proyecto se vuelve más transparente.
Hay que recordar que el software cambia en el tiempo, y cuando está sirviendo a una comunidad, si el software de soporte es abierto, se hace más urgente tener acceso a la historia.
Apuesto que muchos programadores que me leen no había considerado el control de versiones desde esta perspectiva de responsabilidad social. :)
"La FSF es el punto de referencia reconocido para determinar lo que es software libre.Creo que estas en contradicción contigo mismo al apoyar el SL por un lado y aborrecer la ideología que hay detras de ella, que básicamente consiste en defender las libertades que esta implica.
PD: Si crees que el Richard Stallman no es un representante adecuado para hablar del Software Libre, háztelo mirar. Si te cae mal, muy bien, pero no tienes derecho a despreciar su importancia dentro del SL."
La primera frase es una tautología, FSF, para los que aún no se han enterado es la Free Software Foundation. La fundación para el software "libre". Que fue fundada por Richard Stallman.
Decir que es una referencia reconocida sobre el software libre, es como decir que la Iglesia Católica es una referencia reconocida sobre Inmaculada Concepción.
Yo apoyo el software libre, como llevo haciendo desde hace muchos años. Tanto como usuario, y como desarrollador. Pero creo que la gente se pierde, y están entendiendo el software libre como algo que no es.
No hay contradicción en mi actitud. La libertad tiene que ver con pensar por uno mismo, cosa que a la mayoría de las personas le da miedo, por eso que acuden a gurúes para que piensen por ellos.
Por eso, que muchos no se cuestionan los conceptos de software libre, GPL, y los usan o los rechazan sin siquiera entenderlos.
El software libre no tiene que ver con derechas ni izquierdas, ni con riqueza o pobreza, ni tampoco es uno de los pilares de la era de acuario.
Por lo mismo, el software libre tampoco es la visión exclusiva de la FSF, ni menos la visión personal de RMS, a quien le reconozco muchos méritos, como su concepción detrás del GPL, a saber:
- La libertad de usar el programa, con cualquier propósito (libertad 0).
- La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades (libertad 1). El acceso al código fuente es una condición previa para esto.
- La libertad de distribuir copias, con lo que puedes ayudar a tu vecino (libertad 2).
- La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. (libertad 3). El acceso al código fuente es un requisito previo para esto.
Yo creo que falta la liberta -1, la de usar o no la GPL. Pero esa es otra historia.
Como sea, decir que porque no estoy de acuerdo con Stallman estoy en contradicción es ilógico.
Cuando Juanjo me dice que me la haga ver, me gustaría saber a que parte del cuerpo se refiere.
Por último, de que Richard Stallman tiene prácticas totalitarias, eso es innegable.
Benjamí, socio y amigo de Ricardo Galli me ha puesto un comentario. Le respondo en este post. Yo no he atacado a meneame. Hay 2 post enque comenté sobre meneme: http://www.lnds.net/2006/02/no_pesquen.html y http://www.lnds.net/2006/02/blogmemes_y_meneame_dos_sistemas_distint.html En 'Dos sistemas distintos", explico la historia de blogmmemes, coincidencias y diferencias entre los sistemas. También planteo que estoy de acuerdo con las criticas que se le hacían al sistema en ese momento. Hay cosas que han cambiado en meneame, y quizás no he comentado eso, por falta de tiempo, hace 2 semanas que no le dedicaba tanto tiempo a blogmemes. Por ejemplo, enmeneame ya no es obligatorio votar para publicar una noticia, eso es bueno. Personalmente envié una felicitación a Ricardo a su blog, por el éxito que ha tenido su código fuente, que está siendo usado en la digosfera. En "No Pesquen" planteo mi filosofia del "control remoto".Si no te gusta un canal, cambiale, y listo. Ahí destaco las diferencias, en blogmemes no hay karma, no hay votación negativa, etc. Efectivamente, este post aparecía en la portada de blogmemes, y lo saqué, porque podía ser considerado un ataque a meneame. Como alguien comentó, parecía patético, y hasta que no tenga tiempo para escribir un documento con el espíritu de blogmemes, no habrá nada. h2. Por qué publicar el email de Ricardo Galli Cómo Benjamí dice que es dificil interpretar las intenciones, voy a explicar las razones por las que publique el mail. (a propósito acabo de eliminar las direcciones de email, pido disculpas por eso). Hay historias que se han publicado en blogmemes criticando a meneame, y eso no le parece a Ricardo:
"Hola Eduardo, veo que en blogmemes cada vez dedican palabras más "agradables" contra mí. En especial con el tema del ataque al menéame, donde no se han cortado un pelo."En mi país decimos si el "río suena es porque piedras trae". Pero me pregunto,¿en donde se habla del ataque a meneame? De hecho me enteré hoy día del problema, y no fue por blogmemes, no he encontrado una noticia al ataque a meneame en blogmemes, así que no se a que se refiero. Pero me pregunto, Ricardo Galli pretende que censure a los que lo critican? Inaceptable. En blogmemes todos pueden escribir lo que quieran, cuando quieran. Me voy a saltar las explicaciones que hace de mi código, que a mi me suenan a: "Mira pobrecito sudaka, que he revisado tu codigo durante 15 minutos y me di cuenta que...". Llevo 23 años programando, y nunca he creado un sistema con las claves en texto plano, para que sepas dios de la programación.
Aunque estoy muy mosqueado por cómo me han tratado en Blogmemes sin que venga a cuento, no publicaré estos problemas ni este mensaje. Al menos no por ahora, pero es urgente que lo arregles, si han probado con el Menéame, en poco tiempo lo harán con Blogmemes, hay gente cabreada de ambos "lados".Fue ese párrafo el que no me gustó. Yo le respondí el mail a Ricardo, y después publiqué el mail, porque me pareció amenazador, sobre todo si se fijan en las frases que puse en negritas. A mi me parecen amenazadoras. Puede que me haya pasado, pero si alguien te dice que ha descubierto un problema de seguridad en tu sitio, y te dice que no las va a publicar por ahora, y después añade:
Pero espero que lo soluciones y pongas un artículo en blogmemes de los problemas resueltos y quién y cómo te ha informado.Eso es extorsión. Parece que Galli no conoce el espíritu del software libre, porque no habría dudado que los agradecimientos irán en donde deben ir, el ChangeLog de Akarrú, y en las release notes que se publiquen en Source forge. No tengo porque publicarle una elegía a cambio de la información en blogmemes. He mal interpretado el mail? Es cierto que no conozco a Galli, pero leo y releo el mail y me parece de mal tono. Ricardo Galli debe aprender a ser más respetuoso. Que yo al menos no trato a mis lectores como el acostumbra. El se auto proclama políticamente incorrecto, yo a eso lo llamo "berrinches de cabro chico". Y no se hable más del tema.
Tras leer este artículo entendí el origen del email de Ricardo Galli.
Como no leo su blog muy a menudo, no tenía idea.
La verdad es que ya he resuelto el problema, y quizás quede alguna pifia por ahí, pero creo que deberiamos anularlas ahora que hay más manos manteniendo el código.
Todo esto será modificado en el next release de akarrú.
De paso vamos a recuperar un feature que Shezzo me pidió especialmente, y es la persistencia del login.
Si todo sale bien, durante este sábado deberían estar todos los cambios listos.
Todo por culpa de los chicos de martes 13, que no deberían haber hecho el defacement, y que es verdad que tienen mala ortografía, pero creo que debemos agradecerles, pues nos ayudan a construir software más robusto, gracias a que el código está disponible para ser estudiado.
Por favor, no ataquen blogmemes en inglés y francés, porque no le he pasado los cambios a sialoo.
¿Que tan mal está el código actual?
Bueno, la verdad que los comentarios del post anterior no son totalmente ciertos.
En blogmemes hay sanitización de variables en muchos formularios, y al desplegar el código, como pueden notar todos los que han intentado ingresar código html. Por lo que blogmemes no es vulnerable a script injections.
Sobre el sql injections, en nuestro servidor hemos configurado magic quotes, y otras cortapisas. Pero este es un proyecto open source, y no debería fiarse de la configuración que pueda o no tener el ambiente donde correrá.
Si alguien ve el código fuente de blogmemes, podrá criticarme, con justa razón, el uso de MD5.
Siendo yo mismo uno de los mayores críticos al uso de MD5, el que la esté usando es, por decir lo menos, vergonzoso. Como ya expliqué antes, al partir usando DiggClone, muchas malas prácticas fueron heredadas, pero eso no es excusa.
Debe ser corregido.
Los usuarios de blogmemes no deben preocuparse, porque sus claves serán protegidas.
Estoy trabajando en una limpieza de las claves, pero sin que afecte el login.
Me ha llegado este email de Ricardo Galli.
Juzguen ustedes.
-----Mensaje original-----
De: Ricardo Galli [-- borrado --]
Enviado el: Saturday, March 04, 2006 10:16 AM
Para: -- borrado --
Asunto: Problemas de seguridad en Blogmemes
Hola Eduardo,
veo que en blogmemes cada vez dedican palabras más "agradables" contra mí. En especial con el tema del ataque al menéame, donde no se han cortado un pelo.
Pues bien, perdí 15 minutos para ver el código del Blogmemes (versión
0.4.2.21) y me encontré con problemas y bugs de seguridad muy graves (muchos más de los que tenía el menéame). Sobre todo de inyección de SQL por la falta de verificación de los variables del GET o POST.
Por ejemplo en profile_edit.php
if ($bm_users->update_profile($_POST))
que llama a:
function update_profile($data)
{
$sql = ' update users set ';
$sql .= ' email = \''.$data['email'].'\',';
$sql .= ' fullname= \''.$data['fullname'].'\',';
$sql .= ' website = \''.$data['website'].'\',';
$sql .= ' blog = \''.$data['blog'].'\' ';
$sql .= ' where ID = '.$data['user_id'];
$this->db->execute($sql);
o en memes.php
function do_login($user, $pass)
{
$user = $this->db->fetch_object("select ID, username, password, email,join_date,admin,website,blog,fullname from users where
lower(username)='".strtolower($user)."'")
Así está plagado de este tipo de errores, en ningún momento sanitizas o controlas esas variables y luego las usas directamente para crear el sql.
Podría haberte modificado la base de datos, o cambiar las claves con métodos de inyección muchos más sencillos de los que han usado para el menéame (ni siquiera hace falta que los sepa, me basta con "copiar" los que han usado contra el menéame).
Además tengo la impresión que tienes que tener el "register global variables"
en el php del servidor. Espero que no sea así, porque sino el problema es aún más grave.
Supongo que ya te servirá de ejemplo para darte cuenta de los problemas.
Aunque estoy muy mosqueado por cómo me han tratado en Blogmemes sin que venga a cuento, no publicaré estos problemas ni este mensaje. Al menos no por ahora, pero es urgente que lo arregles, si han probado con el Menéame, en poco tiempo lo harán con Blogmemes, hay gente cabreada de ambos "lados".
Pero espero que lo soluciones y pongas un artículo en blogmemes de los problemas resueltos y quién y cómo te ha informado.
Si necesitas más ayuda para solucinarlos, encantado (aunque tendría que estudiarme el Smarty, que no lo conozco), pero antes espero ver una respuesta pública de "desagravio", que las contrarias ya hubo demasiadas.
Un abrazo.
--
ricardo galli GPG id C8114D34
http://mnm.uib.es/gallir/

