Apuntes libres de la Universidad de Alicante OpenCourseWare

El otro día le preguntaba a un excompañero de la universidad si tenía unos apuntes que me interesaba repasar, entonces me puse a buscar en internet y encontré esta maravilloso proyecto llamado OpenCourseWare donde se recopilan apuntes libres de todo tipo. Creo recordar haberlo escuchado en una de las primeras jornadas Copla, y por lo que parece lleva varios años en marcha pero yo a día de hoy todavía no era conciente de ello. A partir de ahora habrá que explotar este recurso.

Cheli

Mozbackup

Resulta que tenía que hacer limpieza en el portátil de mi hermana, que lamentablemente va con vista, y necesitaba una herramienta para hacer una copia de seguridad de su perfil de Mozilla Thunderbird. Pues buscando encontré Mozbackup y solo puedo decir que funcionó a las mil maravillas. Mozbackup es compatible con:

Por lo que lo podéis utilizar en cualquiera de ellos a parte de con Thunderbird.

El problema es que es una aplicación freeware pero bueno, me hizo el papel.

Cheli

Como configurar el conector jk para Openbravo en Debian Gnu/Linux

Jk es un conector entre apache y tomcat que permite que las peticiones estáticas las responda directamente apache y las peticiones que necesiten ser procesadas se redirijan al contenedor tomcat, así conseguimos optimizar el rendimiento al lograr que cada servicio realice la tarea que mejor sabe hacer.

Configurar este conector en Debian Gnu/linux para una instalación estándar de Openbravo es muy sencillo. Después de instalar y configurar apache y la pila de herramientas que necesita Openbravo, también necesitaremos instalar el conector (libapache2-mod-jk). Todas estas instalaciones se pueden realizar directamente desde apt.

Ahora lo único que tendremos que hacer es descargar estos dos archivos jk.conf y workers.properties y copiarlos a /etc/apache2/mods-available/jk.conf y /etc/libapache2-mod-jk/workers.properties respectivamente. Además deberemos crear un enlace simbólico en mods-enabled.

ln -s /etc/apache2/mods-available/jk.conf /etc/apache2/mods-enabled/jk.conf

Por último deberemos añadir esta linea al archivo /etc/apache2/sites-enabled/000-default

……
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
jkMount /openbravo* ajp13_worker
</VirtualHost>

Y eso es todo.

Cheli

Entendiendo los ataques CSRF

Acabo de leer un interesante artículo  en Linux Magazine en el que se explica cómo funcinan los ataques tipo CSRF (cross-site  request forgery o también cross-site reference forgery que vendría a ser algo así como falsificación de petición/referencia cruzada a un sitio). Voy a intentar explicarla brevemente.

Actualmente la mayoría de los navegadores nos permiten tener varias ventanas y/o pestañas abiertas que comparten cierta información. Por ejemplo, si tenemos abierta una sesión de gmail y en otra pestaña abrimos nuestro adsense automáticamente nos autentificará con la cuenta de gmail de la sesión activa. Si a esto le añadimos que cada vez existen más aplicaciones web que tenemos constantemente abiertas tenemos un problema.

Imaginemos que mantenemos nuestra cuenta de correo web abierta y en otra pestaña abrimos nuestra sesión en una red social, en ese momento nos encontamos a un contacto que conoce nuestra dirección de correo-e y al que no se le ocurre otra cosa que montarnos una trampa en forma de javascript o url montada aproposito escondida en una imagen o cualquier otro elemento para que lo visitemos en su perfil de la red social. Con esto esa persona podría conseguir que cargaramos por ejemplo una url con esta forma.

http://dominio-mi-correo-web.com/contrasenya?nombre=midireccion@correo.com&contrasenya=nuevacontraseña

A tenor de lo explicado anteriormente nuestro navegador ejecutaría dicho código al tener la sesión de nuestro correo-e abierta y con ello esa tercera persona ha conseguido usurparnos nuestra cuenta de correo-e de la forma más absurda.

Os preguntaréis como nos va a meter esa url sin que nos demos cuenta. Pues es muy fácil, que se ejecute un javascript o que lance una url mediante un enlace incrustado en un texto es de lo más sencillo. También tenemos cosas ligeramente más sofisticadas como las citadas en el artículo que consisten en poner la url en el src de una imagen.

Ahora que sabemos como funciona tenemos que pensar en cómo evitarlo. La propuesta del artículo consiste en crear una señal en el servidor que generaremos de forma aleatoria antes de enviar una página de solicitud de información como puede ser un formulario. Posteriormente ya sea mediante un campo oculto de formulario, una cookie o una url deberemos recibir de nuevo esa señal para cotejarla con la original y así asegurar que no es una inyección mediane el truco anteriormente descrito sinó que es consecuencia de la ejecución de una página generada por nosotros. En el escenario anterior la url que montaba la tercera parte no funcionaría ya que le faltaría un tercer parámetro que sería la señal que habíamos generado aleatoriamente.

Otras sugerencias son:

  1. Utilizar un navegador en exclusiva para este tipo de aplicaciones.
  2. Utilizar un navegador que aisle cada pestaña como puede ser el nuevo chrome de google.

Por lo que se comenta en el artículo pocas páginas están diseñadas para evitar ataques XSS y particularmente del tipo CSRF. Tendremos que ponernos las pilas.

Cheli

Descubriendo los servicios de descarga

Hace mucho que conocía de estos sistemas (rapidshare, megaupload, etc), quizá años pero nunca había pensado en su utilidad. Mi idea inicial era que estos servicios eran para compartir archivos grandes al estilo, – Oye te paso las fotos del viaje que por correo-e no me entran- ó -Mándame el video aquel que hiciste- ó incluso – Te mando el código fuente de la aplicación que estamos desarrollando.

El tema es que pretendía bajar unas series que ni por torrent, edonkey, etc conseguía que me bajaran porque no habían suficientes pares pero curiosamente si que están en estos servicios. Si a esto le sumamos Tucan el resultado es que en una tarde tenía descargada la segunda temporada entera de una serie que llevaba semanas bajando.

Ahora por fin si que les veo una gran utilidad.

Cheli

Meritocracia ¿funciona?

Una de las formas más sencillas de refutar una teoría es mediante un contraejemplo, en este caso pondríamos como contraejemplo meneame y ya hubiéramos terminado. Sin embargo voy a intentar explicar que es la meritocrácia y porqué muchas veces no funciona aún siendo un sistema muy válido.

La meritocracia es un sistema de mando o gobierno en el que se le da mayor valor a las decisiones que toman los que más méritos han obtenido hasta entonces. En contraposición de la democracia donde el voto de cada mienbro de una comunidad cuenta lo mismo, en una meritocracia se ponderan los votos. Esto significa que el voto de una persona que ha hecho más méritos tiene más valor que el voto de otra persona que ha hecho menos.

¿Cómo se traslada todas estas ideas a la llamada web social? En los sistemas de meritocracia se utiliza una ponderació a la que llaman karma. Cada usuario empieza con un karma idéntico y a medida que se van haciendo méritos se va modificando dicho karma.

¿Cómo se consigue o pierde karma? Si tu propones una idea y hay mucha gente que la vota a favor tu karma aumenta, igualmente si la votan en contra tu karma disminuye. Otra forma de que tu karma aumente es si votas una  idea en el mismo sentido que la mayoría, por ejemplo si votas a favor una idea en la que la mayoría vota a favor o si votas en contra una idea en la que la mayoría esté en contra. Si se da el casocontrario (votar a favor una idea en la que la mayoría esté en contra y viceversa) tu karma disminuirá.

Según el valor de karma que tenga la persona que vota se le da una ponderación en positivo o negativo a la idea. Por ejemplo si una idea tiene 5 votos a favor y todos tenemos karma 1, la idea tendría ponderación de karma 5 pero si uno de los que ha votado tuviera karma 1.5 entonces la idea ya no tiene karma 5 sinó 5.5.

En verdad estos sistemas de karma se complican mucho más y cada uno los implementa de una forma distinta para intentar ajustar la justicia del sistema.

Vale, parece todo muy bonito y que tiene sentido, el que más sepa de un tema y lo haya demostrado que su voto cuente más que la del que no lo ha hecho pero tiene sus problemas si se dan ciertas circunstancias.

El primer problema es el que yo llamo el legado del karma. Seguro que os ha pasado que en vuestro grupo de amigos hay una persona a la que se le suele hacer caso, no se sabe poprque pero tradicionalmente se le hace caso o se le tiene en cuenta. A lo mejor esta tendencia empezó porque cuando erais pequeños era el que jugaba de puta madre al fútbol y todo el mundo le tenía en cuenta, ahora quizá ya han pasado 15 años de esa situación y hace 13 que no jugais al fútbol pero se le sigue teniendo más en cuenta de lo que se merecería actualmente por el mero hecho de que fuera el chico que jugaba bien al fútbol y que caia simpático cuando era pequeño.

¿Qué ha pasado? que hace mucho tiempo este chico hizo unos méritos que fueron recompensados por el resto de la comunidad pero posteriormente no ha seguido haciendo méritos pero se le ha seguido recompensando por ¿nada?.

Para trasladarlo a los sistemas de meritocracia en internet lo que suele pasar es que alguien escribe un artículo buenísimo y a partir de ese momento todo lo que haga o escriba debe ser bueno por el simple hecho que lo haya escrito la misma persona, aunque en realidad sea una bazofia. Al final lo que sucede es que existe mucha gente votando en positivo cosas malísimas por inercia, e aquí un ejemplo de la estupidez humana.

En principio el sistema está preparado para esta circunstancia y cuando dejas de hacer méritos bien porque no propones ideas o bien porque no votas tu karma empieza a disminuir, pero claro si de vez en cuando das una opinión o expones una idea y por inercia te siguen votando positivo tu karma nunca disminuirá.

Otro problema es que el karma es genérico para cualquier tema. El karma no distingue entre temáticas lo que nos lleva a la situación de que si una persona hace méritos sobre un tema determinado y demuestra saber mucho va a tener la potestad de opinar sobre otros temas de los cuales no tiene ni puta idea con toda la fuerza de su karma.

En el ejemplo que ponía anteriormente esto significaría que el chico que jugaba tan bien al fútbol cuando era pequeño tuviera potestad por este hecho y esos méritos de dar opiones con mayor valor que el resto en un debate político. Esto no tendría ningún sentido y en los sistemas de karma actuales sucede.

Un problema más es que has de tener karma para que tu voto cuente. Lógico ya que es la base del sistema pero tiene un escenario especial en donde se rompe este principio. Como explicaba anteriormente inicialmente todos empiezan con el mismo karma y por tanto en el momento 0 el sistema funciona a las mil maravillas ya que habrá usuarios que harán meritos y los demás se lo reconocerán o no. Pero cuando el sistema ha evolucionado y exista gente con mucho karma y otra con poco,  y sucede que tú entras con poco karma e intentas opinar dando tu voto puede suceder, y de hecho es más común de lo que debería, que otra persona o grupo de personas con karma muy superior al tuyo dejan tu voto como inútil e incluso desacreditan el mérito que intentas hacer produciendo que tu mérito en vez de crecer disminuya con la consecuencia de que tu karma también lo hace.  Al final sucede que aunque estés constantemente intentando hacer méritos cada vez tengas menos.

Este punto introduce al siguiente que es el que yo llamo «vamos a chuparnos las pollitas o frotarnos las campanillas» dónde se admiten todas las combinaciones posibles «vamos a hacernos la pelota». Como comentaba puede que suceda que se creen grupos selectos de presión donde unos se votan a otros y estos otros a los unos de forma que todos los miembros de esos grupos tengan un karma muy superior al del resto. Al final las decisiones las toman estos grupos  y como expliqué en el punto anterior es muy difícil tener opinión y por tanto voto con el que hacer méritos y subir tu karma si no estás siempre totalmente de acuerdo con lo que dicta el grupo. Cómo es muy difícil estar siempre de acuerdo con un grupo así lo que sucede al final es que ese estado nunca cambia, esos grupos siguen siendo y estando ahí y el resto nunca puede hacer méritos, subir su karma y opinar con un voto que tenga el valor que le correspondería en otras circunstancias.

Este hecho también se conoce en el posicionamiento web como el de intercambio de enlaces aunque como se ha demostrado que es problemático cada vez se castiga más.

Después de esta exposición os preguntaréis el motivo de poner a meneame como contraejemplo. Empecemos por el principio, por aquél entonces estaba subscrito a la lista de correo-e de bulma lo que hizo que el día que se puso en marcha meneme fuera uno de los primeros en enterareme. Seguramente mi usuario en meneame sea uno de los 20 o 30 primeros y aunque hace más de dos años que no entro me imagino que seguirá allí.

Al principio me pareció un sistema genial, ya existían sistemas parecidos tanto en inglés como en castellano pero este sistema aportaba algunas innovaciones interesantes como el tener que justificar los votos negativos, el chat en el sistema espia, etc. Pero casi desde el principio sucedió lo que explico en el punto 1 , su creador empezó a meter mucho ruido en el sistema y como era el que lo había puesto en marcha toda la gente le votaba en positivo, aunque a veces dijera auténticas gilipolleces o soltara alguna que otra burrada, este tipo utiliza mucho la ley del embudo y es capaz de contraponerse a una cosa que él mismo dijo y tener las dos veces razón, realmente curioso.

Este punto empezó a no gustarme nada, pero de lo que de verdad empezó a adoler meneame fué principalmente de los puntos 3 y 4. Al sumar las tres cosas al final decidí dejarlo porque no me compensaba para nada la injusticia en que se había converstido el sistema. A partir de entonces todo lo que he sabido de meneame ha sido críticas y sobretodo respecto al punto 4 por lo que ese estado tiene pinta de estar establecido de por vida y que nunca se va a poder volver al punto inicial en el que el sistema funcionaba. Veremos que pasa.

Cheli

Spam Karma tenía demasiada hambre

El sistema antispam que estoy utilizando en wordpress me estaba generando un montón de falsos positivos pero como nadie me decía nada ni me había dado cuenta. Menos mal que está Antonio por ahí antento y me ha avisado.

Parece que era una pequeña incompatibilidad entre la nueva plantilla y spam karma que creo que ya he solventado. Si seguis teniendo problemas por favor avisadme.

Cheli

Accesos rápidos para web en konqueror

Todos conocemos los motores de búsqueda de firefox y otros navegadores pero esta característica de konqueror es aún mejor. Se que no es ninguna novedad ya que la llevo utilizando desde hace años pero seguro que hay mucha gente que no la conoce y no sabe lo útil que puede llegar a ser.

Los accesos rápidos para web de konqueror consiste en configurar un alias para una dirección web a la que le vamos a poder pasar parámetros. Por ejemplo existe uno para google con alias gg de formas que poniendo «gg:cheli en la barra de direcciones directamente nos buscará en google.

Lo bueno es que esto lo podemos hacer para cualquier página que ofrezca un servicio y además konqueror ya viene con un montón de ellas preconfiguradas.

Accesos rápidos en konqueror

Cheli

Computación distribuida con BOINC

Escuchando un capítulo antiguo del geek errante, podcast que me recomendó Moises Maciá que por cierto está muy bien, me he vuelto a plantear participar en uno de estos proyectos de computación distribuida. Me acabo de bajar el cliente para gnu linux de Boinc y me he apuntado al proyecto Rosetta, a ver si así ayudo un poquito a la ciencia.

Cheli