Blog técnico
Problemas reales, soluciones concretas. Artículos sobre tecnología que uso en proyectos.
PDOException [2002]: No such file o directory, el clásico dolor de cabeza
Ese frustrante error `SQLSTATE[HY000] [2002] No such file or directory` te tiene contra la pared. A mí también me pasó en un proyecto y te cuento cómo lo solucioné, partiendo por lo más simple.
31 de julio de 2026ICE Candidates en WebRTC: El mapa para una conexión P2P exitosa
Estás montando un chat con WebRTC y te topas con los ICE Candidates. ¿De dónde salen, para qué sirven, y por qué tu colega tiene menos? Aquí desglosamos el misterio.
31 de julio de 2026Error MISCONF en Redis: Reiniciar vs. Ignorar Fallas RDB
El error MISCONF en Redis desactiva las escrituras. Analizamos dos enfoques comunes para resolverlo: reiniciar el servidor o forzar la continuación de las escrituras, y cuándo usar cada uno.
30 de julio de 2026Simplifica tu GitHub Actions: Adiós al 'cd' repetido
Cansado de poner 'cd subdirectorio' en cada paso de tu CI? Te muestro cómo simplificar tus flujos de trabajo en GitHub Actions y evitar la repetición innecesaria.
30 de julio de 2026¿Botones redondos en Flutter? No te compliques la vida
Estilizar botones en Flutter puede ser un dolor de cabeza si usas la solución más votada sin pensar. Te muestro cómo hacerlo simple y directo, sin sobreingeniería.
29 de julio de 2026¿Fusionar diccionarios en Python? La respuesta obvia no es la mejor
A menudo, la forma más intuitiva de combinar diccionarios en Python esconde trampas de rendimiento y legibilidad. Te muestro las opciones y por qué algunas son mejores.
29 de julio de 2026Obtener IP de Docker: Olvida grep, hay una forma mejor
Cuando buscas la IP de un contenedor Docker, la solución obvia con grep no es la más robusta. Te muestro el comando que uso yo y por qué es superior.
28 de julio de 2026kubectl create vs apply: No es lo mismo y tu pipeline lo sabe
Entender la diferencia entre kubectl create y apply te ahorra errores en producción y frustraciones con tu CI/CD. Una es imperativa, la otra declarativa.
28 de julio de 2026ChunkLoadError en Next.js: La solución más simple (casi siempre)
El ChunkLoadError en Next.js es un dolor de cabeza común que a menudo se atribuye a misterios de Webpack. Mi experiencia dice que casi siempre es un problema de caché.
27 de julio de 2026Npm WARN: 'No repository field' – ¿Hay que preocuparse?
Esa advertencia de npm sobre el campo 'repository' es común y, en la mayoría de los casos, inofensiva. Te explico por qué y cómo silenciarla.
27 de julio de 2026SQL JOINs: Cuándo usar INNER, LEFT, RIGHT y FULL en tus consultas
A menudo, veo desarrolladores complicarse con los JOINs en SQL cuando la solución más simple basta. Entender las diferencias es clave para escribir consultas eficientes.
26 de julio de 2026Nginx: Redirigiendo www y no-www de forma correcta (y eficiente)
Configurar redirecciones www o no-www en Nginx es más simple de lo que parece. Te muestro cómo hacerlo usando `return 301` para mantener tu SEO y optimizar el rendimiento.
26 de julio de 2026Contar documentos en Firestore: La solución obvia no siempre es la mejor
Contar documentos en Cloud Firestore parece sencillo, pero la solución más directa a menudo es una trampa. Descubre por qué un simple conteo puede salirte caro y cómo hacerlo bien.
25 de julio de 2026MongoDB: Buscar un valor en array simple sin complicarse (de más)
Muchos desarrolladores buscan un operador especial para encontrar un valor dentro de un array en MongoDB. La solución es más simple de lo que crees y yo mismo la aprendí tarde.
25 de julio de 2026Sirviendo Imágenes en FastAPI: Lo Simple es Mejor
Aprende a servir imágenes en FastAPI de forma eficiente y sin sobreingeniería. Exploramos las opciones correctas y advertimos sobre errores comunes que veo en repositorios por ahí.
24 de julio de 2026Error ENOSPC en React Native: La solución directa que yo uso
Si te topas con el error ENOSPC en React Native o cualquier proyecto con hot-reloading, tu sistema alcanzó el límite de archivos a vigilar. Te muestro la solución directa.
23 de julio de 2026¿mvn o ./mvnw? La clave para un Maven consistente
Entiende por qué los archivos mvnw y mvnw.cmd son esenciales en tus proyectos Spring Boot y cómo te ahorran dolores de cabeza con las versiones de Maven. Simplicidad que funciona.
23 de julio de 2026El operador '!' en TypeScript: La solución obvia que no lo es
Muchos creen que el operador '!' en TypeScript te salva de los null. La verdad es que su función es solo para el compilador y puede esconder problemas en runtime.
22 de julio de 2026Permisos de cámara/micrófono: Cuando el usuario dice 'no'
Qué hacer cuando un usuario niega el acceso a la cámara o micrófono. Entender cómo funcionan los permisos es clave para no frustrarte ni frustrar a tus usuarios.
22 de julio de 2026Terraform: Desbloqueando el temido ConditionalCheckFailedException
El error <code>ConditionalCheckFailedException</code> de Terraform es frustrante y común. Te explico por qué ocurre y cómo puedes resolverlo de forma segura.
21 de julio de 2026Error 'encoding' en Next.js con Supabase: ¿Ignorar o instalar?
Estás montando tu app Next.js con Supabase y de repente, el error del módulo 'encoding' te frena. ¿Es un aviso inofensivo o algo que necesitas solucionar ya?
21 de julio de 2026¿Kafka como Event Store? La verdad de un developer chileno
Muchos se preguntan si Kafka es la base perfecta para un Event Store. Funciona muy bien como log de eventos, pero sus defaults y diseño te harán pensar dos veces.
20 de julio de 2026¿Cómo listar tablas en PostgreSQL? Las formas que yo uso
Si necesitas ver las tablas en tu base de datos PostgreSQL, la forma no es tan obvia como en MySQL. Te muestro las dos maneras principales y cuál prefiero.
20 de julio de 2026Nginx: 'upstream sent too big header' y cómo arreglarlo bien
El error 'upstream sent too big header' en Nginx es común, pero la solución obvia no siempre es la correcta. Necesitas saber qué tipo de upstream usas.
19 de julio de 2026¿Borrar un topic de Kafka para purgar? No siempre es la mejor idea
Cuando un mensaje gigante atasca tu topic de Kafka, la primera reacción es borrar y recrear. Pero espera, hay una forma mucho más elegante y segura de limpiar ese topic sin perder su configuración.
19 de julio de 2026El misterio de `--save` en npm install: ¿Todavía lo necesitas?
Muchos aún usan `npm install --save`, pero esta bandera ya no es necesaria en npm moderno. Te explico por qué y cómo gestionar tus dependencias correctamente.
18 de julio de 2026¿Cómo esconder el teclado en React Native? La solución que me costó encontrar
Esconder el teclado en React Native debería ser simple, pero no siempre lo fue. Te muestro las opciones y cuál prefiero yo para la mayoría de los casos.
18 de julio de 2026¿Dependencies, devDependencies, peerDependencies? La verdad que nadie explica bien
Entender las dependencias en `package.json` es crucial. Te explico la diferencia entre `dependencies`, `devDependencies` y `peerDependencies` de forma simple.
17 de julio de 2026Grabar webcam y audio: la solución simple que no ves a la primera
Muchos piensan en WebRTC para grabar cámara y audio, pero la API MediaRecorder es a menudo la respuesta más directa y sin complicaciones.
17 de julio de 2026¿Logs en Spring Boot? Así los controlas desde application.properties
Estás desarrollando en Spring Boot y necesitas ajustar los logs para depurar o simplemente tener un control decente. Te muestro cómo hacerlo de forma simple y sin dar mil vueltas, directo desde application.properties.
16 de julio de 2026¿Archivo Tar o Pipe SSH? Moviendo Imágenes Docker sin Registry
Mover imágenes Docker entre servidores sin un registry puede ser un dolor de cabeza. Te muestro dos métodos para hacerlo y cuándo usarías cada uno, sin complicarte.
16 de julio de 2026¿Cámara en tu PWA de iOS? La pesadilla de iOS 11 y cómo zafamos
Acceder a la cámara desde una Progressive Web App en iOS 11 era un dolor de cabeza. Aquí te cuento por qué y qué hicimos cuando Apple nos puso el pie encima.
15 de julio de 2026Error Node.js 0308010C: Soluciones de verdad (y por qué no usar hacks)
¿Te topaste con el temido error `0308010C:digital envelope routines::unsupported` en Node.js? Esto no es un bug tuyo. Aquí te explico por qué ocurre y cómo solucionarlo de forma correcta.
15 de julio de 2026Python: El Guardián `if __name__ == "__main__":` que te salva
Esa línea de código que ves en casi todos los scripts de Python no está de adorno. Te explico por qué es crucial y cómo me salvó de varios dolores de cabeza.
14 de julio de 2026Express.js: Cómo obtener parámetros GET sin sobreingeniería
Olvídate de parsear URLs manualmente en Express.js. La forma de obtener parámetros GET ya está integrada y es más simple de lo que crees.
14 de julio de 2026Nginx y PHP-FPM: 502 por permisos en el socket, ¿cómo arreglarlo?
Si te apareció un error 502 en Nginx con "connect to php-fpm.sock failed (13: Permission denied)", es probable que una actualización de PHP sea la culpable. Aquí te cuento cómo lo soluciono.
13 de julio de 2026Pandas y Datos Grandes: ¿HDFStore o Archivos Pequeños?
Cuando los datasets superan la memoria RAM, pandas ofrece opciones. Exploro dos caminos: la flexibilidad de HDFStore y la sencillez de dividir archivos, cuándo usar cada uno.
13 de julio de 2026Error 'getExternalNativeBuildTasks': La solución simple para Fabric y Gradle
El error 'variant.getExternalNativeBuildTasks()' puede volverte loco en Android Studio. Te explico por qué aparece y la solución más directa para que no pierdas tiempo.
12 de julio de 2026Flutter Google Sign-In: Cuando el PlatformException 10 te quema
Ese molesto PlatformException(sign_in_failed, 10) en Flutter es más común de lo que crees. Aquí te explico por qué aparece y la solución que yo aplico, sin dar muchas vueltas.
12 de julio de 2026Pods en Terminating: ¿Solución rápida o buscar la raíz?
Cuando un pod de Kubernetes se queda pegado en estado 'Terminating', mucha gente recurre al borrado forzado. Yo creo que esa es casi siempre la respuesta equivocada.
11 de julio de 2026¿Borrar claves Redis por patrón? Ojo con la estrategia y la performance
Cuando necesitas borrar claves de Redis que siguen un patrón, hay dos enfoques principales que puedes considerar. La elección correcta depende si buscas una eliminación inmediata y atómica o una estrategia de gestión de datos a largo plazo.
11 de julio de 2026Nodemon y ENOSPC: Cuando tu Linux se queda sin vigilantes de archivos
Si te topaste con el error 'System limit for number of file watchers reached' usando Nodemon en Linux, no te preocupes, no eres el único. Es un problema común y tiene una solución directa que te explico acá.
10 de julio de 2026El significado de '@/' en imports: Webpack y TypeScript
Desmitificamos el símbolo '@' en tus rutas de importación. Descubre cómo Webpack y TypeScript lo usan para simplificar tu código, mejorar la lectura y mantener tus proyectos ordenados.
9 de julio de 2026El clásico 'Can't set headers': Por qué te pasa en Node.js y cómo evitarlo
Ese molesto error 'Can't set headers after they are sent' en Node.js/Express confunde a muchos. Te explico la raíz del problema y cómo solucionarlo de forma sencilla.
9 de julio de 2026Resetear AUTO_INCREMENT en MySQL: La guía directa y sin rodeos
Estás limpiando una tabla o haciendo pruebas y necesitas que el AUTO_INCREMENT de MySQL vuelva a cero. Te muestro cómo hacerlo de forma rápida y sin complicaciones.
8 de julio de 2026Laravel Eloquent: Cómo manejar múltiples WHERE sin enredarse
Cuando necesitas filtrar datos en Laravel con varias condiciones, te encuentras con distintas formas de escribir tus `WHERE`. Exploro las opciones y cuándo usar cada una para mantener tu código legible y eficiente.
8 de julio de 2026WebRTC AGC: El flujo que muchos olvidan y por qué importa
Muchos integran el AGC de WebRTC sin entender su ciclo completo, y luego se preguntan por qué no funciona. No basta con llamar las funciones, hay un orden y un estado clave.
7 de julio de 2026Cómo salir de psql: El comando clave para la consola de PostgreSQL
Aprender a salir de la consola de PostgreSQL es básico, pero a veces no tan obvio. Te muestro la forma más directa y confiable.
7 de julio de 2026¿Dónde están los logs de error de Nginx con Django y FastCGI?
Cuando tu proyecto Django cae con un 500 y usas Nginx + FastCGI, ¿dónde buscas los errores? La respuesta es más simple de lo que crees: en los logs de Nginx.
6 de julio de 2026Obtener Parámetros URL en Vue: ¿`$route` o `URLSearchParams`?
Te explico cómo obtener parámetros de la URL en Vue.js. Veremos cuándo usar el objeto `$route` y cuándo es mejor recurrir a `URLSearchParams`.
6 de julio de 2026