-
Cada nuevo forjamago hacía la búsqueda más lenta: matar el N+1 detrás de Forgemage.net
El directorio de forjamagos de Forgemage.net lanzaba unas siete queries por tarjeta — reseñas, tiempo de respuesta, estado online, tres relaciones lazy — más contadores de facetas recalculados en cada cambio de filtro. Así pasé de una página de 24 tarjetas con ~168 queries a un puñado, con un cache batch scopeado a la request y una pasada paginate-then-hydrate, sin tocar las páginas de perfil individuales.
Leer artículo ↗ -
Markdown para agentes, self-hosted: un subscriber de Symfony en lugar de un plan de Cloudflare
Cloudflare convierte páginas a markdown para agentes IA vía Accept: text/markdown — en planes de pago. El mismo contrato HTTP cabe en un event subscriber de Symfony de 144 líneas. Mi homepage pasó de 59 KB de HTML a 7,7 KB de markdown, misma URL.
Leer artículo ↗ -
RepoWrapped: el Spotify Wrapped de un repo de GitHub, y la API que se me resistió
Una idea de fin de semana — una página de stats compartible y un badge de README para cualquier repo de GitHub y cualquier contributor — que acabó en pelea con la API de stats de GitHub: 202 que nunca se resuelven, un muro en el top 100, y una fecha de primer commit que hay que sacarle a un header.
Leer artículo ↗