Javier Valencia Javier Valencia

Blog personal de Javier Valencia

Gema de rubí facetada sobre fondo claro, reflejando en cada cara el logotipo difuminado de un proveedor de inteligencia artificial distinto

RubyLLM: una sola interfaz para todos los modelos

18 de septiembre de 2026 · 11 min de lectura · 2 visitas

Hace unas semanas abrí un fichero que escribí yo mismo hace año y medio y sentí la necesidad de pedirme perdón. Se llamaba lib/llm/stream_normalizer.rb, tenía ciento y pico líneas, un case de tres ramas y un comentario en mayúsculas que decía «OJO: aquí el delta viene en otro sitio». Debajo, cuatro ficheros hermanos: un cliente por proveedor, cada uno con su forma de montar los mensajes, su manera de emitir chunks y su dialecto propio para declarar herramientas. Todo funcionaba. Todo era mío. Y todo estaba envejeciendo a una velocidad que daba vértigo. Esa carpeta es el motivo por el...

Leer más →
Reproductor de música de escritorio minimalista con una onda de sonido, junto a un engranaje oxidado sobre fondo claro

Fastpotify: un cliente de Spotify en Rust y sin navegador dentro

17 de septiembre de 2026 · 11 min de lectura · 7 visitas

Hay una línea en el repositorio Debian de Spotify que cuenta toda la historia mejor de lo que voy a contarla yo. Es el campo Depends del paquete spotify-client, y dice esto: Mira libgbm1. Mira libnss3. Mira libxshmfence1. Esas no son las dependencias de un reproductor de música: son las dependencias de Chromium. Gestión de búferes de GPU para compositar, la pila criptográfica de Mozilla que usa el navegador de Google, primitivas de sincronización de memoria compartida entre procesos de render. Lo que instalas cuando instalas Spotify en Debian no es un reproductor. Es un navegador que, entre otras cosas,...

Gema facetada en rojo rubí profundo junto al número de versión 4.0, cierre de la serie de novedades de Ruby

Ruby 4.0: el salto de versión, Ruby::Box y ZJIT

16 de septiembre de 2026 · 5 min de lectura · 12 visitas

Sexta y última entrega de la serie Novedades de Ruby. Tiempo de lectura estimado: 7 minutos. El 25 de diciembre de 2025 no salió Ruby 3.5. Salió Ruby 4.0. El número coincidió con una fecha redonda: treinta años desde aquel Ruby 0.95 de diciembre de 1995, y el equipo decidió que el aniversario, junto con las dos grandes novedades del ciclo, merecía saltar de versión mayor. Escribo esto en agosto de 2026, con ocho meses de 4.0 rodando, y este post cierra la serie: toca contar qué trae, qué promete y qué arco hemos recorrido desde el primer post. Por...

Ilustración minimalista sobre fondo claro con una escalera de peldaños grises que se corta y da paso a un único salto largo trazado en color terracota

«10x es más fácil que 2x»: simple no es fácil

15 de septiembre de 2026 · 20 min de lectura · 18 visitas

Hace cuatro años me senté un domingo por la tarde con una hoja de cálculo abierta y el propósito muy serio de duplicar la facturación. Salieron veintidós ideas. Subir tarifas un quince por ciento. Empaquetar como producto la parte de aprovisionamiento que ya tenía medio hecha. Ir a dos ferias. Meter un plan de soporte gestionado. Contratar a alguien de comercial a media jornada. Escribir en LinkedIn dos veces por semana. Todas razonables. Todas ejecutables. Ninguna estúpida. Dos años después facturaba prácticamente lo mismo y trabajaba bastantes más horas. El problema no fue ninguna de las veintidós. El problema fue...

Gema facetada en rojo rubí junto al número de versión 3.4, portada de la serie de novedades de Ruby

Novedades de Ruby 3.4: it, Prism por defecto y el GC modular

14 de septiembre de 2026 · 5 min de lectura · 18 visitas

Quinta entrega de la serie Novedades de Ruby. Tiempo de lectura estimado: 6 minutos. Ruby 3.4 salió, como manda la tradición, el 25 de diciembre de 2024. Escribo esto en agosto de 2026, con veinte meses de perspectiva y varias aplicaciones Rails corriendo sobre ella en producción, así que puedo decirlo con tranquilidad: fue la actualización menos dramática de toda la serie 3.x. Y eso, que suena a poco, es exactamente lo que la convierte en una gran versión. 3.4 no vino a deslumbrar; vino a consolidar. Cambió el parser, empezó a descongelar (o más bien a congelar) un debate...