<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on eat·sleep·code</title><link>https://eatsleepcode.dev/posts/</link><description>Recent content in Posts on eat·sleep·code</description><generator>Hugo -- gohugo.io</generator><language>en-gb</language><copyright>© 2026 eat·sleep·code · Opinions expressed are solely my own.</copyright><lastBuildDate>Wed, 23 Sep 2026 12:00:00 +0000</lastBuildDate><atom:link href="https://eatsleepcode.dev/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Welcome to eat·sleep·code</title><link>https://eatsleepcode.dev/posts/welcome-to-eatsleepcode/</link><pubDate>Wed, 23 Sep 2026 12:00:00 +0000</pubDate><guid>https://eatsleepcode.dev/posts/welcome-to-eatsleepcode/</guid><description>&lt;p&gt;Welcome to &lt;strong&gt;eat·sleep·code.dev&lt;/strong&gt; — a digital workbench exploring the intersection of modern data engineering, distributed analytics, and agentic AI systems.&lt;/p&gt;&#10;&#10;&lt;h2 class="relative group"&gt;What to Expect&#10; &lt;div id="what-to-expect" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-to-expect" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;In this space, we dive into practical engineering insights, enterprise architecture patterns, and the hard-learned lessons that only surface in production:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Microsoft Fabric &amp;amp; Lakehouse Architecture&lt;/strong&gt;: Medallion design patterns, Delta Lake internals, Direct Lake performance tuning, and unified governance.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Multi-Agent AI Systems&lt;/strong&gt;: Moving beyond simple chat prompts into autonomous, resilient multi-agent execution graphs for enterprise data operations.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PySpark &amp;amp; High-Throughput Pipelines&lt;/strong&gt;: Distributed computation optimization, memory management, shuffle tuning, and scalable ETL/ELT pipelines.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;System Design &amp;amp; Engineering Principles&lt;/strong&gt;: Architectural decisions, API designs, and building robust, maintainable cloud platforms.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Multi-Agent Execution Loop in Python&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;run_data_agent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;task&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;AgentResult&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;plan&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;orchestrator&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plan_step&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;task&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;step&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;plan&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;steps&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;step&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;execute&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;success&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;orchestrator&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;remedy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;step&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;AgentResult&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;SUCCESS&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;plan&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;summary&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;p&gt;Stay tuned for deep-dives, architectural blueprints, and code walkthroughs.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://eatsleepcode.dev/posts/welcome-to-eatsleepcode/featured.gif"/></item><item><title>Strictly Come Ontology: Fabric IQ at Work on 22 Years of Strictly</title><link>https://eatsleepcode.dev/posts/strictly-come-ontology/</link><pubDate>Wed, 23 Sep 2026 12:00:00 +0100</pubDate><guid>https://eatsleepcode.dev/posts/strictly-come-ontology/</guid><description>&lt;h2 class="relative group"&gt;Why put Strictly in an ontology?&#10; &lt;div id="why-put-strictly-in-an-ontology" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-put-strictly-in-an-ontology" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;I have pulled 22 years of BBC Strictly Come Dancing into a Microsoft Fabric IQ ontology project. It covers all 23 previous UK series and the start of the 24th series, with 339 couples, 3,210 routines and 10,913 individual judges&amp;rsquo; marks. The project can now answer questions like &amp;ldquo;How does Craig mark a pro&amp;rsquo;s partners on the Paso Doble, compared with the rest of the panel?&amp;rdquo; — turning natural language into a walk through named things, rather than joining five data tables into a result set. As series 24 has just started, I plan to update this as we go.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://eatsleepcode.dev/posts/strictly-come-ontology/featured.png"/></item></channel></rss>