thumbnail-maker

thumbnail-maker es un port a HTML5 de mi template para crear miniaturas para los vídeos de makigas. Esta primera versión hace l justo y lo necesario para poder generar sobre la marcha miniaturas PNG de alta calidad usando el navegador web y save-svg-as-png.

Parece que a raíz de emitir en directo su desarrollo por Twitch han empezado a aparecer parodias de mis miniaturas por el canal del servidor de Discord… 🥲

Sobre FLoC

Mozilla pareció anunciar la semana pasada su oposición a implementar FLoC, la nueva solución propuesta por Google para su nuevo adtech de vigilancia. Mandaría cojones que uno de los navegadores que más tarda en implementar cualquier estandar nuevo y legítimo de repente le diese alta prioridad a esta pantomima.

Es un ejercicio de optimismo el cruzar los dedos y esperar que FLoC fracase. Blink ya tiene virtualmente el monopolio de navegadores tan asumido que se ha vuelto lo normal ver ingenieros de Google convertir los RFC de nuevos estándares web en la documentación de su roadmap. El resto de navegadores está por el momento en contra y algunas plataformas como WordPress parece que han anunciado que también van a oponerse por defecto. 🤞

Apagar FLoC es tan sencillo como modificar la configuración del servidor para incluir la siguiente cabecera en la request: permissions-policy: interest-cohort=().

Case-sensitivity y HFS+ (macOS)

Un archivo TypeScript con el siguiente código fuente compila en mi ordenador:

import Member from "../../Member";

Sin embargo, mi código de CI de GitHub Actions falló con el siguiente mensaje de error:

Error: src/lib/http/middlewares/member.ts(6,20): error TS2307: Cannot find module '../../Member' or its corresponding type declarations.

Después de darle un par de vueltas, el veredicto es que, como por defecto el sistema de archivos de macOS no diferencia entre mayúsculas y minúsculas, en macOS, import Member from "../../member" e import Member from "../../Member" son equivalentes. GitHub Actions por defecto utiliza GNU/Linux, donde sí se diferencia por defecto entre mayúsculas y minúsculas, así que no lo tiene tan claro.

Ugh. Lo peor es que hay software para macOS que espera que el sistema operativo no sea case-sensitive y que puede dar problemas si el disco duro en el que se instala macOS se configura para sí diferenciar mayúsculas de minúsculas.

Títulos

Mi problema no es escribir en un blog. Me gustaría contar cualquier chorrada que de otro modo tendría que contar en una red social; ocupe tres párrafos o tres líneas. El problema está en que lo primero que me va a pedir la interfaz de edición es el título que le quiero dar a mi publicación. Soy malísimo escogiendo títulos, y con razón: ¿cómo debo seleccionar un título para una reflexión de tres frases?

Y no, no es un problema de WordPress porque tus generadores de blog estáticos también están orientados a entradas de blog con título. Tenemos trampas: podemos esconderlos. Pero son solo eso: trampas.

Twitch y product placement

Últimamente consumo más contenido en streaming por Twitch. Rellena acústicamente mientras trabajo o hago otras cosas. No necesito prestarle atención, solo necesito que esté ahí.

Pero no puedo evitar advertir que Twitch tiene algunas carencias graves en algunos aspectos, y uno de ellos es el de declarar el product placement.

Hace unas semanas, Tom Scott publicaba un vídeo que roza la obra maestra donde se cuestiona por qué se han fabricado leyes adhoc a plataformas como Instagram o YouTube, en las que se exige a influencers que declaren en la descripción o en el vídeo que su contenido tiene contenido promocional. Estas leyes no afectan a televisión, cine y música.

En Twitch, bastantes canales de gaming tienen logos en pantalla de marcas que se van alternando, de fabricantes de componentes de ordenadores, tarjetas gráficas, bebidas energéticas… A veces alguna referencia a alguno de estos patrocinadores… y aunque a título personal a mi me da igual, y en el fondo estoy de acuerdo con Tom en que es absurdo legislar exclusivamente el área online mientras se hace la vista gorda con otros sectores que también mueven dinero, pero me pregunto cuánto tardarán en legislar Twitch también.

Downgradeando a macOS Mojave

Después de hacer una balanza de beneficios vs incompatibilidades, estoy haciendo rollback a mi ordenador portátil para dejar de usar macOS Big Sur. En vez de volver a macOS Catalina, que sería la versión inmediatamente anterior a la Big Sur, voy a volver a macOS Mojave. En el fondo Catalina nunca funcionó bien, mientras que macOS Mojave sí funcionaba bien.

Algunos de los problemas que me encuentro usando macOS Big Sur en mi MacBook Pro de 2014; viejo pero que intenta dar todavía:

  • Lentitud general de toda la interfaz de usuario y de las aplicaciones principales del sistema operativo. También al levantar la tapa y sacarlo del modo sueño tarda bastante en pedirme la contraseña.
  • Entiendo que en nombre de la seguridad me pida algunas confirmaciones o me intente impedir que haga ciertas cosas avanzadas de vez en cuando. Sin embargo, cuando el sistema de seguridad pone la zancadilla cada dos por tres y cuando ya estás acostumbrado a hacer clic derecho + Abrir en vez de doble clic para abrir aplicaciones y lo haces mecánicamente, igual es que algo no va bien.
  • El proceso kernel_task escribe en disco una cantidad absurda de bytes, y temo que esté haciendo daño a mi SSD. Aquí una captura de pantalla teniendo un uptime del sistema de 20 minutos.
Monitor de actividad.

La interfaz de usuario es cuca, debo admitirlo. Normalmente soy muy crítico con los cambios hechos en las interfaces de usuario y suelo tratar estos cambios como regresiones, pero el diseño estético de macOS Big Sur me gusta. Una pena que lo haga a cambio de comprometer el rendimiento del sistema. Funciones como «Tintar las ventanas con el color del fondo de escritorio» noto que hacen que vaya todo aún más lento de lo que debería.

Incompatibilidades que me voy a encontrar al bajar a Mojave:

  • Recordatorios para iCloud no funcionará, ya que cambió el formato con el que se sincronizan en macOS Catalina. Como uso Recordatorios vía CalDAV a través de Fastmail, no será un problema.
  • Probablemente Pages, Keynote y Numbers funcionen raro, ya que las últimas versiones de ese software requieren mínimo Catalina. Como prácticamente mi portátil se ha convertido en una máquina de grabación y edición de vídeo y a veces de programación, no espero notarlo demasiado. Donde hoy en día uso Keynote, Pages y Numbers es en mi iPad de todos modos.
  • iTunes. Sigue funcionando, porque en Windows también existe iTunes todavía, pero probablemente Apple Music no funcione para siempre.

Sorprendentemente, aunque macOS Mojave ha desaparecido del buscador de la AppStore y de la lista de aplicaciones compradas, se puede encontrar el enlace en el sitio web de Apple, ya que tienen un artículo dedicado a descargar versiones viejas de macOS y MacOS X. 🤔

Una vez se descarga a través del sistema de actualizaciones, te avisa de que no puede ejecutar automáticamente lo que ha descargado porque los downgrades no están soportados oficialmente, pero en la carpeta Aplicaciones queda la descarga igualmente.

Para crear un pendrive booteable, se pueden seguir las instrucciones que también están en el sitio web de Apple. Esencialmente pasa por formatear un pendrive de tal modo que se pueda montar desde el sistema operativo (la guía pide formatealo como HFS+, MacOS Extended, pero yo lo he formateado como MS-DOS), y luego desde la terminal ejecutar:

sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

Cambiando /Volumes/MyVolume por el nombre del volumen, como podría ser /Volumes/Dani o /Volumes/TDK.

Por supuesto hay que hacer backup antes de los archivos, cosa que en mi caso es fácil gracias a que tengo pocos archivos en el sistema de todos modos. No he utilizado mucho este ordenador portátil para cacharrear desde que instale Big Sur en noviembre, de todos modos y el resto está en la nube, por lo que mi backup local se limita a mis claves SSH, la carpeta con mis repos, y hacer git push de mis dotfiles y de mi vimrc.

Con el pendrive grabado, se reinicia el ordenador manteniendo pulsada la tecla ALT para que salte el cargador de arranque extendido y en el menú se elige la unidad USB conectada. A partir de ahí, a instalar.

¿Alguna vez dejamos de estar en guerra con el Excel?

Piénsalo. En muchas ocasiones, tu trabajo como desarrollador consiste en crear software que resuelva problemas mejor que lo que puede hacerlo una hoja llena de fórmulas en Microsoft Excel.

(Corolario: un sistema informático nunca está completo hasta que no tiene un botón para descargar una snapshot de los datos cargados en él como CSV.)

Organizar los e-mails de GitHub

Pude poner orden hoy en la carpeta de archivo en la que normalmente vuelco todos los e-mails de notificaciones de GitHub una vez los he procesado, y que estaba empezando a acumular un tamaño no poco considerable. (Sobre por qué archivo todo en vez de eliminar algunos tipos de notificaciones, es otro asunto.)

En las notificaciones que tienen que ver con un repositorio (como un issue, un PR o una release), GitHub rellena la cabecera List-Id con el identificador del repositorio del que procede. List-Id es una cabecera estandar que la mayoría de clientes de correo usa para reconocer listas. En el caso de GitHub, la List-Id de un repositorio es <repo>.<user>.github.com.

De modo que con un poco de análisis, he podido organizar automáticamente por carpetas todas las notificaciones, para que las notificaciones de makigas/clank (cuya List-Id será clank.makigas.github.com) vayan a Archivo/github.com/makigas/clank, o las del repositorio danirod/rectball vayan a Archivo/github.com/danirod/rectball.

Un par de filtros automáticos se van a asegurar de que futuras notificaciones vayan directamente a esas carpetas, ya que normalmente las notificaciones llegan en momentos en los que no les puedo dedicar tiempo y luego es complicado escarbar mi bandeja de correo para localizar todos estos correos cuando sí tengo tiempo de ponerme con ello.

Un exceso de newsletters

Twitter anunció la compra de Revue, y ha pasado a modo gratuito buena parte del servicio, bajando también los costes de la versión premium. ¿Que qué es Revue? Una alternativa a Substack.

Ya he hablado sobre estas cosas. Las newsletters en sí no están mal como alternativa a las redes sociales, pero resulta complicado de gestionar todo lo que se recibe a larga escala. Pueden quedarse en la bandeja de entrada esperando días su momento de ser leídas, pero mi experiencia haciendo esto es que al final elimino de golpe 10-15 e-mails una vez por semana. Aparte, le veo varios problemas:

  • No es anónimo, porque tengo que dar mi e-mail para formar parte de una lista.
  • No es gratis para quien publica, porque muchos proveedores cobran cuotas por tener más de un determinado número de suscriptores en esa lista. Esto quita voces interesantes que podrían crear una newsletter y no lo hacen porque hay que pagar, o provoca que algunas newsletters busquen estrategias de monetización (esperemos que sin involucrar hacer cosas feas con la lista de e-mails).
  • Algunas newsletters se han “desuscrito” de mí automáticamente simplemente porque, como mi e-mail lo leo en modo texto plano, no puedo descargar y ver los pixel beacons, por lo que cuento en sus listas como un seguidor inactivo.

Mis recuerdos de Endomondo

Vengo de solicitar en la web de Endomondo un ZIP con todos mis entrenamientos cargados en la plataforma.

Endomondo dejó de estar disponible el 31 de diciembre de 2020 y los usuarios que tuviesen entrenamientos cargados tienen 3 meses para solicitar un ZIP con sus datos antes de que se eliminen permantentemente el 31 de marzo de 2021.

En la época de las aplicaciones de seguimiento de carrera por el GPS del móvil, Endomondo fue la primera satisfactoria que probé y con la que empecé a despegar. La empecé a usar cuando le pillé los ritmos a correr después de estar usando un par de semanas Adidas MiCoach, cuando más que centrarme en distancias y tiempos me centraba en entender ritmos (más deprisa, más despacio…)

Eventualmente, Endomondo empezó a funcionar mal, a la vez que Runtastic se empezó a poner de moda debido a la integración con Facebook y el poder mostrar mapas, y poco más se pudo hacer. El cambio fue inevitable. Que UnderArmour comprase Endomondo para integrarla en su portafolio de apps y luego empezar a hacer experimentos raros no ayudó a mejorarla.

Pantallazo de Endomondo
Pantallazo de Endomondo en Google Play. Probablemente en algún backup tenga mis propias capturas de pantalla de Endomondo, pero tendría que buscarlo.