Presentación "Persistencia en Python" y OpenBadge Ponente 2015

El 25 de febrero de 2015 di una charla sobre persistencia en Python Madrid. La presentación generó mucha polémica, en parte porque no separé claramente la implementación de la tecnología con su uso. Que no necesitas saber cómo funciona para usarla, vaya. Sirva de aprendizaje para una charla futura refinada.

Esta presentación me ha hecho merecedor del OpenBadge de Python Madrid con el criterio Ponente 2015. Mira qué chulo es:

/openbadges/python_madrid_ponente2015.svg

Ya lo he añadido al panal al final de las páginas de este blog.

Un año no es nada

Inauguré este blog hace exactamente un año. En Bienvenidos a "El hilo del laberinto" hacía una declaración de intenciones que hoy, con 12 meses de por medio, puedo evaluar.

Decía hace un año que como freelance necesito tener un presencia online más continuada y visible. Pasado este tiempo, se me ve más por Twitter, he publicado 49 artículos en este blog (una media de casi uno por semana), he empezado a dar charlas públicas de nuevo y están disponibles en mi web siempre que puedo.

La web vieja sigue online y viva. 19 años online, no está mal. Sigo colgando fotografías y artículos, aún cuando mi actividad se concentra en este blog. Ambas páginas tienen su espacio.

No hay cambios tecnológicos reseñables. Tal vez lo más llamativo y a lo que nadie presta atención es que ahora ambas webs se sirven bajo HTTPS, como explico en ¡Cifrad, cifrad, malditos!.

En este año me gustaría entrar un poco en temas de opinión, algo que he preferido no hacer hasta ahora. Pero ser profesional no implica no tener opiniones o no luchar por ellas. De hecho los que me conocéis personalmente sabéis que tengo ideas muy polarizadas respecto a muchos temas. Por ejemplo las industrias y los gobiernos siguen espiándonos y diciéndonos que es por nuestro bien. Son temas sobre los que me gustaría escribir más, pero sigo demasiado indignado para redactar algo coherente.

En resumen sigo escribiendo sobre lo que me gustaría que otras personas hubiesen escrito para ahorrármelo yo. Tirando del hilo en un laberinto infinito sin una Ariadna a mano. No estoy cansado, aún me queda mucha tela que cortar y muchos tropezones.

Espero ser, al menos, la Ariadna de algún que otro lector perdido en un laberinto.

Mapeo de puertos en el "router" a través de Python y UPnP

Las redes domésticas salen a Internet a través de un NAT. Esto es necesario en un mundo IPv4 pero mucho me temo que seguirá siendo la (triste) norma en una red IPv6. Es una lástima porque es una limitación importante para desplegar servicios Internet en nuestra casa, algo perfectamente posible con equipos potentes pero de bajo consumo y con la creciente disponibilidad de líneas Internet con una capacidad de envío sustancial.

Tema de otro artículo :-).

Una de las consecuencias de salir a través del NAT de nuestro router doméstico es que no podemos prestar servicios en Internet sin configurar manualmente el router. Es el famoso mapeo de puertos. Pero modificar la configuración del router no es trivial, podemos no tener la clave de acceso siquiera y, desde luego, no es una opción para un producto "empaquetable", que es lo que tengo en mente en este caso concreto.

Existe otra opción en el entorno doméstico, el llamado Universal Plug and Play. UPnP es un estándar muy complejo y barroco, casi espeluznante. No quiero mencionar siquiera sus problemas de seguridad, que me pongo malo y hoy necesito un respiro.

Es lo que hay. Vivimos en un mundo que... en fin...

En cualquier caso en este momento Universal Plug and Play nos viene muy bien, especialmente el perfil Internet Gateway Device Protocol. En pocas palabras basta con localizar el router de nuestra red doméstica y pedirle amablemente que abra un puerto en la IP externa y reenvíe a una IP y un puerto de la red interna las conexiones entrantes que vayan llegando.

Leer más…

Charla en la radio: CARNE CRUDA 30: Hackstory, la historia de los hackers españoles

El cinco de febrero de 2015 participé (por teléfono) en el programa de radio "Charla en la radio: CARNE CRUDA 30: Hackstory, la historia de los hackers españoles" junto a Mercè Molist (@mercemolist) y Antonio Hernández (@belky318).

La verdad es que entrar por teléfono es un rollo. La calidad es mala y estás bastante desconectado de la conversación en sí. Lamentablemente no estaba en Madrid en esos momentos. A pesar de todo agradezco la oportunidad y creo que el resultado ha quedado bastante resultón.

podcast

Espero que el contenido os parezca interesante. Son 27 megabytes de nada.

Me ha hecho mucha gracia que amigos ajenos completamente al mundo de la informática me hayan dicho "¡Jesús, te he oído por la radio!". Al parecer el programa se oye bastante y tiene un público variado :-). Espero que me inviten otro día. Queda aún mucha tela que cortar. Hint, Hint :-)

Mi experiencia con los OpenBadges para PyConES 2013

Ya sabéis que últimamente estoy muy metido con el tema OpenBadges. Por ejemplo, la librería Python OpenBadgesLib. Otra de mis iniciativas interesantes es el Proyecto OpenBadges de la Asociación Python España. Esa web pretende ser el paraguas de la Asociación Python España para que grupos locales Python españoles puedan gestionar sus propios OpenBadges fácilmente.

Hasta ahora la única comunidad que se ha decidido a dar el paso ha sido Python Madrid, aunque varias más han mostrado interés y se lo están pensando. Recientemente la propia Asociación Python España se ha lanzado al asunto emitiendo un OpenBadge para los ponentes de la PyConES 2013, con un criterio simple.

Pero para emitir esos OpenBadges es conveniente que se cumplan un mínimo de condiciones. Por ejemplo que la web sobreviva por siempre. Literalmente.

Leer más…

Efectos colaterales de desplegar OpenBadges en Python Madrid

En Python Madrid hemos apostado duro por los OpenBadges. Se han entregado OpenBadges de forma retroactiva a todos los ponentes desde 2011.

Esta actividad ha tenido dos efectos interesantes hasta el momento:

  1. La web de Python Madrid apareció después de que hubieran empezado las reuniones del grupo así que no cubría toda la actividad previa. Dado que yo me empeño en que los OpenBadges generados tengan una evidencia verificable y objetiva, Pablo Lobariñas (la energía tras Python Madrid) mordió la bala y se curró el trabajo arqueológico de bucear en los archivos de la lista de correo y publicar una entrada en la web del grupo detallando todas las charlas desde febrero de 2011.

    Esto hizo posible emitir OpenBadges para todos los ponentes de la historia reciente de Python Madrid enlazando a una evidencia correcta, verificable y con reputación. Hay algunas charlas previas esporádicas que se han perdido irremediablemente. La historia del grupo ha sido complicada y discontinua.

  2. El segundo efecto ha sido interesante. Compara, por ejemplo, el criterio de los OpenBadges del año 2014 y del año 2015 de Python Madrid. Vinculando la entrega del OpenBadge al hecho de que la charla esté disponible y fácilmente localizable online, prestamos un mejor servicio a la comunidad. De hecho, el efecto ya se ha notado en la charla de enero.

Otro efecto que buscamos es una mayor diversidad en los ponentes (no es raro que una misma persona de varias charlas al año). Veremos si lo conseguimos durante 2015.

Soporte de generadores RSS personalizados en Nikola

Nikola es un generador estático de sitios web. La enorme ventaja de que un sitio web sea estático es que se puede servir desde cualquier servidor web sin necesidad de emplear ninguna tecnología especial. No se ejecuta ningún código en el servidor, no hay base de datos. Toda la web consiste en ficheros estáticos en el disco duro. No hay nada que mantener en el servidor, problemas de seguridad de los que preocuparse, etc. Esto es especialmente importante en sitios web que deben ser longevos pero tienen pocos o ningún cambio y en los que no tenemos que mantener todo un stack software por los siglos de los siglos. Otra ventaja derivada es que al no depender de ninguna tecnología web podemos migrar la web de un servidor a otro sin necesitar ningún requisito especial en absoluto.

Un ejemplo de sitio web convertido a estático [1] para poder ser accesible por siempre jamás sin necesidad de tecnología concreta ni tener que preocuparse de la seguridad es la página web de la PyConES 2013.

[1] La web original se elaboró mediante Django, un framework web tradicional Pero una vez que se completó el evento, se añadieron los enlaces a las ponencias, etc., es una web que no se va a modificar nunca más. Mantener una pila Django permanentemente, preocupándonos de las actualizaciones de seguridad, necesitando personal especializado para mantenerla en funcionamiento, etc., es un coste inútil e injustificable. La web no emplea tecnología AJAX o similares, así que su conversión a estático con un simple comando wget fue tarea simple y apenas requirió ajustes manuales.

Naturalmente mantener un sitio web moderno modificando directamente ficheros estáticos es el servidor es poco práctico. Cambios como actualizar la fecha de copyright pueden suponer buscar y modificar miles de ficheros.

Nikola mantiene un sitio web mediante plantillas. Funciona en tu ordenador personal. Cuando haces una modificación a una plantilla, creas nuevas entradas, un cambio de reglas de estilo o lo que sea, ejecutas Nikola y te dará un directorio output con ficheros puramente estáticos que puedes subir a tu servidor web por FTP, RSYNC o similar.

El workflow de Nikola es muy flexible, soporta plugins, filtros, etc.

Leer más…

Remapeo de sectores defectuosos en discos duros modernos (II)

En mi artículo Remapeo de sectores defectuosos en discos duros modernos (I) explico la teoría. Veamos ahora un caso práctico real.

Cualquiera que me conozca personalmente o que siga este blog sabe perfectamente que estoy obsesionado con los sistemas de backup. Profesionalmente nunca he perdido datos. A nivel personal tampoco me ha ocurrido nada irremediable aunque una vez perdí unas cuantas fotografías por la ventana de tiempo que existió entre copiarlas a mi ordenador y hacer copia de seguridad del mismo. Una semana, en aquel momento. Tuve suerte de aprender la dura realidad de la vida con un coste más bajo que otros.

No es una cuestión de suerte. Es una cuestión de planificación y disciplina. Tema sobre el que escribir un día de estos.

Leer más…

Remapeo de sectores defectuosos en discos duros modernos (I)

Los discos duros modernos son una maravilla tecnológica. Son dispositivos mecánicos muy baratos que almacenan terabytes de información de forma bastante fiable a pesar de girar 120 veces por segundo mientras está sometido a vibraciones y cambios de temperatura. Que un disco duro moderno funcione es sorprendente. Que funcione tan bien como lo hace es poco menos que milagroso.

Es normal que a lo largo de la vida útil de un disco duro se vayan desarrollando defectos. Si el crecimiento de defectos es lento y esporádico no significa que el disco duro esté fallando. Asegurémonos de tener los backups al día. Si el número de defectos crece muy rápidamente hay que reemplazar el disco duro lo antes posible.

Leer más…