<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Development on Sergio Comerón Blog</title>
    <link>https://sergiocomeron.com/blog/en/categories/development/</link>
    <description>Recent content in Development on Sergio Comerón Blog</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Fri, 29 May 2026 00:00:00 +0200</lastBuildDate>
    <atom:link href="https://sergiocomeron.com/blog/en/categories/development/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Self-hosting without fear: how Cloudflare keeps my home Mac mini online</title>
      <link>https://sergiocomeron.com/blog/en/posts/self-hosting-cloudflare-mac-mini/</link>
      <pubDate>Fri, 29 May 2026 00:00:00 +0200</pubDate>
      <guid>https://sergiocomeron.com/blog/en/posts/self-hosting-cloudflare-mac-mini/</guid>
      <description>&lt;p&gt;This website doesn&amp;rsquo;t live on any hosting provider. It lives on a &lt;strong&gt;Mac mini sitting at home&lt;/strong&gt;, under my desk, serving with Apache not just &lt;code&gt;sergiocomeron.com&lt;/code&gt;, but also the Moodle site, Jitsi, and a couple of other projects.&lt;/p&gt;&#xA;&lt;p&gt;Self-hosting has something addictive about it: total control, no monthly hosting bills, and the joy of tinkering with your own infrastructure. But it has an Achilles&amp;rsquo; heel that traditional hosting doesn&amp;rsquo;t: &lt;strong&gt;if the power goes out at home, or the internet drops, the website goes down with me&lt;/strong&gt;. When I compared it to another site I had on a hosting service, that was where I was losing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How I code in 2026: my stack in the age of agents</title>
      <link>https://sergiocomeron.com/blog/en/posts/como-programo-en-2026/</link>
      <pubDate>Wed, 27 May 2026 00:00:00 +0200</pubDate>
      <guid>https://sergiocomeron.com/blog/en/posts/como-programo-en-2026/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been turning over an uncomfortable thought for weeks: I open an editor to write code less and less. I direct it, I review it, I approve it, but I type less every day. And yet I&amp;rsquo;m publishing more than ever: two podcasts, a personal website with nine tools, server monitoring, my own Jitsi instance, an Apple fan site, more Moodle plugins than ever, this blog. Something has shifted in how I program, and I think it&amp;rsquo;s worth writing down.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gemini 3.5 Flash: speed over intelligence for AI agents</title>
      <link>https://sergiocomeron.com/blog/en/posts/gemini-35-flash/</link>
      <pubDate>Fri, 22 May 2026 00:00:00 +0200</pubDate>
      <guid>https://sergiocomeron.com/blog/en/posts/gemini-35-flash/</guid>
      <description>&lt;p&gt;Google presented Gemini 3.5 Flash at I/O on May 19th. Fast, cheap, optimised for agents. Good news for developers. But the most interesting thing is not what it does for Google — it&amp;rsquo;s who else is going to use it.&lt;/p&gt;&#xA;&lt;p&gt;Apple has a multi-year agreement with Google to integrate Gemini models into Apple Intelligence. WWDC 2026 is on June 8th. All signs point to the new Siri — the one they&amp;rsquo;ve been promising for years and never quite delivering — running, at least in part, on this very model.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cloudflare Tunnel: expose your home server without opening ports</title>
      <link>https://sergiocomeron.com/blog/en/posts/cloudflare-tunnel/</link>
      <pubDate>Mon, 18 May 2026 00:00:00 +0200</pubDate>
      <guid>https://sergiocomeron.com/blog/en/posts/cloudflare-tunnel/</guid>
      <description>&lt;p&gt;I have a Mac mini M4 at home serving this website, the blog, Moodle and several tools. For a long time I assumed that exposing anything to the internet meant opening ports on the router, dealing with dynamic IPs and hoping the ISP wouldn&amp;rsquo;t block incoming traffic. Cloudflare Tunnel solved all of that at once.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-cloudflare-tunnel&#34;&gt;What is Cloudflare Tunnel&lt;/h2&gt;&#xA;&lt;p&gt;Cloudflare Tunnel is a free service that creates an outbound encrypted connection between your server and the Cloudflare network. Instead of the internet reaching your server, it&amp;rsquo;s your server that reaches out to Cloudflare. Result: no open ports, no exposed IP, no router headaches.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Free tools for developers and educators</title>
      <link>https://sergiocomeron.com/blog/en/posts/herramientas-gratuitas-desarrolladores/</link>
      <pubDate>Sat, 16 May 2026 00:00:00 +0200</pubDate>
      <guid>https://sergiocomeron.com/blog/en/posts/herramientas-gratuitas-desarrolladores/</guid>
      <description>&lt;p&gt;Over the past few weeks I&amp;rsquo;ve been building a collection of free tools for developers and educators, hosted on my own server. No registration, no usage limits, no ads. Everything runs directly in the browser whenever possible, and when it needs a server, it runs on my Mac mini.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s a summary of what&amp;rsquo;s available.&lt;/p&gt;&#xA;&lt;h2 id=&#34;spanish-fake-data-generator&#34;&gt;Spanish fake data generator&lt;/h2&gt;&#xA;&lt;p&gt;This one took the most effort and I think it has the most unique value.&lt;/p&gt;</description>
    </item>
    <item>
      <title>From Recorded Class to Moodle Quiz in One Click</title>
      <link>https://sergiocomeron.com/blog/en/posts/ia-grabaciones-cuestionario-moodle/</link>
      <pubDate>Sat, 16 May 2026 00:00:00 +0200</pubDate>
      <guid>https://sergiocomeron.com/blog/en/posts/ia-grabaciones-cuestionario-moodle/</guid>
      <description>&lt;p&gt;Every time a teacher records a class, a learning opportunity is created that usually goes to waste. The video sits in storage, students watch it (or don&amp;rsquo;t), and the teacher moves on. No assessment, no summary, no way to navigate the content.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://moodle.org/plugins/mod_jitsi&#34;&gt;mod_jitsi&lt;/a&gt; changes that with three AI-powered features that activate directly from the Moodle activity.&lt;/p&gt;&#xA;&lt;h2 id=&#34;automatic-quiz&#34;&gt;Automatic Quiz&lt;/h2&gt;&#xA;&lt;p&gt;With one click, the plugin generates a complete quiz based on the actual content of the recording. The questions aren&amp;rsquo;t generic: they&amp;rsquo;re extracted from what the teacher explained in that specific session. The quiz is created directly as a Quiz activity in the same course — no copy-pasting required.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What&#39;s new in the Jitsi plugin v5.0</title>
      <link>https://sergiocomeron.com/blog/en/posts/jitsi-50/</link>
      <pubDate>Sun, 03 May 2026 00:00:00 +0200</pubDate>
      <guid>https://sergiocomeron.com/blog/en/posts/jitsi-50/</guid>
      <description>&lt;p&gt;With version &lt;strong&gt;5.0 of &lt;a href=&#34;https://github.com/SergioComeron/moodle-mod_jitsi&#34;&gt;mod_jitsi&lt;/a&gt;&lt;/strong&gt; the plugin takes a significant step forward in four directions: &lt;strong&gt;installation management&lt;/strong&gt; through a developer portal, &lt;strong&gt;recording analytics&lt;/strong&gt; with a viewing heatmap and attendance report, &lt;strong&gt;real-time presence&lt;/strong&gt; in the room, and several &lt;strong&gt;security and performance improvements&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-developer-portal&#34;&gt;1. Developer Portal&lt;/h2&gt;&#xA;&lt;p&gt;Until now there was no mechanism to know how many installations of the plugin existed or which features were being used. v5.0 adds an opt-in registration and telemetry system managed from &lt;a href=&#34;https://portal.sergiocomeron.com&#34;&gt;portal.sergiocomeron.com&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What&#39;s new in the Jitsi plugin v4.6</title>
      <link>https://sergiocomeron.com/blog/en/posts/jitsi-46/</link>
      <pubDate>Sun, 19 Apr 2026 00:00:00 +0200</pubDate>
      <guid>https://sergiocomeron.com/blog/en/posts/jitsi-46/</guid>
      <description>&lt;p&gt;Version &lt;strong&gt;4.6 of the &lt;a href=&#34;https://github.com/udima-university/moodle-mod_jitsi&#34;&gt;mod_jitsi&lt;/a&gt; plugin&lt;/strong&gt; is probably the biggest update since we introduced automatic provisioning on GCP. It touches four very different but complementary areas: &lt;strong&gt;recordings&lt;/strong&gt;, &lt;strong&gt;AI on top of the recordings&lt;/strong&gt;, &lt;strong&gt;private sessions&lt;/strong&gt; between users, and a new &lt;strong&gt;tutoring-hours system&lt;/strong&gt;. Let&amp;rsquo;s go through them one by one.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-recordings-on-gcp-the-jibri-pool&#34;&gt;1. Recordings on GCP: the Jibri pool&lt;/h2&gt;&#xA;&lt;h3 id=&#34;what-is-jibri&#34;&gt;What is Jibri&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/jitsi/jibri&#34;&gt;Jibri&lt;/a&gt; is the official recording component of Jitsi Meet. It is a separate virtual machine that joins the room as an invisible participant, captures video and audio with Chrome and saves the result as an MP4 file.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New in mod_jitsi: Automatic Server Provisioning on Google Cloud</title>
      <link>https://sergiocomeron.com/blog/en/posts/jitsi-gcp-provisioning/</link>
      <pubDate>Sat, 27 Dec 2025 00:00:00 +0100</pubDate>
      <guid>https://sergiocomeron.com/blog/en/posts/jitsi-gcp-provisioning/</guid>
      <description>&lt;p&gt;One of the biggest barriers to implementing videoconferencing in Moodle has been infrastructure. With the new version of the &lt;a href=&#34;https://github.com/udima-university/moodle-mod_jitsi&#34;&gt;mod_jitsi&lt;/a&gt; plugin, we&amp;rsquo;ve revolutionized this by introducing &lt;strong&gt;automatic provisioning of Jitsi servers on Google Cloud Platform&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-problem-we-solve&#34;&gt;The Problem We Solve&lt;/h2&gt;&#xA;&lt;p&gt;Traditionally, to have your own Jitsi server you needed to:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Manually configure a Linux server&lt;/li&gt;&#xA;&lt;li&gt;Install and configure Jitsi Meet&lt;/li&gt;&#xA;&lt;li&gt;Set up SSL with Let&amp;rsquo;s Encrypt&lt;/li&gt;&#xA;&lt;li&gt;Implement JWT authentication for moderator control&lt;/li&gt;&#xA;&lt;li&gt;Manage DNS and static IP addresses&lt;/li&gt;&#xA;&lt;li&gt;Maintain and scale the infrastructure&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;All of this required advanced technical knowledge and considerable time. &lt;strong&gt;Not anymore.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
