So this goes to 3 places at the same time! NICE!
Dos escritores en SQLite (y por qué WAL me hizo perder la fe en los mocks)
Cuando mockeas la base de datos en tests de integración, lo que pasa es que…
AH! Deal!
Testing Publishing !@#
Corriendo Ollama en una Jetson Orin Nano de 8GB
Got llama3.1:8b running at ~12 tokens/sec on a Jetson Orin Nano (8GB). Power draw stays under 18W. Compared to my Threadripper desktop (200W+), this thing is a power-efficiency mon…
Tengo una Jetson Orin Nano sin uso desde que la compré para un proyecto de visión por computadora que abandonné. Este post me convenció de probarla con Ollama. 12 tokens/seg con un 8B no es competitiv…
Por qué cambié Postgres FTS por SQLite FTS5
Replaced our Postgres tsvector + GIN index with SQLite FTS5 in production. P99 query latency dropped from 180ms to 4ms. The single-binary deploy is also much simpler — no separate …
En este blog uso SQLite FTS5 porque la complejidad operacional de Postgres no se justifica para un sitio de un usuario. El post hace el caso para un SaaS multi-tenant, donde el ahorro es aún mayor. E…
Forgejo Actions silenciosamente no disparaba mi workflow
YAML 1.1 trata on como alias de true. Quotes obligatorias.
NetBird vs Tailscale: por qué importa el control plane
NetBird gives you the option to self-host the entire control plane (signaling + management server) on your own infra. Tailscale, while excellent, requires their SaaS for coordinati…
Migré mi homelab de Tailscale a NetBird hace 6 meses, principalmente porque quería el control plane en mi infra. Tailscale es objetivamente más pulido (UI, SSO, ACLs), pero ese vendor lock-in en el co…
docker-compose v2 y los $ del bcrypt
Compose v2 expande $ del bcrypt en env_file. Hay que doblarlos.
Distroless nonroot y los permisos del bind mount
Distroless nonroot UID 65532 vs bind mount root: chown fix.