Skip to content

Revamped

He actualizado el blog. Lo principal ha sido sustituir Drupal por WordPress, principalmente por que este último tiene actualizaciones automáticas. Y por lo demás ha sido un cambio de aspecto bastante moderado. He conservado el estilo parco del anterior, sin muchas florituras.

Todas las entradas del blog y las páginas de artículos se han migrado correctamente en la mayoría de los casos, respectando las urls originales cuando ha sido posible. Lo único que se ha perdido son los comentarios.

Aún quedan detalles que ir corrigiendo, como algún texto que sale en inglés, porque el tema no lo traduce, y algunas imágenes que se salen por los márgenes, pero poca cosa en general. Me queda dar un repaso general a todo el contenido (unas 700 páginas individuales) para ir solventando detalles.

He redirigido todo el tráfico al nuevo software, eliminado el anterior, y añadido un par de plugins para mi comodidad, como el del captcha por ejemplo, para evitar el spam en los comentarios.

¡A ver si aguanta otros 11 años!

10 años en la red

Pues sí, diez años lleva ya esta web en marcha. El último año en blanco, pero de forma intencionada, quería ver si pasado ese tiempo volvería a seguir teniendo ganas de escribir algo, y si tendría algún plan nuevo para la web. Y aquí estoy, escribiendo y con algún que otro plan ya en marcha.

Lo primero que tendría que hacer es cambiar el software con el que funciona la web. Hace mucho tiempo que no actualizo la versión de Drupal (el CMS que utilizo para el blog), y las últimas subidas de versión de PHP y MySQL de mi servidor de hosting hacen que algunas partes de la web, sobre todo de la parte interna de administración y alguna pública como los comentarios, no funcionen ya correctamente.

Mi principal requerimiento es no tener que actualizar manualmente el software del CMS para aplicarle parches de seguridad y actualizaciones importantes, algo que Drupal no soporta de forma nativa y no parece que vaya a soportar en un futuro próximo. Por lo que he estado sopesando un par de opciones. La primera era migrar a una plataforma externa en vez de tener un servidor propio, tipo blogger.com o wordpress.com. Incluso he montado un par de blogs de ejemplo en estas plataformas para ver las interfaces de usuario. La segunda era usar otro software, como el propio WordPress que si se actualiza automáticamente. Incluso he instalado ya una versión en mi servidor de hosting para ver el rendimiento y el panel de administración.

La opción de usar una plataforma externa la he descartado porque el objetivo de esta web siempre fue aprender a base de instalar, usar y adaptar el software según mi necesidad o capricho. Tener el software instalado en otro servidor sin posibilidad de modificarlo hace que el mantenimiento sea prácticamente nulo, pero me limita a la hora de realizar cambios a mi antojo para probar cosas nuevas.

Así que la opción de instalar un nuevo software era la opción más lógica. Lo que hay que hacer sin embargo lleva más tiempo. Instalar el software, configurar las opciones de administración, instalar plugins, elegir un tema, configurar el tema, importar el contenido del blog actual, revisar la importación, desactivar Drupal y activar WordPress.

Blogger
En la imagen que acompaña a este post está una prueba de concepto del estilo que quiero aplicar al blog. Algo muy sencillo en realidad. Los borrones de tinta es de una imagen de fondo de blogger, y que no creo que utilice.

Hay miles de temas disponibles para WordPress y siempre parece que hay alguno que te encaja pero le faltan un par de opciones que te gustaría tener. Al final me veo modificando una plantilla, como de costumbre, algo que querría evitar a toda costa para que las actualizaciones sean más sencillas en el futuro. Probablemente sea la parte que más tiempo me lleve, junto con la migración, ya que me gustaría respetar las urls originales para que no se pierdan todos los enlaces a las páginas ya existentes.

dart-challenges (2)

Sigo trabajando en completar todos los retos de programación de www.codingame.com.

Hace unos días terminé todos los de nivel 3 y dejé todo el código subido a dart-challenges, aprovechando además para añadir un montón de comentarios en todas las soluciones de nivel 1 y 2, que ya había subido anteriormente, además de pasarlas por el formateador de código de Dart Editor.

En total llevo casi 40 problemas resueltos. Y de todo tipo, que es lo más interesante. Bastante de ellos recursivos, pero siempre con algún detalle que se aparta del algoritmo clásico y que te obliga a pensar la estrategia adecuada en cada caso particular.

Mi siguiente objetivo son los retos de nivel 4. ¡Ya sólo me quedan cinco!

dart-challenges

DartEn las últimas semanas he estado trabajando en escribir una solución en Dart para cada uno de los retos propuestos en http://www.codingame.com. Una web que organiza competiciones de programación cada mes, en las que se plantea una serie de problemas y se da un tiempo para resolverlos en el lenguaje que se quiera entre los disponibles (unos 16 a día de hoy).

La web está bien diseñada, y los problemas se resuelven a través de la propia interface de la misma. Aunque lo que más llama la atención creo que son los problemas en sí, bastante imaginativos algunos y utilizando personajes de la cultura popular en muchos casos: Terminator, Indiana Jones, Thor, Doctor Who, Bender, …

Una vez terminada cada competición se hacen públicos los problemas planteados, todas las soluciones entregadas, y el resultado de las pruebas ejecutadas para comprobar la corrección de las mismas. Adicionalmente cada problema se añade a una página en la que puede intentar solucionarlo cada cual por su cuenta, sin límite de tiempo, y sólo por pura satisfacción.

Los problemas están divididos en niveles de dificultad, siendo 1 el correspondiente a los problemas más sencillos y 4 a los más difíciles. Por ahora sólo he resuelto los de de nivel 1 y 2, y uno de nivel 3 que fue con el que realmente empecé a plantearme resolver todos los demás. Para que las soluciones que he ido escribiendo no se pierdan en el fondo de mi disco duro he creado el proyecto dart-challenges donde estoy subiendo todo el código generado. Aunque ahora que es público creo que debería intentar añadirle más comentarios para que resulte realmente útil para los demás.

Mi idea es intentar resolver ahora todos los problemas de nivel 3, aunque ya he tenido alguna que otra dificultad con los de nivel 2, así que no prometo nada. Para que me resulte de verdad un reto no estoy mirando las soluciones. Bueno, al menos no hasta que escribo mi propia solución, entonces si he mirado alguna que otra para comparar, e incluso escribir una nueva solución si he visto alguna más simple que la mía o que me ha parecido los suficientemente interesante como para portarla a Dart.

La verdad es que me estoy entreteniendo bastante con estos pequeños retos de programación, en vez de estar trabajando en una librería o aplicación más grande.