Una semana más en casa, programando como un loco. Esta semana toca una bonita foto otoñal de Japón.

Kiyomizu-dera, Kyoto (Japón)
Vistas desde el templo budista de Kiyomizu, Kyoto (Japón)

Uranium

Continué perfeccionando el post que ya publiqué la semana pasada. Le añadí nuevos gráficos y mejoré las explicaciones.

Hice algunas pruebas con Flex, pero no pude generar ningún contenido en el blog relacionado con ello porque aún tengo otros artículos atrasados por terminar.

Blog

Desde ahora cuento con mi propio dominio: guiferviz.com. Esto es simplemente una forma de formalizar mi compromiso con el blog y para darle un aspecto algo más profesional.

También me empecé a preocupar sobre si el blog sale o no entre los resultados devueltos por Google. La respuesta fue un claro no, puesto que nunca me había preocupado por informar a Google de que así lo hiciera.

Después de modificar un poco mis templates del blog para mejorar el SEO, también le dediqué algo de tiempo a mejorar algunas cosas del estilo CSS. En especial me centré en mejorar el syntax highlighting de los fragmentos de código.

Rouge, syntax highlighting en Jekyll

El intentar mejorar el estilo del blog y escribir mis posts sobre Uranium me llevó a detectar varios fallos en la librería utilizada por Jekyll para resaltar código. Para mi sorpresa no era Pygments, sino Rouge, una alternativa programada puramente en Ruby, el mismo lenguaje que usa Jekyll para generar blogs como este.

Abrí un bug en el repositorio de GitHub de Rouge y el desarrollador principal de Rouge, pyrmont, lo solucionó con rapidez. La solución requirió de un poco de investigación hasta que encontramos el lexer que LLVM usa para procesar los ficheros de entrada. Utilizando dicho fichero, pyrmont programó un extractor automático. De ese fichero extraía las palabras clave que el lenguaje intermedio de LLVM posee y escribía un lexer en Ruby para generar el código resaltado.

La próxima semana…

Sigo trabajando en el compilador de Uranium.