Lo que he aprendido: activar elementos en la barra de navegación en Jekyll

Sigo mejorando la web de pan, esta vez he hecho que los elementos de la barra de navegación cambien de color dependiendo de dónde estemos. Os cuento cómo.

Lo primero a tener en cuenta si usamos GitHub Pages como yo hago es el tema de las direcciones. Como nos cuentan aquí debemos añadir {{site.github.url}} delante de nuestras direcciones. Esto ocurre porque para Jekyll la dirección base es usuario.github.io pero si estamos usando una página de proyecto, esta dirección es en realidad usuario.github.io/proyecto y nos la lía.

Sabiendo esto, he adaptando lo que nos cuentan aquí para el caso de GitHub Pages y lo he añadido a _layouts/default.html, sustituyendo a la barra de navegación que tenía:

Esto compara la dirección de cada elemento en la barra de navegación (p.url) con la dirección en la que estamos (page.url) y si son iguales activa el elemento.

He tenido que crear, claro, la clase active en el CSS, que simplemente cambia de color el texto:

a.active {
    color: darkred;
}

Lo único que queda ahora es añadir en el bloque YAML inicial de cada página la posición en la barra de navegación, para eso usamos navigation_weight y un número que indica la posición, por ejemplo:

---
layout: default
navigation_weight: 1 
---

En el repo podéis ver cómo hacía la barra de navegación antes (lo comentado) y ahora, con lo que acabo de aprender. La verdad es que es bastante más cómodo que ir poniendo los enlaces uno a uno y eso que lo que yo había hecho no cambiaba de color ni nada.

Espero que os resulte útil.

Referencias

Navigation in Jekyll

Variables en la docu de Jekyll

GitHub Pages en la docu de Jekyll

Lo que he aprendido: configurando Aspell para Emacs

En su momento configuré el corrector ortográfico de Emacs en Windows. Primero lo intenté con Aspell y luego me pasé a Hunspell que tenía también corrector de euskera. Ahora he hecho la misma operación en GNU/Linux, esta vez con Aspell que era lo que tenía instalado.

El proceso tiene dos partes: instalar diccionarios y configurar Emacs. Os cuento ambas.

Instalar diccionarios

Dando por hecho que tenemos Aspell instalado, podemos mirar qué diccionarios hay disponibles con:

aspell dump dicts

Si el que nos hace falta no aparece en la lista lo podemos instalar directamente de los repositorios (si está) o descargarlo e instalarlo a mano.

Instalación desde los repositorios

Como no tenía ni idea de cómo se llamaba el paquete de español de Aspell, busqué directamente. Me salió lo siguiente:

ondiz@slimbook101:~$ apt-cache search aspell español
aspell-es - Diccionario de español para Aspell de GNU
aspell-gl-minimos - Diccionario de gallego (minimos) para aspell

Habría que instalar por lo tanto aspell-es.

Instalación manual

Si el diccionario que necesitamos no está en los repositorios, podemos comprobar si está en la lista de diccionarios disponibles para Aspell e instalarlo a mano. Buscamos el que queramos, lo descargamos y lo descomprimimos. Ocurre una cosa curiosa, el diccionario de euskera no está en esa página pero sí está en los repositorios, es concretamente aspell-eu-es.

En el README están claras las instrucciones, básicamente lo que tenemos que hacer es ejecutar el archivo de configuración en la carpeta y luego instalar el diccionario en sí. Es decir:

ondiz@slimbook101 ~/aspell6-es-1.9a-1/$ ./configure

Finding Dictionary file location ... /usr/local/lib/aspell
Finding Data file location ... /usr/local/share/aspell

Y a continuación:

make # montar el paquete
make install # instalar el paquete (necesité sudo)
make clean # hacer limpieza

Si todo ha ido bien deberíamos tener en /usr/lib/aspell/ el diccionario de español.

Configurar Emacs

Lo primero que tenemos que hacer es decirle a Emacs que el corrector ortográfico que queremos usar es Aspell. Para ello añadimos la siguiente línea al archivo de configuración:

(setq-default ispell-program-name "aspell")

Para probar si nos funcionan los diccionarios que hemos instalado, hacemos M-x ispell-change-dictionary y elegimos el diccionario que queramos. Cuando activemos el corrector, por ejemplo con M-x flyspell-mode debería marcarnos las palabras que están mal 🙂

Por último, si queremos establecer un diccionario por defecto, podemos añadir esta línea al archivo de configuración, con el idioma correspondiente:

(setq ispell-dictionary "castellano")

Para establecer el de español también podríamos haber puesto spanish o espanol, ya que los tres son alias del mismo diccionario.

Espero que os resulte útil, yo me he venido arriba y casi se me olvida comer1.

Más

Quijote Libre también habló de esto en Corregir ortografía en GNU Emacs.

Imagen via Mediachain Attribution Engine. Licencia CC0 (Dominio público).

  1. Igual también tiene que ver que estaba escuchando esto 

El trabajo

Vi este vídeo hace tiempo, tal vez hasta lo compartiera en el blog y hace poco me he vuelto a encontrar con él así que aquí vuelve. Sobre el trabajo:

Bonus 

Podéis encontrar otra visión bastante interesante sobre el trabajo en la peli Smoking room, os la recomiendo.

En qué ando: primera quincena de enero

He pensado escribir de manera periódica una entrada contando en qué ando metida. Así podéis haceros una idea de lo que aparecerá pronto en el blog y puedo dar un poco de contexto a todo lo que escribo, que es aleatorio, pero solo hasta cierto punto. Además me vale para hacer un resumen de lo que he aprendido y cómo puede aplicarse.

No he decidido aun cada cuánto escribiré, depende de lo que vaya surgiendo, le calculo que cada dos o tres semanas. Tranquilos, ya me centro.

Esta primera quincena de enero ha servido más que nada para ver cuánto camino he recorrido y cuánto me queda por recorrer. De este modo, repasé lo que hice durante el 2016 y establecí el futuro del blog para el 2017. Nunca está de más ver qué has conseguido, te ayuda a ser más optimista sobre el futuro.

En la parte más técnica, he estado jugando con el terminal. He aprendido a grabar demos con asciinema y script y ¡hasta he modificado un archivo en Vim! Todo esto ha venido de la mano de echarle una ojeada a Yokadi, la herramienta para gestionar listas de tareas de la que os hablé aquí. La verdad es que Vim me gustó bastante. ¿Tanto como para desbancar a Emacs? Todavía no os lo puedo decir, cuando aprenda algunas cosillas más haré una comparativa desde el punto de vista de un ingeniero de la piedra y el palo.

Aparte, he empezado a organizar los ficheros de lo que será el repositorio del Curso No Convencional de LaTeX. Entonces fue cuando desapareció la carpeta Documentos del ordenador y aunque en sí no perdí nada (gracias, git) me lió un poco y no pude acabar. Tengo la entrada de las ecuaciones casi escrita, solo le quedan unos ejemplos, pero parece que no hay manera de que me pueda centrar en ella.

Por otra parte, me estoy intentando poner con CSS cuando tengo tiempo, que no suele ser algo que me sobre. Como soy autodidacta al 100%, estoy investigando la aplicación Enki por mera curiosidad, ya os contaré a ver. También quiero recuperar mi aprendizaje de Haskell, que me encanta, lo que no sé es cómo encajarlo, ¡necesito un proyecto!

No sé si os habéis fijado, pero últimamente el blog tiene muchas más imágenes, antes me limitaba a poner fotos que yo misma hubiera sacado, ahora estoy buscando imágenes del dominio público o con licencia libre que pueda utilizar. De momento mi favorito es Libreshot, un banco de imágenes en el dominio público pero sigo al acecho. Creo que así el blog gana a la hora de leer.

Por último, estoy mejorando mi pan 100% integral, que el último que hice se quedó planurrio. Mi punto de partida es esta receta de Panarras (mis ídolos) que dio lugar a un pan bastante decente, pero que he de hacer mía.

Pues eso, damas y caballeros. Seguimos en las trincheras.


La imagen que ilustra este post pertenece al dominio público y ha sido obtenida de Libreshot

Compilación: escribir la tesis

Mientras preparo la siguiente entrada del Curso no convencional de LaTeX, he pensado juntar en una única entrada todo lo que he publicado sobre cómo he escrito la tesis. Si seguís este blog, sabéis que utilicé una combinación de Markdown y LaTeX, compilando luego con Pandoc. Ya que no puedo compartir el repo donde tengo la chicha de la tesis, tenía la idea al menos de crear un repo con la estructura, los documentos necesarios y tal para que si alguien quiere seguir mi camino lo tenga más fácil.

De momento aquí tenéis todo lo que he ido contando sobre el proceso.

Sobre el documento

Aquí hay entradas sobre el proceso de escribir en Markdown y compilar con Pandoc usando algunos filtros. Las primeras entradas tienen más de un año, así que la versión de Pandoc ha cambiado y yo he aprendido mucho más, pero vale como introducción (espero).

Sobre la presentación

Aquí están las entradas sobre la presentación, que hice en una mezcla de Markdown y Beamer, compilé con Pandoc y presenté con Pdfpc.

Todo esto debería releerlo, corregirlo y hacer un documento. Tal vez lo haga 🙂

Evidencia gráfica

A photo posted by Ondiz Zarraga (@ondiz_) on

Las locas aventuras de Ondiz pidiendo el paro. El desenlace.

Después de que la tía de Lanbide me dijera que me correspondía otra oficina, les escribí un correo a los de dicha oficina para ver si era cierto y preguntar si necesitaba cita. Solo me dijeron que no, no necesitaba cita e ignoraron mi otra pregunta. Por lo tanto, llamé a la centralita de Lanbide para que me aclarara el asunto. La chica que con la que hablé me dijo que en realidad me tenían que atender en cualquier oficina, pero que como algunas ponían pegas era preferible ir a la correspondiente según el código postal del domicilio que aparece en el DNI (o llevar el empadronamiento). Me resigné por lo tanto, a hacer la ruta turística e ir a una oficina de Lanbide a pedir el paro en el SEPE y transportarme a una segunda ofina de Lanbide (con SEPE también, curiosamente) a que me hicieran el CV.

Esta vez no había ningún problema (excepto que en la base de datos ponía que era un hombre…) y por fin me han apuntado para que cobre. Después de perder 3 mañanas, ni tan mal. He descubierto algo muy curioso y es que si te pones a currar puedes avisar por teléfono, pero si te vas al extranjero (aunque solo sea un día) tienes que avisar cuando vas y cuando vuelves en persona. Pidiendo La Cita, claro. He aprendido también más cosas sobre lo que pasa con el paro si vas al extranjero, mirad:

  • Si vas menos de 15 días naturales al año no pasa nada, avisas y ya está, pero cobras igual.

  • Si vas más de 15 días pero menos de 90, se te suspende el paro pero se reanuda a la vuelta.

  • Si vas más de 90 días pero menos de un año y lo puedes justificar (has ido a un curso…) es como el caso anterior, si no lo puedes justificar, lo pierdes.

  • Si vas más de un año pierdes el paro.

Muy interesante.

A continuación fui a la oficina de Lanbide a llevar los títulos para que me actualizasen el CV. Tiene su cosa esto, porque tú no puedes tocar tu CV y todo lo que te ponen lo tienes que demostrar. ¿Cuál es el problema? Que no aparece ninguno de los programas de ingeniería que yo uso y tampoco puedo añadir ninguna técnica experimental. De hecho, según el CV yo estoy buscando trabajo de ingeniera porque no existe una opción para poner investigador o algo semejante. Que ya tenía yo claro que Lanbide no me iba a encontrar curro y solo he ido porque es obligatorio, pero no me parece justo que a un sector de la población se nos niegue un servicio público. Es como si me dijeran tú como has estudiado te buscas la vida solita, pero vienes aquí a perder tiempo de vida porque me apetece, aunque no te vaya a ayudar en nada.

La parte buena del asunto es que la señora, muy maja ella, me ha dicho que me tenían que haber atendido en la otra oficina y que ella pondría una queja, que ese comportamiento es inadmisible. ¡Tenía  yo razón!

Pero como todo no va ser ganar, al llegar a casa he descubierto que tengo que presentar la queja en papel, ¡así que tengo que volver! Es una fiesta 🙂

Lo que he aprendido: grabando la terminal

Una cosa lleva a la otra y mostrar aquí cómo funciona Yokadi me hizo aprender a grabar lo que iba escribiendo en la terminal. Voy a hablaros de dos programillas:

Script

Script es una herramienta de UNIX que nos permite grabar una sesión de la terminal en un archivo que después podemos reproducir. Es muy fácil de utilizar, empezamos a grabar con script y paramos con exit o Ctrl+D. Si no le damos un nombre de archivo, creará uno llamado typescript:

ondiz@slimbook101:~$ script
Script iniciado; el fichero es typescript
ondiz@slimbook101:~$ echo 'Hola!'
Hola!
ondiz@slimbook101:~$ exit
Script terminado; el fichero es typescript
ondiz@slimbook101:~$ 

Para reproducir lo que hemos grabado usaremos el comando scriptreplay. Para ello necesitamos también el archivo de con los tiempos que generamos así con script:

script -t 2> tiempos

scriptreplay da por hecho que el archivo que tiene que leer se llama typescript (podemas darle otro tras -s) y solo necesita que especifiquemos el archivo con los tiempos:

scriptreplay tiempos

Esto nos repetirá lo que habíamos guardado.

Aquí tenéis su manual para que le deis caña.

Asciinema

Asciinema va un paso más allá y nos genera un vídeo en su web, que luego podemos compartir mediante la URL. Digamos que es como un gist de vídeo.
Si he entendido bien, lo que hace por dentro es grabar lo que vamos escribiendo en un archivo JSON (asciicast) que envía a la web y luego su reproductor interpreta. Este reproductor interpreta los códigos de escape ANSI, las secuencias con las que se controla el formato y movimiento en la terminal. Por ejemplo, si ve un \033[5A mueve el cursor hacia arriba cinco líneas y con \033[0;32m pone el texto de color verde1.

Vamos a ver cómo se usa. Como no lo tenía en los repositorios, lo instalé con pip3:

sudo pip3 install asciinema

Iniciamos la grabación con asciinema rec, nos mostrará este mensaje:

ondiz@slimbook101:~$ asciinema rec
~ Asciicast recording started.
~ Hit Ctrl-D or type "exit" to finish.

Paramos de grabar escribiendo exit o con Ctrl+D, al igual que script. Nos mostrará un mensaje explicando cómo hacer para subir la grabación a la web o matarla:

~ Asciicast recording finished.
~ Press  to upload,  to cancel.

Si le damos un nombre de archivo a asciinema rec, nos guardará el JSON, que tiene esta pinta.

Este archivo podemos reproducirlo en la terminal con asciinema play o subirlo a la web con asciinema upload.

Podéis leer más sobre asciinema en su documentación. Los frikazos hasta podéis hurgar en el código.

Espero que grabéis muchas cosas ahora 😀


  1. Tenéis una explicación mejor sobre los códigos de escape en el capítulo 13 – Customizing The Prompt de The Linux command line