<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Miloš Kozák</title><link>https://pubs.miloskozak.cz/</link><description>Recent content on Miloš Kozák</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Wed, 16 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://pubs.miloskozak.cz/index.xml" rel="self" type="application/rss+xml"/><item><title>My used-to-be-loved projects, refreshed with Claude</title><link>https://pubs.miloskozak.cz/posts/used-to-be-loved-projects-refreshed-with-claude/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://pubs.miloskozak.cz/posts/used-to-be-loved-projects-refreshed-with-claude/</guid><description>&lt;p&gt;In 2018 I wrote a small &lt;a href="https://github.com/lejmr/dokuwiki-plugin-drawio"&gt;DokuWiki plugin&lt;/a&gt; that embeds &lt;a href="https://www.drawio.com"&gt;draw.io&lt;/a&gt; diagrams into wiki pages. Then life happened. Issues kept arriving, and every time I looked into my github profile I felt bad about it and did nothing, because I stopped using it around 2021. The plugin is still in the top 5 % of the DokuWiki plugin catalogue by popularity, people fork it and fix it for themselves. Download counts are still rising as people are still using it.&lt;/p&gt;
&lt;p&gt;So the experiment was not &amp;ldquo;can AI write a feature&amp;rdquo;. It was: &lt;strong&gt;can I set up a flow where agents integrate external changes, fix issues, and keep the thing alive, with me doing only the validation?&lt;/strong&gt; And it would not be me if I did not want the basic features under tests, so I know exactly what is breaking and what is not.&lt;/p&gt;
&lt;p&gt;I have mixed feelings about how it went. I started on Sunday evening and ran the first day from my phone, so I could not test anything, and Claude was confident everything was going fine. When I got to the computer, I realised that everything works and nothing works at the same time.&lt;/p&gt;</description></item><item><title>All I wanted was to see inside an ArrayList — but now you can too!</title><link>https://pubs.miloskozak.cz/posts/zig-debugging-in-zed/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://pubs.miloskozak.cz/posts/zig-debugging-in-zed/</guid><description>&lt;p&gt;I&amp;rsquo;m learning &lt;a href="https://ziglang.org"&gt;Zig&lt;/a&gt;. I chose a &lt;a href="https://github.com/lightbend/config/blob/main/HOCON.md"&gt;HOCON&lt;/a&gt; parser as my intro project. I am writing it from scratch and the parser core is mine, no AI writing it for me, because typing the code myself is the whole point. AI is my mentor: it shows me the proper idioms, helps me prepare tests, and generates auxiliary tools — e.g., Java and Python parsers to check compatibility.&lt;/p&gt;
&lt;p&gt;Very soon I realized I was learning a systems language without a debugger. Not having a good debugger is like learning anatomy from a book with the pictures torn out. I don&amp;rsquo;t want &lt;code&gt;std.debug.print&lt;/code&gt; archaeology. I want to put a breakpoint into my parser, run one test, and &lt;em&gt;look at my ArrayList&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;That turned out to be a bigger ask than I expected.&lt;/p&gt;</description></item><item><title>Smart Water Management System (DIY)</title><link>https://pubs.miloskozak.cz/posts/smart-water-management/</link><pubDate>Sat, 12 Jul 2025 00:00:00 +0000</pubDate><guid>https://pubs.miloskozak.cz/posts/smart-water-management/</guid><description>&lt;p&gt;&lt;em&gt;(The full ESPHome config and wiring live in &lt;a href="https://github.com/lejmr/dyi-ha-water-management"&gt;lejmr/dyi-ha-water-management&lt;/a&gt;.)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I have a 16m³ underground concrete rain water tank, a well, and a cellar that sits uncomfortably close to both. When the groundwater rises, it finds its way through the concrete and into the cellar — so I wanted a system that watches both water levels and runs the pump &lt;em&gt;before&lt;/em&gt; the water starts redecorating. And since it irrigates the lawn anyway, the water doesn&amp;rsquo;t even go to waste.&lt;/p&gt;</description></item><item><title>AWS Directory Service: seamless domain join (a time capsule)</title><link>https://pubs.miloskozak.cz/posts/aws-ds-seamless-join/</link><pubDate>Sun, 24 Jan 2021 00:00:00 +0000</pubDate><guid>https://pubs.miloskozak.cz/posts/aws-ds-seamless-join/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer, 2026:&lt;/strong&gt; I would build this differently today — much more of the early pipeline would be plain shell scripts doing the automation, so the whole thing gets shorter right at the start.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="motivation"&gt;Motivation&lt;/h2&gt;
&lt;p&gt;This story lives as a GitHub repository where I keep track of actual infrastructure configuration and this text. I will be very grateful if you consider sending pull-requests with either infrastructure configuration or textual changes there. It would be so great if this initial try changed into something anybody can effortlessly use in infrastructures.&lt;/p&gt;</description></item><item><title>CAROBS: the OMNeT++ simulator behind my PhD</title><link>https://pubs.miloskozak.cz/posts/carobs/</link><pubDate>Thu, 29 Sep 2016 00:00:00 +0000</pubDate><guid>https://pubs.miloskozak.cz/posts/carobs/</guid><description>&lt;p&gt;&lt;em&gt;(Published as &lt;a href="https://github.com/lejmr/carobs"&gt;lejmr/carobs&lt;/a&gt; — this post is its README with a bit of context.)&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A rock pile ceases to be a rock pile the moment a single man contemplates it, bearing within him the image of a cathedral.&lt;/em&gt;
— Antoine de Saint-Exupéry&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is the source of the all-optical network simulator I built during my PhD, based on the &lt;a href="https://omnetpp.org"&gt;OMNeT++&lt;/a&gt; event-driven simulator. It implements &lt;a href="http://spectrum.library.concordia.ca/979415/1/NR71141.pdf"&gt;CAROBS&lt;/a&gt;, an Optical Burst Switching (OBS) framework that concatenates bursts into &amp;ldquo;cars&amp;rdquo; for better link utilization. CAROBS itself comes from Thomas Coutelen&amp;rsquo;s 2010 Concordia thesis — I built on his architecture during my stay in Brigitte Jaumard&amp;rsquo;s lab in Montreal.&lt;/p&gt;</description></item></channel></rss>