En defensa de SQLite

Minientrada

Recientemente en Ruby on Rails incorporaron un cambio que genera un aviso al arrancar la aplicación en modo producción si el driver de base de datos que está configurado es el de SQLite. El aviso se puede desactivar cambiando un flag de configuración en el production.rb para confirmar que no es un accidente, sino una decisión.

You are running SQLite in production, this is generally not recommended.

Debo romper una lanza a favor de SQLite. Tiene sus issues, claro está, pero muchos de ellos pueden entenderse si se lee la documentación técnica.

Por ejemplo, si nunca te has leído su guía sobre tipos de datos y afinidad de columnas probablemente te sorprenda lo blando que es para validar los tipos de datos durante el INSERT (puedes guardar enteros en columnas creadas como VARCHAR, y viceversa).

No vale para todo, pero lo he visto muchas veces en producción en circunstancias en las que tiene sentido que esté en producción, y si está justificado, seguiré defendiéndolo con fuerza como alternativa ligera.

¿Qué hacemos cuando hay conflicto en el Gemfile.lock?

Minientrada

Pues esta es fácil pero como todo en Git nunca aparente. Va a pasar cuando haga cambios al Gemfile en dos ramas a la vez.

git checkout HEAD -- Gemfile.lock

Esto es para traerme el Gemfile.lock que había antes de obtener mi conflicto. Lo importante es que podemos confirmar con un git status que se preserva el Gemfile, así que los cambios en las versiones o librerías siguen ahí.

Si he metido o quitado una dependencia del Gemfile, ahora ejecuto bundle para que se descargue o se retire del lock por encima de la última versión que había en la rama en la que estoy intentando hacer el merge.

Si he actualizado la versión de una dependencia del Gemfile, ahora ejecuto bundle update para que se vuelva a reflejar ese cambio en el lock por encima de la última versión que había en la rama en la que estoy intentando hacer el merge.

La caída de Freenode

Minientrada

Veo estos días la caída de Freenode como quien ve la caída del imperio romano. Cuando empecé a programar, Freenode era el lugar en el que todo proyecto abierto que se precie debía participar. Hoy muchos proyectos ya no están en IRC: migraron a Matrix, Discord o Slack, y los que aún quedan, huyen estos días de FreeNode como gacelas ante los leones.

Nunca me gustó la interfaz de IRC. Siempre tuve miedo de equivocarme y mandarle un mensaje privado a alguien con mi contraseña intentándome comunicar con NickServ. Los modos, las contraseñas en plano, ChanServ. Admito que IRC es de las pocas tecnologías «clásicas» que menos pena me da que desaparezcan.

Portapapeles del sistema y VIM

Minientrada

El registro de Vim + (PLUS) interactúa con el portapapeles del sistema operativo (el que te permite luego hacer Ctrl-V en otra aplicación).

Si hago un yank en Vim poniendo "+ primero (por ejemplo, "+yy para copiar una línea o una selección visual), luego puedo pegarlo en otra aplicación gráfica de macOS con Cmd+V. Es bidireccional, así que puedo pegar del portapapeles del sistema si he copiado de otra app con "+p.

Hasta ahora utilizaba el modo selección y luego ejecutaba !pbcopy para enviarle mi buffer a pbcopy (un comando de terminal de macOS que envía su stdin al portapapeles), pero esto es más cómodo y no me borra el buffer.

El RSS se quiere poner de moda

Enlace

Google tiene planes para integrar un lector RSS en Google Chrome. Podría ser interesante para ver si se pone de moda RSS otra vez. O al menos que los sitios vuelvan a señalizar con la etiqueta de descubrimiento para que los que usamos extensiones podamos capturar el feed.

Hubo una época en la que los navegadores tenían lectores RSS integrados. Internet Explorer, Firefox, hasta Safari. Poco a poco fueron perdiendo esta funcionalidad, siendo Firefox el último en traicionar eliminando los marcadores dinámicos y el botón RSS.