<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Imperfect Systems — Bitácora</title><description>Notas sobre el software, los juegos y la música que salen de Imperfect Systems.</description><link>https://imperfectsystems.com/</link><item><title>Construyendo Greenhouse: el motor de reglas que llegó antes que la app</title><link>https://imperfectsystems.com/es/blog/building-greenhouse-the-rules-engine-that-came-before-the-app-existed/</link><guid isPermaLink="true">https://imperfectsystems.com/es/blog/building-greenhouse-the-rules-engine-that-came-before-the-app-existed/</guid><description>Escribir un motor de reglas completo en Rust y 22 pruebas antes de que Greenhouse tuviera interfaz, o incluso un toolchain de Rust funcionando en la máquina que lo construía, y lo que se rompió en el momento en que por fin compiló.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate><category>Development</category><category>rust</category><category>tauri</category><category>sqlite</category><category>dev-log</category><category>greenhouse</category></item><item><title>Starting a dev log</title><link>https://imperfectsystems.com/es/blog/hello-dev-log/</link><guid isPermaLink="true">https://imperfectsystems.com/es/blog/hello-dev-log/</guid><description>Why Imperfect Systems is keeping a public dev log, and how the blog is wired up under the hood.</description><pubDate>Wed, 17 Jun 2026 00:00:00 GMT</pubDate><category>Meta</category><category>astro</category><category>dev-log</category><category>meta</category><category>site</category></item><item><title>Configurando Claude Code para un proyecto de iOS</title><link>https://imperfectsystems.com/es/blog/setting-up-claude-code-for-an-ios-project/</link><guid isPermaLink="true">https://imperfectsystems.com/es/blog/setting-up-claude-code-for-an-ios-project/</guid><description>Escribiendo el CLAUDE.md de una nueva app de iOS antes de que exista una sola línea de Swift: la trampa de MusicKit en el simulador, las reglas de CloudKit para SwiftData, y por qué el enfoque de proyecto de aprendizaje vino primero.</description><pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate><category>Development</category><category>ios</category><category>swift</category><category>musickit</category><category>claude-code</category><category>dev-log</category><category>deep-cut-atlas</category></item><item><title>A CI failure playbook for a one-person Rails project</title><link>https://imperfectsystems.com/es/blog/ci-failure-playbook-for-a-one-person-rails-project/</link><guid isPermaLink="true">https://imperfectsystems.com/es/blog/ci-failure-playbook-for-a-one-person-rails-project/</guid><description>Writing down the rules for what to do when CI goes red on a solo Rails project, and the GitHub limitation that turned the merge gate into a load-bearing comment.</description><pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate><category>Development</category><category>ci</category><category>rails</category><category>github-actions</category><category>dev-log</category><category>blog-manager</category></item><item><title>Building blog-manager, part 1: the Blog model and a UI that doesn&apos;t look like a scaffold</title><link>https://imperfectsystems.com/es/blog/building-blog-manager-part-1/</link><guid isPermaLink="true">https://imperfectsystems.com/es/blog/building-blog-manager-part-1/</guid><description>Starting blog-manager: a Rails Blog model with Active Record Encryption for per-blog credentials, and a CRUD UI I&apos;d actually enjoy using.</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate><category>Development</category><category>rails</category><category>blog-manager</category><category>dev-log</category><category>active-record-encryption</category></item></channel></rss>