Git es una herramienta enorme. La mayoría de desarrolladores conoce bien veinte comandos, apenas usa cinco y escribe los cinco sin parar durante ocho horas al día. Cuando escribes git status cien veces por día y git checkout -b otras treinta, cada carácter ahorrado empieza a sumar. Y más allá del ahorro de teclas, un buen conjunto de aliases te convierte ciertos comandos incómodos en comandos rápidos, y te evita los sustos que suelen venir de teclear mal algo con --force. Este post es mi .gitconfig comentado, después de diez años afinándolo. No es exhaustivo: es el mínimo que me...
Primera entrega de la serie ClickHouse desde cero a pro. Tiempo de lectura estimado: 9 minutos. Arrancamos una serie de cinco posts sobre ClickHouse. La idea es ir de no haber tocado nunca ClickHouse a ser capaz de diseñar, optimizar y operar un cluster en producción. Nada de teoría de relleno: lo que se usa el día que tu empresa te dice "oye, tenemos 500 millones de CDRs mensuales, ¿montamos analytics?". Si todavía tienes dudas sobre cuándo tiene sentido usar ClickHouse frente a PostgreSQL, el post ClickHouse para desarrolladores que vienen de PostgreSQL es una buena introducción previa. En esta...
Los generics llegaron a Go en la versión 1.18, marzo de 2022. Llevamos más de tres años con ellos en producción y, visto con perspectiva, creo que la comunidad ha reaccionado de una forma bastante sana: hubo una oleada inicial de uso excesivo, un rebote de "mejor no usarlos nunca", y ahora estamos en un punto intermedio más razonable. Este post es mi intento de destilar ese punto intermedio: cuándo los generics aportan y cuándo sobran. Por qué Go tardó tanto en incorporarlos Go nació en 2007 con una filosofía clara: simplicidad sobre abstracción. El equipo original consideraba que los...
ClickHouse es una base de datos columnar diseñada para análisis de grandes volúmenes de datos. Si vienes de PostgreSQL, muchas cosas te van a resultar familiares porque ClickHouse habla SQL. Pero las diferencias internas son enormes y si las ignoras vas a sufrir. Este post explica ClickHouse desde la perspectiva de alguien que ya sabe PostgreSQL. Qué problema resuelve PostgreSQL es una base de datos de propósito general optimizada para transacciones: inserta una fila, lee una fila, actualiza una fila. Es excelente para la operativa diaria de una aplicación. ClickHouse resuelve un problema diferente: consultas analíticas sobre millones o miles...
Cualquiera que haya integrado Stripe, GitHub, GitLab, Mailgun, Twilio o cualquier sistema moderno que hable webhooks se ha encontrado con el mismo problema: necesitas una URL pública para recibir los eventos de prueba, pero estás desarrollando en local. Y el sistema de webhooks del proveedor no va a llegar a tu localhost:3000. Durante años, la solución ha sido ngrok, localtunnel, cloudflared tunnel, o montar un VPS con un Docker expuesto. Todos funcionan. Todos exigen instalar algo, registrarse, abrir puertos, gestionar túneles. Para algo que debería ser: dame una URL, mándale peticiones, muéstrame qué llega. webhooks.javiervalencia.net hace exactamente eso, sin registro...