Posts

Hugo, generador de sitios estáticos

Hugo se presenta como el constructor de sitios web más rápido del mundo. Está escrito con Go y genera sitios de forma estática con la intención de ofrecer mejor rendimiento, seguridad y facilidad de uso. Por cada petición que recibe un sitio generado dinámicamente su servidor HTTP crea un nuevo archivo HTML. Con el tiempo estos generadores de sitios dinámicos comenzaron a almacenar algunas páginas en caché para mejorar el rendimiento. En tanto que Hugo no genera las páginas dinámicamente, sino que renderiza todos los archivos HTML en tu computadora, podemos definirlo como un generador de sitios estáticos. Es como si un generador de sitios dinámicos almacenara todas las páginas en caché. Este método te permite revisar todas las páginas en local tal cual serán enviadas al cliente y, además, el servidor HTTP las servirá usándo únicamente una fracción de cómputo y memoria de la que necesitaría un sitio generado dinámicamente.

El misterioso netrwhist

Cuando gestionaba mis dotfiles era habitual encontrarme, entre los archivos modificados, al misterioso netrwhist. Antes que nada debes de saber que netrw es un script conectable a vim, que está orientado a redes y que permite lectura, escritura y navegación. netrwhist es el archivo donde netrw guarda un histórico de los directorios que fueron modificados. netrw tiene bastantes opciones de configuración:

let g:netrw_banner = 0
let g:netrw_liststyle = 3
let g:netrw_browse_split = 4
let g:netrw_altv = 1
let g:netrw_winsize = 25
let g:netrw_dirhistmax  = 10
let g:netrw_dirhist_cnt = 6

Un modo de no versionar este histórico es usar el parámetro de configuración netrw_home para guardar su histórico fuera del repositorio dotfiles.

Consultar con Git los archivos modificados

Hace poco un compañero me preguntó cómo podía consultar los archivos que había gestionado en un desarrollo, desde la versión que había partido, hasta la versión actual en la que se encontraba. Consultando un poco dimos con esta opción,

$ git diff 0819dfcb 20620b5b --name-only

Y el resultado era exáctamente el que buscábamos, nombres de los archivos que habian sufrido algún tipo de modificación entre los dos commits que le estábamos pasando al comando git diff.

Breve pensamiento sobre SEO

Cuando estas desarrollando software y te encuentras por primera vez con un problema que tienes que resolver, puedes dedicar unos 20 minutos a navegar por la red, buscando, probando y valorando la información necesaria para conseguir la solución correcta. En ocasiones debes construir dicha solución con porciones y modificaciones de otras propuestas que no se adaptan correctamente al problema concreto que necesitas solucionar.

Si después de hacer esto, dedicas un poco de tiempo a escribir sobre ello, puedes disponer de la información en caso de que te haga falta en el futuro y, además, ayudar a otras personas que podrían encontrarse con la misma dificultad que te encontraste tú.