danirod

Actualizaciones - page 3

Salir del modo terminal de neovim

Nota para el danirod del futuro:

Cuando en neovim entres en el modo terminal en un split que apunte a una terminal (:terminal), puedes salir usando la combinación de teclas <C-\><C-n>. O dicho de otro modo, Ctrl-\ Ctrl-n.

Fuente: https://vi.stackexchange.com/questions/4919/exit-from-terminal-mode-in-neovim

Por fin tengo hecho un pequeño script que me automatiza la escritura de actualizaciones de estado en el blog.

Hace falta entender que danirod.es de momento sigue estando hecho en Jekyll, así que estas breves actualizaciones de estado que publico ahora siguen siendo posts regulares de Jekyll con su frontmatter, su campo date, y toda esa cosa, y hasta ahora tenía que hacerlos a mano.

Un pequeño script hecho con JavaScript que procesa una template Nunjucks y que me rellena automáticamente todo para que yo sólo tenga que ocuparme de escribir el texto, es todo lo que pido por el momento.

Me sigue haciendo falta conectarme por SSH para escribir posts desde el móvil o la tablet cuando estoy fuera de casa, pero por el momento menos da una piedra.

Intentando tomar notas a mano de las cosas que me encuentro en el trabajo en un cuaderno, por ejemplo bugs que resuelvo, o flujos de pensamiento o de trabajo.

Sin intentar faltarme a mí mismo, practicar la escritura es una cosa importante, y considero que hay que poder practicarlo siempre que sea posible, aunque sea para las cosas más mundanas.

No perdamos el hábito de escribir.

Flexiones
46 lagartijas
Duración
00:10:19 min
Calorías
42 kcal

Lo guay de un blog es que puedes contar cosas que no caben en un tweet. Páginas escritas últimamente:

⏱ Qué estoy haciendo ahora: danirod.es/now
💻 Con qué grabo: danirod.es/equipo
🎒 Qué llevo en la mochila: danirod.es/edc

Duración
00:51:30 min
Distancia
10.03 km
Calorías
723 kcal
Ritmo de vuelta
05:08 min/km

Control de versiones en dpkg

Es demasiado fácil perder el control sobre los paquetes instalados a través de un gestor de paquetes, sobre todo cuando esos paquetes tienen dependencias. Para evitar esto, la última vez que tuve que resetear mi workstation (equipada con Debian), hice un sistema para asegurar que tengo una manera de controlar qué paquetes entran y salen de mi ordenador.

En un directorio aislado del sistema creé un repositorio de Git. Después, fabriqué un script que cuando es llamado, vuelca la lista de paquetes instalados en un archivo dentro de ese repo y hace commit:

#!/bin/sh

cd /backups/dpkg
dpkg --get-selections > /backups/dpkg/selections.lst
git commit -am "Updating selection list after dpkg change"

Cada vez que se llame este script, si ha habido cambios en los paquetes instalados (no en sus versiones), se actualizará el archivo selections.lst y se hará un commit. Si no ha habido cambios, dirá nothing to commit, working tree clean, y ya.

Para que todo funcione como un reloj, configuré el script como un hook en apt. Creé un archivo en /etc/apt/apt.conf.d/06dpkghook con el siguiente contenido:

Dpkg::Post-Invoke { "if [ -x /sbin/dpkg-hook ]; then /sbin/dpkg-hook; fi" ; };

Un poco más complejo de lo que me gustaría, pero me venía bien controlar errores en este script. Aun así, como el código de retorno de git commit cuando no hay cambios es 1, y como mi script Bash no trata ese caso con un || return 0, a veces apt muestra mensajes de error un poco peculiares cuando hago un apt upgrade y no cambia la lista de paquetes instalados. Llevo 6 meses diciendo que tengo que editar el script, y aquí sigo.

No obstante, en general funciona que es una maravilla, y ya me ha permitido alguna vez detectar dependencias que no se eliminan bien al quitar el paquete que depende en ellas, o hacer rollbacks al instalar paquetes que causan problemas de estabilidad en mi workstation.

Captura de pantalla de tig
El repositorio con mis paquetes visualizado en tig.

Tengo pendiente portarlo a otros gestores de paquete, porque Homebrew en mi portátil personal es todavía más guarro con el tema dependencias y estoy harto de me cueste la vida hacer limpieza por no saber qué paquetes son dependencias y cuáles no.

Un selfie.

No obstante, tengo que hacer la compra, y sería igual de osado no aprovechar la situación para sacar el outfit primavera-verano. Testimonio gráfico porque la gente luego no me cree.

Un termómetro marca 25ºC.

Tener este tiempo un 22 de febrero me parece ligeramente osado.

Duración
56:43 min
Distancia
10.02 km
Calorías
690 kcal
Ritmo de vuelta
05:40 min/km