Navegar
Mapa del sitio
Índice completo de páginas, artículos y secciones del sitio.
Páginas
Explorar
Relatos
Artículos
2026
- Cómo calcular el tiempo entre dos fechas en JavaScript
- Osakidetza se va a WhatsApp y nadie parece verle el problema
- El fin del mérito: de Duchamp a Trump pasando por Bad Bunny
- Un año en el cajón de sastre
- Una sala de espera, dos androides y una pregunta incómoda
- Adiós, Repsol: cómo perder un cliente sin bajar la calidad del servicio
- El día que desinstalé Instagram (y por qué tardé tanto)
- La lógica difusa: cuando el mundo no es blanco ni negro
- El cuarto de máquinas de este blog
- El día que vi un gnomo
- La web indie y sus canas: ¿quién cuida el blog personal en 2026?
- Cómo programar el juego Picas y Fijas desde cero
- Alexa, para. Solo quiero que me apagues la luz.
- Cómo construir un conversor de Markdown a HTML que funcione en el navegador
- Un experimento: mi primer relato de ciencia ficción
- Treinta años de Entre Ánimas, el disco que me rompió los esquemas
- Por qué la web de 2005 era más tuya que la de hoy
- La insignia que se compra
- La ciudad que sí ha pensado en ti (y el vecino que no)
- Cuando el gusto personal choca con la accesibilidad web
- Leyendecker: un genio escondido a plena vista
- La patinadora entera no cabe
- Flash Gordon, la película que el tiempo se tragó sin avisar
- Cómo programar el juego de Tetris desde cero
- Autónomo societario: la trampa perfecta del sistema
- Cómo validar un NIF español en un formulario web (con CIF incluido)
- LQIP en Lume: placeholders inline generados en build
- Cómo programar el juego de ladrillos desde cero
- Cómo validar un código IBAN en un formulario web
- La España que exportaba videojuegos
- Cómo construir una herramienta de armonías de color con JavaScript
- Venus Marítima, el relato que me voló la cabeza
- Cómo programar el juego de la serpiente desde cero
- Cuando tu herramienta favorita cambia de rumbo
- Cómo validar un DNI, NIE o Pasaporte en un formulario web
- El contenedor sellado
- Imágenes Open Graph automáticas con Lume
- Construí una app con IA sin saber programar y gano 10.000 dólares al mes (y tú también puedes)
- Lo que Metro Bilbao no ha pensado sobre la dependencia
- La pequeña estafa cotidiana del pago con tarjeta
- Mataora: la obra de arte que el Benidorm Fest 2026 no supo premiar
- Un sistema de layout con CSS Grid y columnas nombradas
- La fuga de Logan y nuestra fecha de caducidad
- Cómo programar el juego de parejas desde cero
- La baldosa de Bilbao: sesenta millones de flores bajo los pies
- Cómo envejecer en un oficio que nunca había envejecido
- Lo que aprendí construyendo un plugin de accesibilidad para Divi
- Las tecnologías que marcaron la web (vistas desde dentro)
- Cómo programar Pong desde cero
2025
- Tom of Finland: de la clandestinidad al sello postal
- El último logo de Webspecialista
- Cómo programar el juego 2048 desde cero
- Los nueve billones de nombres de Dios: el relato que no me abandona
- Volver a programar el juego que programé a los dieciséis
- Educar al cliente es parte del trabajo
- Mi primer juego, treinta y cinco años después
- Por qué creo que las versiones nuevas de la bandera LGTBIQ+ son un error
- Por qué Superman sigue siendo mi superhéroe favorito
- Escribir como parte del oficio
- WordPress: la democratización que trajo un problema
- Gu Ta Gutarrak, un cuento sobre el origen de los baskos
- Reflexionando sobre el valor de una termistancia
- Boris Vallejo: de Conan al Minage
- El mito de 'saber hacer webs'
- El blog gay que casi escribí
- Diseñar para la web es diseñar para la incertidumbre
- Mi peor logo, quince años después
- Tres mil fotos en una página: el problema del DOM y cómo lo resuelve pig.js
- Qué es el movimiento IndieWeb
- 45 plugins, 12 GB y una web que pedía socorro
- La velocidad es una funcionalidad
- Diseñador web y desarrollador web no son lo mismo
- Cada junio me piden lo mismo
- Momentos aleatorios compartidos en redes sociales
- Por qué este blog se llama Paigar
- He visto cosas que vosotros no creeríais
- Sobre mí