Artículos técnicos
Artículos técnicos sobre JavaScript, ciberseguridad y herramientas web. Sin relleno.
Animaciones CSS a 60 fps: transform, opacity y las reglas del rendimiento
Por qué animar width o top destroza el rendimiento y transform/opacity no: el pipeline de render, will-change, composición GPU y prefers-reduced-motion.
La caché HTTP explicada: Cache-Control, ETag y stale-while-revalidate
Cómo funciona la caché HTTP de verdad: max-age, s-maxage, ETag vs Last-Modified, validación 304, stale-while-revalidate y las cabeceras que debes dominar.
Cómo funciona un código QR por dentro: módulos, máscaras y corrección de errores
La ingeniería del código QR: estructura de módulos, finder patterns, versiones, corrección Reed-Solomon que permite leerlos rotos y por qué hay 8 máscaras.
Qué es una CDN y cómo acelera tu web hasta desde otro continente
Cómo funciona una CDN: edge locations, caché en el borde, TLS terminado cerca del usuario, protección DDoS y cuándo tu web necesita una de verdad.
Dark mode con variables CSS: theming completo sin duplicar estilos
Cómo implementar modo oscuro profesional: custom properties como tokens, prefers-color-scheme, toggle manual con data-attribute y transición sin flash.
Estrategias de deploy: rolling, blue-green y canary sin sustos
Cómo desplegar sin downtime ni sobresaltos: rolling updates, blue-green, canary releases, feature flags y el rolloback que nunca practicaste.
Gestión de secretos: cómo no filtrar API keys, .env ni tokens
Dónde viven los secretos de un proyecto y cómo protegerlos: variables de entorno, .env en gitignore, rotación tras filtración y gestores de secretos.
Git rebase vs merge: cuál usar y los flujos de ramas que funcionan
Cuándo hacer merge y cuándo rebase, cómo resolver conflictos sin pánico, interactive rebase para limpiar historial y qué flujos de ramas usar según equipo.
Índices de PostgreSQL explicados: EXPLAIN, B-tree y el infierno del N+1
Por qué tu consulta tarda 3 segundos: cómo funcionan los índices B-tree, leer EXPLAIN ANALYZE, el problema N+1 de los ORM y cuándo un índice no sirve.
JOIN de SQL explicados: INNER, LEFT, RIGHT y FULL con ejemplos claros
Los cuatro joins fundamentales con tablas de ejemplo reales: qué devuelve cada uno, cómo se combinan con WHERE, self-joins y los errores clásicos.
Passkeys y WebAuthn: el fin de las contraseñas explicado
Cómo funcionan las passkeys: criptografía de clave pública FIDO2, por qué no se pueden phishear, sincronización entre dispositivos y cómo implementarlas.
Permisos Linux avanzados: setuid, sticky bit y umask explicados
Más allá del octal rwx: bits especiales setuid/setgid/sticky bit, cómo funciona umask, permisos por defecto y los casos reales donde cada uno importa.
Redes Docker explicadas: bridge, host, puertos y comunicación entre contenedores
Cómo se comunican los contenedores: red bridge por defecto, redes custom con DNS interno, host network, publicar puertos bien y diagnosticar conectividad.
Schema.org y JSON-LD explicados: los datos estructurados que Google premia
Qué son los datos estructurados: tipos de schema, JSON-LD paso a paso, rich results reales, validación y los errores que desperdician tu SEO.
Vigila tu web gratis: uptime, certificados, dominios y alertas antes del desastre
Cómo saber si tu web está caída antes que tus usuarios: monitores de uptime, healthchecks, alertas de certificados y dominios, y status pages.
Accesibilidad web esencial: WCAG en la práctica sin morir en el intento
Los fundamentos de accesibilidad web que más impacto tienen: HTML semántico, teclado, contraste, ARIA cuando toca y cómo auditar tu sitio gratis.
Códecs de vídeo explicados: H.264, H.265, VP9 y AV1 sin jerga innecesaria
Cómo funciona la compresión de vídeo: keyframes, predicción inter/intra, por qué AV1 pesa la mitad que H.264 y qué códec usar para web en 2026.
Diseño de APIs REST: las convenciones que separan una buena API de un desastre
Recursos, verbos, códigos de estado, versionado, paginación e idempotencia: guía práctica para diseñar APIs REST coherentes que otros disfruten consumir.
OAuth 2.0 y OpenID Connect explicados: los flujos que de verdad usas
Cómo funciona el login con Google o GitHub: diferencia entre OAuth2 y OIDC, authorization code flow con PKCE, tokens, scopes y los errores de implementación.
Qué pasa cuando escribes una URL y pulsas Enter: el viaje completo
El recorrido completo de una petición web: DNS, TCP, TLS, HTTP, renderizado del navegador. Todas las capas explicadas en orden, sin saltos.
XSS explicado: cómo funciona el ataque y cómo bloquearlo con CSP
Cross-Site Scripting de principio a fin: tipos de XSS, ejemplos reales de inyección, sanitización, cookies HttpOnly y la Content Security Policy bien configurada.
Cifrado de extremo a extremo: qué es E2EE y qué protege de verdad
Cómo funciona el cifrado extremo a extremo: diferencia con HTTPS, intercambio de claves Diffie-Hellman, doble ratchet de Signal y qué NO protege.
Cómo funciona la compresión de imágenes: DCT, cuantización y DEFLATE
Por dentro de JPEG, PNG y WebP: transformada DCT, cuantización, predicción y entropía. Entenderás por qué unas pérdidas se ven y otras no.
Cómo funciona un PDF por dentro: objetos, xref y por qué pesa lo que pesa
La estructura interna de un PDF: header, body, xref table, streams comprimidos y fuentes embebidas. Entenderás por qué algunos PDFs pesan 100 KB y otros 50 MB.
Cómo se guardan las contraseñas en un servidor: salt, bcrypt y Argon2
Lo que debe pasarle a tu contraseña dentro del servidor: por qué nunca se guarda tal cual, cómo funcionan salt, pepper, bcrypt y Argon2id, y los errores clásicos.
Espacios de color explicados: sRGB, P3, gamma y por qué tus colores cambian
Por qué un color se ve distinto en cada pantalla: gamuts, espacios sRGB y Display P3, gamma y transferencia, y cómo definir colores correctamente en CSS.
Backups 3-2-1: la estrategia de copias verificadas con SHA-256
Cómo diseñar un sistema de backups que funcione de verdad: regla 3-2-1, automatización, verificación de integridad con hashes y pruebas de restauración.
Gzip y Brotli: cómo funciona la compresión HTTP y cómo activarla
La compresión HTTP explicada: LZ77, Huffman, ventanas de Brotli, niveles de compresión, qué comprimir y qué no, y configuración en Nginx y CDN.
JSON vs YAML vs TOML: qué formato de configuración elegir
Comparativa técnica de los tres formatos dominantes: sintaxis, trampas de cada uno, soporte en herramientas y cuándo usar JSON, YAML o TOML.
Regex avanzado: lookarounds, grupos y el backtracking catastrófico
Más allá de lo básico en expresiones regulares: lookahead y lookbehind, referencias hacia atrás, grupos con nombre y cómo evitar el backtracking catastrófico.
Túneles SSH: port forwarding local, remoto y dinámico explicados
Cómo funcionan los túneles SSH: forwarding local y remoto, proxy SOCKS dinámico, casos de uso reales y las opciones que evitan errores comunes.
Audio digital explicado: sample rate, bits y códecs sin humo
Qué significa 44.1 kHz o 16 bits realmente, por qué existe el aliasing, qué códec elegir entre MP3, AAC, FLAC y Opus, y cómo afecta todo a tu audio.
Cómo funciona el DNS: resolución, registros y por qué a veces tarda
El viaje completo de una consulta DNS: cachés en cascada, root servers, tipos de registro A/AAAA/MX/CNAME/TXT, TTL y cómo depurar problemas con dig.
CORS explicado: por qué falla tu petición y cómo arreglarlo de verdad
Entiende CORS de una vez: Same-Origin Policy, cabeceras Access-Control, peticiones preflight OPTIONS, credenciales y los errores más comunes con sus soluciones.
Imágenes responsive: srcset y sizes explicados con ejemplos reales
Cómo servir la imagen justa a cada dispositivo con srcset, sizes y picture: densidad de píxeles, breakpoints art direction y ahorro real de ancho de banda.
JWT vs sesiones de servidor: qué usar en tu aplicación (y por qué)
Comparativa técnica entre autenticación con JWT stateless y sesiones con cookies: seguridad, logout, escalado, CSRF y cuándo conviene cada modelo.
UUID v7 y ULID: identificadores únicos que además ordenan por fecha
Por qué el UUID v4 aleatorio castiga tus índices de base de datos y cómo UUIDv7 y ULID resuelven el problema con IDs ordenables y únicos a la vez.
Zonas horarias en software: por qué tu app guarda mal las fechas
UTC, offsets, DST y la regla de oro de las fechas: cómo guardar, calcular y mostrar tiempos correctamente y los bugs clásicos de zonas horarias.
Cifrado, hash y codificación: las tres operaciones que todo el mundo confunde
Diferencias reales entre cifrar, hashear y codificar: qué garantiza cada uno, cuándo usar AES, SHA-256 o Base64 y los errores de seguridad más comunes.
Claves SSH explicadas: Ed25519 vs RSA y el formato OpenSSH por dentro
Cómo funcionan las claves SSH: por qué Ed25519 es la recomendada, cómo generar pares en el navegador con WebCrypto y cómo es el formato openssh-key-v1.
clip-path en CSS: formas personalizadas y responsive sin imágenes
Domina clip-path en CSS: polygon con coordenadas en porcentaje, circle, ellipse, animación de formas y por qué el resultado es responsive por diseño.
Cómo funciona HTTPS: el handshake TLS explicado paso a paso
Qué ocurre realmente cuando tu navegador se conecta por HTTPS: intercambio de claves ECDHE, certificados x.509, cifrado simétrico AES y forward secrecy.
docker-compose.yml explicado: servicios, volúmenes y redes de tu stack local
Cómo montar un stack completo con Docker Compose: app Node + PostgreSQL conectados por DNS interno, volúmenes nombrados vs bind mounts y políticas restart.
Cómo escribir un Dockerfile moderno: capas, multistage y usuario no root
Anatomía de un Dockerfile bien hecho para Node, Next.js, Python, Go y Rust: caché de capas, builds multistage, imágenes Alpine vs Slim y usuario no root.
Fingerprinting del navegador: las 11 señales que te identifican sin cookies
Cómo funciona el fingerprinting de navegador: canvas, WebGL, audio, fuentes y más. Qué entropía aporta cada señal y qué puedes hacer realmente para defenderte.
GitHub Actions explicado: CI, deploy a Vercel e imágenes Docker en GHCR
Cómo funcionan los workflows de GitHub Actions: triggers, matriz de versiones de Node, secrets, permisos mínimos y tres plantillas listas para producción.
Glassmorphism en CSS: cómo funciona backdrop-filter y cuándo usarlo
Guía técnica del glassmorphism en CSS: backdrop-filter blur, bordes translúcidos, rendimiento y accesibilidad. Genera tu tarjeta de cristal lista para copiar.
Self-hosting desde cero: tu primer servidor con SSH, Docker y Nginx
Guía completa para montar tu primer servidor propio: asegurar SSH con claves Ed25519, desplegar con Docker Compose y publicar con Nginx y HTTPS.
Neumorphism en CSS: sombras duales, estados pressed y sus límites
Cómo funciona el diseño neumórfico en CSS: dos sombras opuestas, colores derivados del fondo, estado hundido con inset y por qué falla la accesibilidad.
Configuración de Nginx explicada: estático, SPA y proxy inverso
Los tres bloques server que necesitas: try_files para SPAs, proxy inverso con cabeceras X-Forwarded, HTTPS con Let's Encrypt y la trampa de herencia de add_header.
Spinners de carga solo con CSS: la técnica border y sus variantes
Cómo crear loaders CSS sin JavaScript: el truco del border giratorio, keyframes, delays escalonados con nth-child, delay negativo y notas de rendimiento.
Afinar la guitarra con el móvil o el navegador, sin comprar un afinador
Cómo funciona un afinador de guitarra por micrófono: detección de nota, precisión en cents y afinación estándar EADGBE. Gratis, sin instalar ninguna app.
Cómo añadir una marca de agua a un PDF gratis
Guía para poner texto como marca de agua en todas las páginas de un PDF, con posición, opacidad y color configurables. Gratis y en el navegador.
Cómo añadir números de página a un PDF gratis
Guía para numerar las páginas de un PDF, elegir posición y número inicial, gratis y en el navegador. Útil para informes, TFG y documentos largos.
Cómo analizar las cabeceras HTTP de seguridad de cualquier web (HSTS, CSP, X-Frame-Options)
Guía para revisar las cabeceras HTTP de seguridad de un sitio web: HSTS, CSP, X-Frame-Options y más. Qué significan y por qué su ausencia es un riesgo.
Cómo hacer una auditoría SEO on-page gratis en menos de un minuto
Guía para auditar el SEO on-page de cualquier página: title, meta description, H1, Open Graph y schema. 19 checks, score 0-100 y quick wins accionables.
Cómo hacer una auditoría técnica completa de cualquier web en un solo informe
Guía del analizador web: DNS, WHOIS, SSL, SEO, seguridad de email, redirecciones y stack tecnológico, todo en un único informe con score 0-100.
Base64, Base32, Base58, Base85: cuándo usar cada codificación
Guía para entender las diferencias entre Base64, Base32, Base58, Base85, Hex y URL encoding, y cuándo usar cada una según el contexto: emails, URLs, blockchain.
Una calculadora científica, de programador y financiera en una sola herramienta
Guía de la calculadora completa: operaciones científicas, binario/hex/octal y bitwise para desarrollo, e hipotecas e interés compuesto para finanzas personales.
Cómo calcular el ancho o alto correcto manteniendo la relación de aspecto
Guía para calcular ancho y alto proporcionales (16:9, 4:3, 21:9) a partir de una sola dimensión, y entender qué es la relación de aspecto simplificada.
Cambiar velocidad y tono de un audio sin sonar a chipmunk
Diferencia entre cambiar la velocidad manteniendo el tono, cambiar el tono manteniendo la velocidad, y el efecto clásico de vinilo acelerado. Ideal para aprender canciones de oído.
Censurar una palabra en un audio con un pitido, con precisión exacta
Cómo censurar tramos concretos de un audio con un pitido (bleep), controlando el inicio y fin exactos. Silenciar el original bajo el pitido o dejarlo audible de fondo.
Cómo funciona chmod en Linux: de octal a simbólico
Guía para entender los permisos de Linux (rwx), convertir entre notación octal (755, 644) y simbólica, y elegir el permiso correcto para cada caso.
Cómo comprimir un PDF sin perder calidad
Guía para reducir el tamaño de un PDF eliminando metadatos y optimizando su estructura interna, sin perder calidad visible. Gratis y en el navegador.
Cómo consultar los registros DNS de un dominio (A, MX, TXT, NS...)
Guía para consultar registros DNS de cualquier dominio en tiempo real: A, AAAA, MX, TXT, NS, CNAME y SOA. Qué significa cada tipo y cuándo revisarlo.
Cómo contar palabras, caracteres y tiempo de lectura de un texto
Guía para contar palabras, caracteres, frases y párrafos en tiempo real, calcular el tiempo de lectura y analizar la densidad de keywords de un texto.
Cómo convertir entre más de 80 unidades: longitud, peso, temperatura y más
Guía del conversor de unidades: longitud, peso, temperatura, área, volumen, velocidad, almacenamiento digital, tiempo y presión, todo en una herramienta.
Convertir audio entre MP3, WAV, FLAC y Opus: qué formato elegir
Guía práctica para convertir audio entre MP3, WAV, OGG, FLAC, M4A y Opus en el navegador. Diferencias entre codecs con pérdida y sin pérdida, y qué bitrate usar.
Cómo convertir fotos e imágenes a PDF gratis
Guía para convertir JPG, PNG o WebP a PDF, reordenar con drag & drop y ajustar tamaño de página y márgenes. Gratis, sin registro y en el navegador.
Cómo convertir entre PNG, JPG, WebP, AVIF, BMP e ICO (y cuál elegir)
Guía para convertir imágenes entre formatos y entender cuándo usar cada uno: PNG para transparencia, WebP y AVIF para web moderna, ICO para iconos.
Cómo convertir un PDF a JPG o PNG, página por página
Guía para convertir cada página de un PDF a imagen JPG o PNG, con resolución 1x, 2x o 3x. Gratis, sin registro y 100% en el navegador.
Cómo convertir la indentación de tu código entre tabs y espacios
Guía para convertir la indentación de cualquier código entre tabs y espacios, con ancho configurable, y por qué mezclar ambos rompe la legibilidad.
Cómo convertir entre px, rem, em, vw y vh en CSS (y cuándo usar cada una)
Guía para convertir unidades CSS en tiempo real con base font-size y viewport configurables, y entender cuándo usar px, rem, em, vw, vh o pt.
Cómo crear un favicon completo desde una imagen, texto o emoji
Guía para crear favicons en 8 tamaños, Apple Touch Icon y PWA a partir de una imagen o directamente de texto/emoji, con el snippet HTML listo.
Cómo crear un robots.txt (y bloquear crawlers de IA como GPTBot)
Guía para generar un robots.txt con reglas por bot, enlace al sitemap y bloqueo específico de crawlers de entrenamiento de IA como GPTBot y ClaudeBot.
Cómo crear una tabla Markdown sin contar barras y guiones a mano
Guía para crear tablas Markdown de forma visual y copiar el código correcto, listo para GitHub, Notion u Obsidian, sin alinear columnas manualmente.
Convertir una canción en tono de llamada: cómo elegir el fragmento correcto
Cómo crear un tono de llamada corto a partir de cualquier canción, con fundido suave incluido. Por qué el fragmento que elijas importa más que la duración.
Cómo crear zonas clicables sobre una imagen (image map) sin escribir coordenadas a mano
Guía para crear zonas clicables tipo rectángulo, círculo y polígono sobre una imagen, con snap to grid y exportación a HTML o JSON.
Cuál es mi IP y qué información revela realmente
Guía para consultar tu IP pública o la de cualquier dirección, y entender qué datos de geolocalización, ISP y zona horaria expone una IP en tiempo real.
Cómo decodificar un certificado SSL/TLS x.509 y entender sus campos
Guía para decodificar un certificado x.509 en formato PEM: emisor, validez, SAN, huella SHA-256 y qué significa cada campo. Gratis y 100% en el navegador.
Cómo descubrir subdominios de un dominio (sin escaneo activo)
Guía para encontrar subdominios de cualquier dominio usando Certificate Transparency (crt.sh), una técnica pasiva que no envía tráfico al servidor objetivo.
Cómo saber qué tecnologías usa una web (framework, CMS, CDN)
Guía para detectar qué framework, CMS, servidor, CDN y analytics usa cualquier web. Cómo funciona el fingerprinting de tecnologías y para qué sirve.
Cómo dividir un PDF en partes: por rango, cada N páginas o página a página
Guía práctica para dividir un PDF: extraer un rango de páginas, partirlo cada N páginas o separar cada página en su propio archivo. Gratis y en el navegador.
Por qué tus MP3 dicen "Artista desconocido" y cómo arreglarlo
Qué son las etiquetas ID3 de un MP3, por qué no son lo mismo que el nombre del archivo, y cómo editarlas (título, artista, álbum, portada) sin volver a codificar el audio.
Cómo editar una foto con filtros, recorte y ajustes sin instalar Photoshop
Guía para aplicar filtros (B&N, Sepia, Vintage), recortar, rotar y ajustar brillo y contraste de una foto directamente en el navegador, sin registro.
Editar un PDF gratis sin instalar nada: guía de las 6 tareas más comunes
Convertir imágenes a PDF, unir, dividir, pasar a imágenes, comprimir y poner marca de agua, todo gratis y en el navegador. Guía rápida de qué herramienta usar según lo que necesites.
Cómo recortar, comprimir y convertir un vídeo sin instalar software de edición
Guía del editor de vídeo en el navegador: recortar, comprimir, convertir formato, rotar, generar GIF, añadir marca de agua y subtítulos, sin registro.
Cómo eliminar páginas de un PDF sin rehacer el documento
Guía para seleccionar visualmente y borrar las páginas que sobran de un PDF, gratis y sin registro. Descarga el resultado sin la página en blanco, duplicada o de más.
Eliminar silencios de un audio automáticamente sin cortar pausas naturales
Cómo quitar los silencios de una grabación larga (entrevista, podcast, dictado) sin recortar las pausas normales del habla. Umbral en dB y duración mínima explicados.
Qué es la esteganografía y cómo ocultar un mensaje dentro de una imagen
Guía práctica de esteganografía LSB: cómo ocultar y revelar texto dentro de una imagen PNG sin que se note a simple vista. Gratis y 100% en el navegador.
Cómo extraer el texto de un PDF sin copiar y pegar página a página
Guía para extraer todo el texto de un PDF y descargarlo como .txt, gratis y en el navegador. Sin límite de páginas, sin subir el archivo a ningún servidor.
Cómo formatear una consulta SQL ilegible en segundos
Guía para formatear y embellecer SQL de MySQL, PostgreSQL, SQLite, SQL Server y BigQuery, y por qué una consulta bien indentada es más fácil de depurar.
Fundido de entrada y salida en audio: por qué un corte seco suena mal
Cómo añadir fundido de entrada y salida a un audio para evitar el chasquido de un corte abrupto. Duración recomendada según el tipo de contenido.
Cómo crear sombras CSS con varias capas (y por qué una sola nunca es suficiente)
Guía visual para crear box-shadow en CSS con múltiples capas: offset, blur, spread, color, opacidad e inset, y por qué las sombras reales usan varias capas.
Generador de tonos puros: para qué sirve un pitido a frecuencia exacta
Genera tonos puros (seno, cuadrada, sierra, triángulo) a cualquier frecuencia entre 20 Hz y 20 kHz. Usos reales: probar altavoces, calibrar equipos y entender el rango auditivo humano.
Efectos de sonido retro 8-bit sin buscar packs de audio con licencia
Cómo generar efectos de sonido estilo 8-bit (moneda, salto, láser, explosión) de forma procedural, sin samples ni archivos de audio pregrabados. Ideal para game jams e indies.
Cómo generar un .gitignore correcto para tu proyecto
Guía para crear un .gitignore combinando lenguajes, frameworks y editores, y evitar el error más común: subir node_modules, .env o archivos de build al repositorio.
Cómo generar una paleta de colores armónica a partir de un solo color
Guía sobre teoría del color aplicada: paletas complementarias, análogas y triádicas, y cómo generar combinaciones armónicas a partir de un único HEX.
Por qué el texto de relleno sigue siendo Lorem Ipsum (y cómo generarlo)
Guía para generar texto de relleno en párrafos, frases o palabras, en latín clásico, español o inglés, y entender por qué Lorem Ipsum es mejor que texto real.
Grabar audio desde el navegador sin instalar ninguna app
Cómo grabar con el micrófono directamente desde el navegador, pausar y reanudar, y descargar el resultado. Sin instalar nada, sin cuenta y sin que la grabación salga de tu dispositivo.
Cómo liberar espacio en Windows limpiando temporales, caché y Prefetch
Guía sobre qué son los archivos temporales, la caché de navegadores y la carpeta Prefetch en Windows, y cómo limpiarlos de forma segura y offline.
Metrónomo online: practicar a tempo reducido sin comprar nada
Metrónomo gratis de 1 a 1000 BPM con tap tempo y compases ajustables. Por qué un metrónomo de software necesita una técnica especial para no desincronizarse.
Cómo minificar HTML, CSS y JavaScript para que tu web cargue más rápido
Guía para minificar código eliminando comentarios y espacios innecesarios, y entender cuánto peso real se ahorra en HTML, CSS y JavaScript.
Normalizar el volumen de un audio con LUFS (no lo que crees)
Por qué subir el volumen no es lo mismo que normalizar. Qué es LUFS, el estándar EBU R128 y los objetivos de sonoridad de podcast, música y difusión.
Cómo ordenar líneas y quitar duplicados de cualquier lista al instante
Guía para ordenar, deduplicar, invertir o mezclar cualquier lista de líneas de texto, útil para listas de emails, tareas o datos exportados.
Qué es una passphrase Diceware y por qué es más segura que una contraseña random
Guía sobre el método Diceware para generar passphrases memorables y con alta entropía, combinando palabras al azar con crypto.getRandomValues.
Qué es la entropía de una contraseña y cómo medirla en bits
Guía para entender la entropía de una contraseña en bits, cómo se calcula, qué patrones comunes la reducen y cuánto tardaría en romperse por fuerza bruta.
Qué es un WHOIS y cómo saber quién registró un dominio
Guía para consultar el registro WHOIS/RDAP de un dominio: registrador, fechas de alta y caducidad, nameservers y qué información es realmente pública.
Qué licencia de software elegir para tu proyecto (MIT, Apache, GPL...)
Guía para entender las diferencias entre MIT, Apache 2.0, GPL 3.0, BSD e ISC, y generar el archivo LICENSE correcto según lo que quieras permitir.
Cómo quitar los acentos de un texto (conservando la ñ si quieres)
Guía para eliminar tildes de cualquier texto al instante, y por qué la ñ merece un tratamiento distinto al resto de acentos en español.
Cómo rastrear la cadena de redirecciones de una URL (301, 302...)
Guía para trazar todos los saltos de redirección de una URL, con código HTTP y tiempo por salto. Detecta cadenas largas que ralentizan tu web.
Recortar audio online sin perder calidad: modo rápido vs preciso
Cómo recortar MP3, WAV, OGG, FLAC o M4A por segundos exactos en el navegador. Diferencia entre corte rápido (copia) y corte preciso (re-encode) y cuándo usar cada uno.
Cómo redimensionar varias imágenes a la vez y descargarlas en ZIP
Guía para redimensionar imágenes en lote por porcentaje o dimensión máxima, y descargar todo el resultado en un único ZIP. Gratis y en el navegador.
Reducir el ruido de fondo de una grabación sin sonar robótico
Cómo funciona la reducción de ruido espectral y por qué no es lo mismo que un simple silenciador. Cuándo un valor alto de reducción empieza a sonar metálico.
Cómo reordenar las páginas de un PDF sin volver a escanear
Guía para cambiar el orden de las páginas de un PDF arrastrando y soltando, gratis y en el navegador. Útil para documentos escaneados fuera de orden.
Cómo rotar páginas de un PDF gratis (documentos escaneados de lado)
Guía para rotar páginas de un PDF 90, 180 o 270 grados, gratis y sin subir el archivo a ningún servidor. Ideal para documentos escaneados de lado o al revés.
Separar la voz de una canción para hacer karaoke o samplear la batería
Cómo separar cualquier canción en voz, batería, bajo y otros instrumentos con IA (HTDemucs) directamente en el navegador. Para hacer karaoke, extraer acapellas o estudiar patrones de batería.
Cómo hacer un sorteo aleatorio justo (y por qué Math.random() no basta)
Guía para elegir un ganador al azar de una lista con aleatoriedad criptográfica real, y por qué eso importa para que un sorteo sea verdaderamente justo.
Qué son SPF, DKIM y DMARC y cómo comprobar si tu dominio está protegido
Guía para entender SPF, DKIM y DMARC, verificar si un dominio está protegido contra suplantación de email (spoofing) y qué significa cada veredicto.
Cómo usar la técnica Pomodoro para concentrarte de verdad
Guía sobre la técnica Pomodoro: por qué funciona, cómo estructurar los ciclos de trabajo y descanso, y cómo usar un temporizador con estadísticas de sesiones.
Texto a voz online: voces del sistema vs IA local, cuál usar
Convierte texto a voz gratis en el navegador. Diferencia entre las voces instantáneas del sistema y el motor de IA neuronal descargable, y cuándo usar cada uno.
Transcribir audio a texto con IA en el navegador (Whisper)
Cómo transcribir cualquier audio a texto con Whisper corriendo localmente en el navegador. Los tres modelos disponibles, detección de voz (VAD) y por qué elegir el idioma manualmente.
Unir varios audios en un solo archivo, aunque tengan formatos distintos
Cómo combinar varios archivos de audio en uno solo, en el orden que elijas, aunque sean MP3, WAV y M4A mezclados. Explicación de por qué unir audio no es tan simple como pegar bytes.
Cómo verificar el certificado SSL de una web y su caducidad
Guía para comprobar el certificado SSL/TLS de cualquier sitio: emisor, caducidad, SANs, protocolo y grado de seguridad A+ a F. Gratis y en tiempo real.
Cómo verificar la integridad de un archivo descargado con su hash SHA
Guía para calcular el hash SHA de un archivo y compararlo con el publicado por su fuente, y detectar si un archivo descargado está corrupto o manipulado.
Ver el sonido: cómo usar un visualizador de espectro de audio
Visualiza en tiempo real las frecuencias o la forma de onda de un audio o de tu micrófono. Cómo detectar clipping a simple vista y qué significan las barras de frecuencia.
Códigos de estado HTTP explicados: del 200 al 500 (guía)
Qué significan los códigos HTTP: 2xx éxito, 3xx redirecciones, 4xx errores de cliente, 5xx errores de servidor. Los más importantes (404, 301, 500, 403) explicados.
Cómo funciona la IA dentro del navegador (sin servidores ni nube)
Explicación a fondo de cómo la inteligencia artificial corre 100% en tu navegador: WebGPU, WebAssembly, ONNX, modelos de segmentación y por qué esto cambia las reglas.
Core Web Vitals: cómo hacer tu web rápida (guía 2026)
Qué son los Core Web Vitals (LCP, INP, CLS), cómo medirlos y las optimizaciones reales que mejoran la velocidad y el SEO de tu web. Guía práctica para desarrolladores.
Git cheatsheet: los comandos esenciales (con ejemplos)
Chuleta de Git con los comandos más usados: clonar, ramas, commits, merge, deshacer cambios, stash y resolver conflictos. Referencia rápida para desarrolladores.
Por qué procesar tus datos en el navegador protege tu privacidad
Qué significa 'client-side', por qué subir archivos a una web es un riesgo y cómo el procesamiento local te devuelve el control de tus datos. Privacidad explicada.
Expresiones regulares: cheatsheet completa con ejemplos
Chuleta de regex: metacaracteres, clases, cuantificadores, anclas, grupos y lookarounds, más patrones listos (email, teléfono, URL). Referencia rápida con ejemplos.
Binario, decimal y hexadecimal: convertir bases numéricas
Entiende las bases numéricas: qué es el binario, el hexadecimal y el octal, cómo se convierten entre sí y por qué los usa la informática. Conversor gratis online.
camelCase, snake_case y más: convertir el formato del texto
Guía de convenciones de nombres: camelCase, snake_case, PascalCase, kebab-case y cuándo usar cada una en programación. Convierte mayúsculas y minúsculas online.
HEX, RGB y HSL: entender y convertir colores en CSS
Guía de formatos de color para CSS: qué son HEX, RGB, HSL y cuándo usar cada uno, alpha/transparencia y cómo convertir colores gratis en el navegador.
Cómo crear un código QR gratis (URLs, WiFi, vCard y más)
Guía para crear códigos QR gratis: tipos de QR, niveles de corrección de errores, buenas prácticas de diseño y cómo generarlos en el navegador sin marca de agua.
Cómo comparar dos textos y ver las diferencias (diff)
Qué es un diff, cómo comparar dos textos o versiones de un archivo para ver qué cambió, y para qué se usa en programación y revisión de documentos. Diff gratis online.
Comprimir imágenes sin perder calidad: guía completa 2026
Cómo comprimir imágenes JPG, PNG y WebP reduciendo el peso sin que se note la pérdida de calidad. Diferencias entre formatos, nivel óptimo y compresión en lote gratis.
Convertir CSV a JSON (y JSON a CSV): guía completa para desarrolladores
Cómo convertir CSV a JSON y JSON a CSV correctamente: estructura, comillas, comas dentro de campos, tipos de datos y conversión gratis en el navegador.
Cómo crear una contraseña segura (y por qué las tuyas no lo son)
Guía para crear contraseñas seguras: longitud, entropía, gestores, passphrases y errores comunes. Genera contraseñas fuertes gratis y 100% en tu navegador.
Cómo escanear documentos con el móvil a PDF gratis (sin apps)
Aprende a escanear documentos con la cámara del móvil y convertirlos a PDF gratis, con corrección de perspectiva, filtros y OCR, todo en el navegador y sin subir nada.
Gradientes CSS: linear, radial y cónico (guía con ejemplos)
Aprende a crear gradientes en CSS: linear-gradient, radial-gradient y conic-gradient, paradas de color, ángulos y transparencias. Genera gradientes gratis online.
Metadatos EXIF de tus fotos: qué revelan y cómo eliminarlos
Las fotos guardan metadatos EXIF: ubicación GPS, fecha, modelo de cámara y más. Descubre qué revelan sobre ti y cómo verlos y eliminarlos para proteger tu privacidad.
Cómo optimizar SVG y reducir el peso de tus iconos
Por qué los SVG exportados pesan de más y cómo optimizarlos: metadatos, decimales, código basura de los editores. Reduce el tamaño de tus SVG gratis online.
Qué es Base64 y cuándo usarlo (con ejemplos)
Guía clara sobre Base64: qué es, cómo funciona, para qué sirve en imágenes y data URIs, por qué no es cifrado y cómo codificar y decodificar gratis en el navegador.
Qué es un hash: MD5, SHA-256 y para qué sirve realmente
Explicación clara de las funciones hash (MD5, SHA-1, SHA-256): qué son, para qué sirven, por qué no son cifrado y cómo generar hashes gratis en el navegador.
Qué es JSON y cómo formatearlo y validarlo correctamente
Guía de JSON para desarrolladores: sintaxis, tipos, errores comunes, cómo formatear (pretty print) y validar JSON, y cómo hacerlo gratis en el navegador.
Qué es un JWT y cómo decodificarlo (guía para desarrolladores)
Entiende los JSON Web Tokens: estructura header.payload.signature, claims, cómo decodificar un JWT y por qué nunca deben guardar datos sensibles.
Qué es Markdown: guía completa de sintaxis con ejemplos
Aprende Markdown desde cero: encabezados, listas, enlaces, imágenes, tablas, código y más. La sintaxis completa con ejemplos y cómo convertir Markdown a HTML.
Qué es un slug y cómo crear URLs amigables para SEO
Aprende qué es un slug, por qué importa para el SEO y cómo crear URLs amigables: minúsculas, guiones, sin acentos ni stop words. Genera slugs gratis online.
URL encoding: qué es, cuándo codificar una URL y cómo hacerlo
Guía de codificación de URL (percent-encoding): qué caracteres hay que escapar, diferencia entre encodeURI y encodeURIComponent y cómo codificar gratis online.
Cómo quitar el fondo de una imagen gratis y sin subir nada
Guía completa para quitar el fondo de una foto gratis, con IA y 100% en el navegador. Sin marca de agua, sin registro y sin que tu imagen salga de tu dispositivo.
Sintaxis cron explicada: cómo programar tareas paso a paso
Aprende la sintaxis de cron: los 5 campos, asteriscos, rangos, listas y pasos, con ejemplos reales. Construye expresiones cron gratis y entiéndelas al instante.
Cómo unir y dividir PDF gratis sin subir nada a internet
Guía para unir varios PDF en uno o dividir un PDF en partes, gratis y en el navegador. Sin marca de agua, sin límites y sin que tus documentos salgan del equipo.
Cómo cifrar texto con AES-256-GCM en el navegador
Aprende a cifrar y descifrar texto directamente en el navegador con AES-256-GCM y PBKDF2 usando la Web Crypto API nativa. Sin librerías externas, 100% privado.
Expresiones regulares en JavaScript: guía completa con ejemplos
Aprende regex desde cero con JavaScript. Sintaxis completa, grupos de captura, flags, lookaheads y los 10 patrones más útiles con ejemplos reales.
Qué es un Unix Timestamp y el bug del año 2038
Entiende qué es el tiempo Unix (epoch time), cómo convertirlo en JavaScript y por qué los sistemas de 32 bits tienen un problema el 19 de enero de 2038.
Generar UUID en JavaScript con crypto.randomUUID()
Aprende a generar UUIDs v4 en JavaScript usando la API nativa crypto.randomUUID(). Diferencias entre UUID y GUID, cuándo usarlos y cómo generar en bulk.
JavaScript
Funciones nativas del navegador, Web APIs, criptografía con Web Crypto, generación de UUIDs, expresiones regulares y patrones modernos de JavaScript sin dependencias externas.
Ciberseguridad
Cifrado AES-256-GCM, derivación de claves con PBKDF2, buenas prácticas para el manejo seguro de datos sensibles en el frontend y cómo proteger la privacidad del usuario.
Herramientas web
Cómo construir herramientas que funcionan 100% en el navegador sin servidores, sin registros y sin comprometer los datos del usuario. Rendimiento, privacidad y experiencia de usuario.