<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"><channel>
  <title>Continuous Disintegration</title>
  <link>https://continuousdisintegration.com/en/</link>
  <description>Ideas about programming, electronics and digital design.</description>
    <item>
      <title>TV Remote: turning an old laptop into a smart remote</title>
      <link>https://continuousdisintegration.com/en/posts/Tv-remote/</link>
      <guid>https://continuousdisintegration.com/en/posts/Tv-remote/</guid>
      <pubDate>Tue, 22 Sep 2026 19:07:58 GMT</pubDate>
      <description>How I reused a Lenovo G580 as a phone-controlled media center with FastAPI, Docker, Chrome, Playwright and ydotoold.</description>
      <category>Projects</category>
    </item>
    <item>
      <title>Monitoring computers and RDP sessions</title>
      <link>https://continuousdisintegration.com/en/posts/Monitorizacion_equipos/</link>
      <guid>https://continuousdisintegration.com/en/posts/Monitorizacion_equipos/</guid>
      <pubDate>Thu, 17 Sep 2026 10:00:00 GMT</pubDate>
      <description>How to centralize the status of shared computers and distinguish local use from RDP sessions with PowerShell, FastAPI and SQLite.</description>
      <category>Infrastructure</category>
    </item>
    <item>
      <title>Create and upload a package in Forgejo</title>
      <link>https://continuousdisintegration.com/en/posts/Create-and-upload-a-package/</link>
      <guid>https://continuousdisintegration.com/en/posts/Create-and-upload-a-package/</guid>
      <pubDate>Thu, 27 Aug 2026 05:35:07 GMT</pubDate>
      <description>How to build Python code from a repository, publish it to Forgejo and reuse it as a stable, traceable dependency.</description>
      <category>Forgejo</category>
    </item>
    <item>
      <title>Package version management</title>
      <link>https://continuousdisintegration.com/en/posts/Package-version-management/</link>
      <guid>https://continuousdisintegration.com/en/posts/Package-version-management/</guid>
      <pubDate>Wed, 26 Aug 2026 05:35:07 GMT</pubDate>
      <description>A practical guide to Semantic Versioning, Python package versions, Git tags and changelogs.</description>
      <category>Python</category>
    </item>
    <item>
      <title>uv: Python package and project manager</title>
      <link>https://continuousdisintegration.com/en/posts/Uv-pacakg/</link>
      <guid>https://continuousdisintegration.com/en/posts/Uv-pacakg/</guid>
      <pubDate>Thu, 20 Aug 2026 05:35:07 GMT</pubDate>
      <description>What uv adds to pip and how to use it for environments, dependencies, lock files and project commands.</description>
      <category>Python</category>
    </item>
    <item>
      <title>Building CI/CD workflows with Forgejo</title>
      <link>https://continuousdisintegration.com/en/posts/guia-workflows/</link>
      <guid>https://continuousdisintegration.com/en/posts/guia-workflows/</guid>
      <pubDate>Tue, 18 Aug 2026 05:35:07 GMT</pubDate>
      <description>A practical introduction to Forgejo CI/CD workflows, events, jobs, steps, secrets and a reusable Python test pipeline.</description>
      <category>Forgejo</category>
    </item>
    <item>
      <title>Adding a Forgejo runner for a new repository</title>
      <link>https://continuousdisintegration.com/en/posts/guia_runners/</link>
      <guid>https://continuousdisintegration.com/en/posts/guia_runners/</guid>
      <pubDate>Sun, 16 Aug 2026 05:35:07 GMT</pubDate>
      <description>How to add a repository-specific runner to an Ubuntu host where another Forgejo runner is already working.</description>
      <category>Forgejo</category>
    </item>
  <language>en</language>
</channel></rss>