<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[From An Engineer Sight]]></title><description><![CDATA[A periodic about data, engineering and design]]></description><link>https://fromanengineersight.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!5ENi!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1fb566-11bb-440e-8967-9104b1b75049_256x256.png</url><title>From An Engineer Sight</title><link>https://fromanengineersight.substack.com</link></image><generator>Substack</generator><lastBuildDate>Sun, 08 Mar 2026 06:05:47 GMT</lastBuildDate><atom:link href="https://fromanengineersight.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Benoit Pimpaud]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[fromanengineersight@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[fromanengineersight@substack.com]]></itunes:email><itunes:name><![CDATA[Benoit Pimpaud]]></itunes:name></itunes:owner><itunes:author><![CDATA[Benoit Pimpaud]]></itunes:author><googleplay:owner><![CDATA[fromanengineersight@substack.com]]></googleplay:owner><googleplay:email><![CDATA[fromanengineersight@substack.com]]></googleplay:email><googleplay:author><![CDATA[Benoit Pimpaud]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Specs Should Be Equations, Not Essays]]></title><description><![CDATA[Math Driven Spec]]></description><link>https://fromanengineersight.substack.com/p/specs-should-be-equations-not-essays</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/specs-should-be-equations-not-essays</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Thu, 26 Feb 2026 20:14:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zM6I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28d1ee13-96d5-43ff-b780-340cbcc4fdef_757x964.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zM6I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28d1ee13-96d5-43ff-b780-340cbcc4fdef_757x964.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zM6I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28d1ee13-96d5-43ff-b780-340cbcc4fdef_757x964.png 424w, https://substackcdn.com/image/fetch/$s_!zM6I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28d1ee13-96d5-43ff-b780-340cbcc4fdef_757x964.png 848w, https://substackcdn.com/image/fetch/$s_!zM6I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28d1ee13-96d5-43ff-b780-340cbcc4fdef_757x964.png 1272w, https://substackcdn.com/image/fetch/$s_!zM6I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28d1ee13-96d5-43ff-b780-340cbcc4fdef_757x964.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zM6I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28d1ee13-96d5-43ff-b780-340cbcc4fdef_757x964.png" width="757" height="964" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/28d1ee13-96d5-43ff-b780-340cbcc4fdef_757x964.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:964,&quot;width&quot;:757,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:441801,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/189185011?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28d1ee13-96d5-43ff-b780-340cbcc4fdef_757x964.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zM6I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28d1ee13-96d5-43ff-b780-340cbcc4fdef_757x964.png 424w, https://substackcdn.com/image/fetch/$s_!zM6I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28d1ee13-96d5-43ff-b780-340cbcc4fdef_757x964.png 848w, https://substackcdn.com/image/fetch/$s_!zM6I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28d1ee13-96d5-43ff-b780-340cbcc4fdef_757x964.png 1272w, https://substackcdn.com/image/fetch/$s_!zM6I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28d1ee13-96d5-43ff-b780-340cbcc4fdef_757x964.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>&#8220;Thomas, who was the father of both Eleanor and Richard, had a grandson through Eleanor named William, who in turn had two daughters, Charlotte and Margaret, while Richard had a son named James, who was the father of both Beatrice and Arthur, the latter of whom married William&#8217;s daughter Charlotte.&#8221;</em></p><p>Most of us have a hard time to get such a sentence.<br>What about the diagram below?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UKrt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e469e5-282d-416a-ac08-987088c260c6_2391x1298.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UKrt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e469e5-282d-416a-ac08-987088c260c6_2391x1298.png 424w, https://substackcdn.com/image/fetch/$s_!UKrt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e469e5-282d-416a-ac08-987088c260c6_2391x1298.png 848w, https://substackcdn.com/image/fetch/$s_!UKrt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e469e5-282d-416a-ac08-987088c260c6_2391x1298.png 1272w, https://substackcdn.com/image/fetch/$s_!UKrt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e469e5-282d-416a-ac08-987088c260c6_2391x1298.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UKrt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e469e5-282d-416a-ac08-987088c260c6_2391x1298.png" width="569" height="308.7293956043956" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29e469e5-282d-416a-ac08-987088c260c6_2391x1298.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:790,&quot;width&quot;:1456,&quot;resizeWidth&quot;:569,&quot;bytes&quot;:159216,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/189185011?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e469e5-282d-416a-ac08-987088c260c6_2391x1298.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UKrt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e469e5-282d-416a-ac08-987088c260c6_2391x1298.png 424w, https://substackcdn.com/image/fetch/$s_!UKrt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e469e5-282d-416a-ac08-987088c260c6_2391x1298.png 848w, https://substackcdn.com/image/fetch/$s_!UKrt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e469e5-282d-416a-ac08-987088c260c6_2391x1298.png 1272w, https://substackcdn.com/image/fetch/$s_!UKrt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e469e5-282d-416a-ac08-987088c260c6_2391x1298.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Easier right? By switching the representation, we ends up with something easier to understand. Here relationship is easier to grasp with a graph rather than a sequence of words.</p><p>Following the same idea, which formulation do you prefer?</p><ul><li><p>&#8220;For any given value of x, the corresponding value of y is found by adding 2 to x.&#8221;</p></li><li><p>&#8220;The value of y is always 2 more than the value of x.&#8221;</p></li><li><p>y = x + 2</p></li></ul><p>Kids often ask why they have to learn mathematics. <a href="https://medium.com/@benoit.pimpaud/why-do-we-study-mathematics-52d75d7fd049">What&#8217;s the point of learning times tables if the calculator can do it faster and better?</a><br>As we grow, we understand two things about mathematics:</p><ul><li><p>It brings mental models and patterns that help resolve anything</p></li><li><p>Its semantics and syntax are top-notch. One of the best set of representation humans have ever created.</p></li></ul><p>The mathematical expression isn&#8217;t just shorter - it&#8217;s transformative. It allows manipulation, extension, and application impossible with prose descriptions.</p><blockquote><p>The powers of cognition come from abstraction and representation: the ability to represent perceptions, experiences, and thoughts in some medium other than that in which they have occured, abstracted away from irrelevant details. This is the essence of intelligence, for if the representation and the processes are just right, the new experiences, insights, and creations can emerge.<br>The important point is that we can make marks or symbols that represent something else and the do our reasoning by using those marks</p></blockquote><h2>Natural Language is a Terrible Spec Language</h2><p>Natural language doesn&#8217;t seem so ambiguous in our daily life:</p><blockquote><p><em>[...] the ambiguity almost always results from the analysis of single, isolated sentences: in real situations, where several interacting people deal with real events, the sentences usually have only one meaningful interpretation. Actually, even when communications are ambigous, they are usually not perceived as such by either speaker or listener, even though both may have different interpretations of the meaning.</em></p></blockquote><blockquote><p><em><strong>It is the lack of perception of ambiguity that is important, and it derives from the communicative, social nature of language, something that is entirely missed when the language is studied as isolated, &#8220;simplified&#8221; printed sentences or utterances, completely abstracted from the real, social settings.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></strong></em></p></blockquote><p>Replace &#8220;printed sentences&#8221; with &#8220;tokens&#8221; and you have modern LLM training.</p><p>Also, when an LLM generates a response to an ambiguous prompt, it confidently selects one interpretation and proceeds - with no awareness that alternatives exist. It doesn&#8217;t &#8220;perceive&#8221; ambiguity because it has no mechanism for recognizing that its statistical resolution of a sentence is just one of several possible interpretations.</p><p>Humans don&#8217;t notice ambiguity because context resolves it most of the time.</p><p>And so while natural language still remains our main interface, the way we think and build creative solution is usually embedded into something deeper.</p><h2>Math Driven Spec</h2><p>I&#8217;ve been exploring lately how instead of creating <a href="https://github.com/Dicklesworthstone/frankensqlite/blob/main/COMPREHENSIVE_SPEC_FOR_FRANKENSQLITE_V1.md">a spec the size of a technical O&#8217;Reilly book</a> and creating a <a href="https://github.com/Ben8t/SpecObserver">Spec Observer skill</a>, we could use a mathematical representation for defining our spec.</p><p>The intuition here is that the shift happening from <em>writing code</em> to <em>writing specs</em> will expose how bad natural language is at precision.</p><p>That to extract a consistent, lean, and so maintenable and evolutive software specification, math can play a better role than natural language.</p><p>And so I&#8217;ve created this <a href="https://github.com/Ben8t/math-spec-driven-skill">math spec-driven skill</a>. It treats mathematics as a specification method, using sets, functions, relations, invariants, and explicit edge cases to define what a system is and what it must do.<br>It enforces three principles:</p><ul><li><p>Explicitness: every assumption is stated</p></li><li><p>Composability: parts can be specified independently, then combined safely</p></li><li><p>Falsifiability: claims are written so they can be proven or disproven</p></li></ul><p>For example building a TicTacToe game using this spec methodology looks like this:</p><p><strong>Board</strong> := P = {1..9} &#8594; {X, O, &#8709;}; initially &#8704;p &#8712; P: P(p) = &#8709;<br><strong>Players</strong> := T = {X, O}; turn(n) = X if n is odd, O if n is even<br><strong>Move</strong> := move(p, t) requires P(p) = &#8709; &#8743; turn(n) = t; sets P(p) &#8592; t<br><strong>Lines</strong> := L = {{1,2,3},{4,5,6},{7,8,9},{1,4,7},{2,5,8},{3,6,9},{1,5,9},{3,5,7}} <strong>Win</strong> := win(t) &#10234; &#8707;&#8467; &#8712; L : &#8704;p &#8712; &#8467;, P(p) = t<br><strong>Draw</strong> := draw &#10234; (&#8704;p &#8712; P: P(p) &#8800; &#8709;) &#8743; &#172;win(X) &#8743; &#172;win(O)<br><strong>Terminal</strong> := game ends when win(X) &#8744; win(O) &#8744; draw<br><strong>Invariant</strong> := |{p : P(p)=X}| &#8722; |{p : P(p)=O}| &#8712; {0, 1}</p><p>It can be frightening for most of us I do agree. But the LLM can easily return a translation for this:</p><blockquote><p>The <strong>board</strong> is a 3&#215;3 grid of 9 cells, each either X, O, or empty. All cells start empty.</p><p>Two players &#8212; X and O &#8212; alternate turns, with X always going first. On your turn, you place your mark in any empty cell.</p><p>A player <strong>wins</strong> if they fill an entire row, column, or diagonal (there are 8 such lines). The game is a <strong>draw</strong> if every cell is filled and nobody has won. The game <strong>ends</strong> the moment someone wins or the board is full.</p><p><strong>Invariant:</strong> at any point, the number of X&#8217;s on the board is either equal to or exactly one more than the number of O&#8217;s &#8212; this guarantees proper alternation.</p></blockquote><p>I did try that skills on several projects, and <a href="https://arxiv.org/pdf/2602.11988">even if it might be useless for agents</a><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>, it's valuable for me to iterate on the spec. I feel it easier to iterate on next steps when I have such rigorous foundation.</p><p>At the end of the day, the context we give to agents should be multi modal:</p><ul><li><p>text for intents, examples, problem-context</p></li><li><p>diagram for relationship between entities</p></li><li><p>and math for explicitness, composability, and falsifiability<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p></li></ul><p>This way we can use the full value of different representation and make things easier to maintain for both agents and humans.</p><h2>The Maxwell Equations For Spec?</h2><p>If we push the idea further here we could imagine finding the ultimate substrat of mathematical representation to describe any SaaS, any software.<br>That&#8217;s sounds like an utopia by the time I write this - but what we have achieved with frameworks and libraries in code really seem similar to a common set of equation expressed into a single formalism.</p><p>To build complex, maintenable and <a href="https://www.inkandswitch.com/essay/malleable-software/">malleable software </a>- ultimately to build at a higher level of abstraction - we somehow need the power that come from that level of representation.</p><p>In that scheme, we can see math as the <em>source of truth</em> and code or natural language as a <em>projections</em>.</p><p>Math spec. come also with a crazy idea here: what if you apply the math themselves to create software and test it after the fact. We can imagine a similar build as SMT-solver or constraint optimization methodology, basically:</p><ul><li><p><strong>math spec = the score function</strong> - the gradient field that defines what &#8220;valid&#8221; looks like</p></li><li><p><strong>code = a sample</strong> from the distribution of valid programs</p></li><li><p><strong>generation process = iterative refinement</strong> where an agent proposes code and the spec&#8217;s invariants pull it toward correctness, like a potential field where the math model spec. allow to create the whole object in one-shot - swarm of agent iterating toward the optimal solution.</p></li></ul><p>I&#8217;m not an expert in LLM architecture and optimization process, but that also resonate with diffusion models where you start from noise and iteratively denoise toward a sample that satisfies the learned distribution.</p><h2>The Gradient Points To People</h2><p>If Yann LeCun is right - and language really is just &#8220;lossy compression&#8221; of reality - then every spec we write in prose is already degraded before an agent touches it. I think he&#8217;s right - and the implication for software is direct. Every time we write a spec in natural language, we lose information. Every time an agent reads that spec, it loses more. The losses compound. Math doesn&#8217;t fix everything, but it preserves structure in a way prose simply cannot.</p><p><a href="https://fromanengineersight.substack.com/p/issue-43-the-best-code-you-never">&#8220;You want to write the least code as possible&#8221;</a> has been the mantra for years. Now we&#8217;re getting there. But the bottleneck doesn&#8217;t disappear, it moves. It moves from code to spec. From spec to intent. From intent to understanding the actual problem.</p><p>Which means, paradoxically, the more formal and mathematical our specifications get, the more human the hard part becomes. Creating good software means having good specs. Having good specs means having context and taste. And context and taste come from one place only: talking to people, understanding what they need, sitting with their problems long enough to see the shape of them. <a href="https://boz.com/articles/communication-is-the-job">Communication is the job</a>.</p><p>Natural language has been grown by humans to share cognition and sentiments. These are ultimately the two things why people work with you. The math gives us precision. The conversation gives us direction. We need both - and knowing when to switch between them might be the real skill now<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a>.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>All quotes come from <em><a href="https://www.amazon.com/Things-That-Make-Smart-Attributes/dp/0201626950">Things That Make Us Smart: Defending Human Attributes In The Age Of The Machine</a></em> by Donald A. Norman. Lot of concepts there resonate with current discussion. The book was released in 1993.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>I actually did notice shorter iterations in my process for writing test cases and agent QA method.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>TDD and DDD methodologies seems also to fit that realm. If you put these into your AGENTS.md, there is a chance the code generated will be easier to understand for humans.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>It&#8217;s all new here - mainly exploration and guessing what&#8217;s next. <a href="https://arxiv.org/pdf/2602.11988">Maybe spec are useless</a>. I agree with <a href="https://steve-yegge.medium.com/the-ai-vampire-eda6e4f07163">Steve Yegge</a> that it might be time to close the laptop a bit more. <a href="https://www.youtube.com/watch?v=We7BZVKbCVw">&#8220;Code is largely solved&#8221;</a>. We will likely need to focus on other matters soon.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Issue 54 - The Intern]]></title><description><![CDATA[Let's develop pro tools]]></description><link>https://fromanengineersight.substack.com/p/issue-54-the-intern</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/issue-54-the-intern</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Thu, 22 Jan 2026 16:42:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tCuI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c33aac2-8a8c-4cc6-b58e-fde325df4b5d_960x644.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tCuI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c33aac2-8a8c-4cc6-b58e-fde325df4b5d_960x644.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tCuI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c33aac2-8a8c-4cc6-b58e-fde325df4b5d_960x644.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tCuI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c33aac2-8a8c-4cc6-b58e-fde325df4b5d_960x644.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tCuI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c33aac2-8a8c-4cc6-b58e-fde325df4b5d_960x644.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tCuI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c33aac2-8a8c-4cc6-b58e-fde325df4b5d_960x644.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tCuI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c33aac2-8a8c-4cc6-b58e-fde325df4b5d_960x644.jpeg" width="960" height="644" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2c33aac2-8a8c-4cc6-b58e-fde325df4b5d_960x644.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:644,&quot;width&quot;:960,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tCuI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c33aac2-8a8c-4cc6-b58e-fde325df4b5d_960x644.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tCuI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c33aac2-8a8c-4cc6-b58e-fde325df4b5d_960x644.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tCuI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c33aac2-8a8c-4cc6-b58e-fde325df4b5d_960x644.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tCuI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c33aac2-8a8c-4cc6-b58e-fde325df4b5d_960x644.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Over the last few years, a subject has come up: we don&#8217;t hire juniors or interns anymore<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>. LLM coding agents are the new juniors, they say.</p><p>You&#8217;ve probably heard the pitch by now. The sales guys and the tech evangelists - they all love to say it:</p><p><em>&#8220;AI is like having an army of interns at your disposal.&#8221;</em></p><p>But I don&#8217;t think we&#8217;ve ever had a problem where we thought, &#8220;Man, you know what we need right now? An army of interns. Just like, hundreds of people who don&#8217;t really know what they&#8217;re doing. That would REALLY help.&#8221;</p><p>The problem isn&#8217;t capability or capacity - it&#8217;s trust.</p><p>How do you trust a junior developer? Over time, through practice and teaching. We forget that trust is a resource you have to build. It&#8217;s slow. It&#8217;s expensive. It&#8217;s exactly like working with a junior developer. You don&#8217;t just hand them the keys to production on day one (or at least, I hope you don&#8217;t). You teach them. You review their PRs. You watch them break things, fix things, and eventually - slowly - you learn to trust their judgment.</p><p>I actually feel more and more the same way working with LLM coding agents for serious work. When it&#8217;s not a greenfield project, I cautiously give them the proper scope, take the time to review their work, give them only the easy stuff. The same work I&#8217;d give to an intern.</p><p>So why are we so convinced we should hire the artificial ones?</p><p>I mean, yes, the artificial ones are trained. It&#8217;s expensive to train them. Our whole economy could crash because of it. And yes, we trust them - at least to some extent.<br>Since trust is something you build over time, the more we use these new orbs, the more we&#8217;ll trust them. I already feel pretty confident run a Codex Agent, use Cursor for any kind of serious tasks or let my Comet Perplexity agent take control of my browser to move a Google Doc into a Google Slide.</p><p>But I still feel the need to train someone. Not just for empathy or self-ego, but to see where I don&#8217;t understand things, where I have holes in my reasoning - and ultimately, to pass on a culture.<br>The instinct with investing in an intern is to curate a culture, not to teach, not primarily.</p><p>Because if we don&#8217;t hire juniors anymore<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>, maybe we shouldn&#8217;t hire the artificial ones either... those don&#8217;t really get on the culture stuff.</p><p>The more mature teams have already figured out the new cultural shift: you still hire juniors and interns, but now you teach them to use AI as part of their work. As part of the craft itself. Of the culture we&#8217;re building right now. It really feels like we are building from the ground up - not just adding tech here.</p><p>Because if nobody teaches new people how to use AI properly, eventually nobody will know how to use it at all.</p><blockquote><p>Let&#8217;s not shy away from developing pro tools, but encourage and teach them.</p></blockquote><div><hr></div><h1>&#128225; Expected Contents</h1><h3>When natural language feels unnatural</h3><blockquote><p>Language is flexible, but flexible does not mean precise. Most people who use LLMs regularly have experienced a variation of the following:</p><ul><li><p>You ask for a small revision, and the assistant rewrites the entire document.</p></li><li><p>You request a color change in a codebase, and the tool &#8220;helpfully&#8221; restructures half your components.</p></li><li><p>You ask for a tighter paragraph, and it returns something in a completely different voice.</p></li></ul><p>The problem isn&#8217;t that the model is incapable of understanding the request. The problem is that the interface is too ambiguous for the level of precision the user expects. Language carries nuance, but it also carries room for misinterpretation. The more specific the adjustment, the more unnatural it feels to communicate it through free-form text.</p></blockquote><p>I hope (and I am sure) we will see not only a text box. We actually see the premise: we use <code>/commands</code> or skills more and more. We create graphs of prompts or agents. We speak to the computer.</p><p>At first I was expecting new components to appear, new things in the UI itself. But the more I see where we go so far, the more I see it&#8217;s more of a multimodal evolution. It resonates a lot with <a href="https://dynamicland.org/">DynamicLand</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.proofofconcept.pub/p/when-natural-language-feels-unnatural&quot;,&quot;text&quot;:&quot;&#128073; Read the blog&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.proofofconcept.pub/p/when-natural-language-feels-unnatural"><span>&#128073; Read the blog</span></a></p><div><hr></div><h3>A Human on a Bycicle is Among the Most Efficient Forms of Travel</h3><blockquote><p>Bikes allow us terrestrial folk to be more like fish. Wheels, a simple machine, let us coast without putting in power by pedaling, and the rigid frame supports the sitting rider against gravity. &#8220;They turn humans into this hyperefficient terrestrial locomotor because they make being on land more like swimming,&#8221; says Tyson Hedrick, a comparative physiologist at the University of North Carolina at Chapel Hill. The main drawback is our clunky human shape; bicyclists aren&#8217;t streamlined like bluefin tuna, so they must overcome more drag. Hedrick calculates that bicycles with an aerodynamic shell, called <a href="https://www.3ike.es/products/milan-sl?srsltid=AfmBOoo5mT1Cn_jTcRdRR09TvZ79_TKc5-9e6hLIwC78iAzcpKOaBQm1">velomobiles</a>, can let humans move with even more aquatic efficiency.</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.scientificamerican.com/article/a-human-on-a-bicycle-is-among-the-most-efficient-forms-of-travel-in-the&quot;,&quot;text&quot;:&quot;&#128073; Read the article&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.scientificamerican.com/article/a-human-on-a-bicycle-is-among-the-most-efficient-forms-of-travel-in-the"><span>&#128073; Read the article</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0AFu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5195e32-c1fe-4c24-8b77-b410116917d2_1300x1019.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0AFu!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5195e32-c1fe-4c24-8b77-b410116917d2_1300x1019.gif 424w, https://substackcdn.com/image/fetch/$s_!0AFu!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5195e32-c1fe-4c24-8b77-b410116917d2_1300x1019.gif 848w, https://substackcdn.com/image/fetch/$s_!0AFu!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5195e32-c1fe-4c24-8b77-b410116917d2_1300x1019.gif 1272w, https://substackcdn.com/image/fetch/$s_!0AFu!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5195e32-c1fe-4c24-8b77-b410116917d2_1300x1019.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0AFu!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5195e32-c1fe-4c24-8b77-b410116917d2_1300x1019.gif" width="1300" height="1019" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5195e32-c1fe-4c24-8b77-b410116917d2_1300x1019.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1019,&quot;width&quot;:1300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0AFu!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5195e32-c1fe-4c24-8b77-b410116917d2_1300x1019.gif 424w, https://substackcdn.com/image/fetch/$s_!0AFu!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5195e32-c1fe-4c24-8b77-b410116917d2_1300x1019.gif 848w, https://substackcdn.com/image/fetch/$s_!0AFu!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5195e32-c1fe-4c24-8b77-b410116917d2_1300x1019.gif 1272w, https://substackcdn.com/image/fetch/$s_!0AFu!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5195e32-c1fe-4c24-8b77-b410116917d2_1300x1019.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>Using power tools</h3><blockquote><p>Knowing when to use which tool is a mark of maturity. The master woodworker isn&#8217;t defined by owning the most powerful equipment but by judgment. They know when to reach for the table saw, when to use a hand plane, and when to stop cutting altogether.</p></blockquote><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:177112913,&quot;url&quot;:&quot;https://www.proofofconcept.pub/p/using-power-tools&quot;,&quot;publication_id&quot;:22603,&quot;publication_name&quot;:&quot;Proof of Concept&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!aLi3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3908f34-06c0-4b61-bc51-c3d632c2226b_1000x1000.png&quot;,&quot;title&quot;:&quot;Power tools&quot;,&quot;truncated_body_text&quot;:&quot;In art school, we had a curriculum that forced us to have a well-rounded perspective of different crafts outside of our major&#8212;fostering the archetype of being a generalist. Even though I majored in Drawing and Painting, I studied several courses in Photography, Ceramics, Sculpture, Jewelry/Metalsmithing, and Wood Design.&quot;,&quot;date&quot;:&quot;2025-10-26T16:30:30.457Z&quot;,&quot;like_count&quot;:15,&quot;comment_count&quot;:3,&quot;bylines&quot;:[{&quot;id&quot;:5501267,&quot;name&quot;:&quot;David Hoang&quot;,&quot;handle&quot;:&quot;davidhoang&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Mb6S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d8d1e28-d104-4656-8a25-d12b637e2f08_1500x1500.jpeg&quot;,&quot;bio&quot;:&quot;Investing and building tools that revolutionize the internet.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-07-18T05:40:02.546Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-03-09T15:30:17.426Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:151493,&quot;user_id&quot;:5501267,&quot;publication_id&quot;:22603,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:22603,&quot;name&quot;:&quot;Proof of Concept&quot;,&quot;subdomain&quot;:&quot;davidhoang&quot;,&quot;custom_domain&quot;:&quot;www.proofofconcept.pub&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Proof of Concept is a digital publication about creativity and experimentation for designers, builders, and entrepreneurs.&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3908f34-06c0-4b61-bc51-c3d632c2226b_1000x1000.png&quot;,&quot;author_id&quot;:5501267,&quot;primary_user_id&quot;:5501267,&quot;theme_var_background_pop&quot;:&quot;#6c0095&quot;,&quot;created_at&quot;:&quot;2019-12-01T23:17:17.250Z&quot;,&quot;email_from_name&quot;:&quot;Proof of Concept&quot;,&quot;copyright&quot;:&quot;David Hoang&quot;,&quot;founding_plan_name&quot;:&quot;Super fan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;magaziney&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;davidhoang&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:1,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;subscriber&quot;,&quot;tier&quot;:1,&quot;accent_colors&quot;:null},&quot;paidPublicationIds&quot;:[232240,10845],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://www.proofofconcept.pub/p/using-power-tools?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!aLi3!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3908f34-06c0-4b61-bc51-c3d632c2226b_1000x1000.png" loading="lazy"><span class="embedded-post-publication-name">Proof of Concept</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Power tools</div></div><div class="embedded-post-body">In art school, we had a curriculum that forced us to have a well-rounded perspective of different crafts outside of our major&#8212;fostering the archetype of being a generalist. Even though I majored in Drawing and Painting, I studied several courses in Photography, Ceramics, Sculpture, Jewelry/Metalsmithing, and Wood Design&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">4 months ago &#183; 15 likes &#183; 3 comments &#183; David Hoang</div></a></div><div><hr></div><h3>The Programmer Identity Crisis</h3><p>I think we&#8217;re wrong about vibe coding. It&#8217;s not a regression from expert developer. And maybe it&#8217;s a real win: flow state.</p><p>When I vibe code, I&#8217;m in flow. I talk to the computer or write energetically. When I am building an agent, and when that agent is working, I start a new one. I stay in the state. I don&#8217;t wait for CI or for the machine to build. I keep working and the agents work for me. I stay in flow state.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://hojberg.xyz/the-programmer-identity-crisis/&quot;,&quot;text&quot;:&quot;&#128073; Read the blog&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://hojberg.xyz/the-programmer-identity-crisis/"><span>&#128073; Read the blog</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Dubn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04474bcd-19e0-46a7-bfde-f1746abb3f8b_432x460.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Dubn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04474bcd-19e0-46a7-bfde-f1746abb3f8b_432x460.png 424w, https://substackcdn.com/image/fetch/$s_!Dubn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04474bcd-19e0-46a7-bfde-f1746abb3f8b_432x460.png 848w, https://substackcdn.com/image/fetch/$s_!Dubn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04474bcd-19e0-46a7-bfde-f1746abb3f8b_432x460.png 1272w, https://substackcdn.com/image/fetch/$s_!Dubn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04474bcd-19e0-46a7-bfde-f1746abb3f8b_432x460.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Dubn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04474bcd-19e0-46a7-bfde-f1746abb3f8b_432x460.png" width="176" height="187.40740740740742" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04474bcd-19e0-46a7-bfde-f1746abb3f8b_432x460.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:460,&quot;width&quot;:432,&quot;resizeWidth&quot;:176,&quot;bytes&quot;:26921,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/185390875?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04474bcd-19e0-46a7-bfde-f1746abb3f8b_432x460.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Dubn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04474bcd-19e0-46a7-bfde-f1746abb3f8b_432x460.png 424w, https://substackcdn.com/image/fetch/$s_!Dubn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04474bcd-19e0-46a7-bfde-f1746abb3f8b_432x460.png 848w, https://substackcdn.com/image/fetch/$s_!Dubn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04474bcd-19e0-46a7-bfde-f1746abb3f8b_432x460.png 1272w, https://substackcdn.com/image/fetch/$s_!Dubn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04474bcd-19e0-46a7-bfde-f1746abb3f8b_432x460.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h1>&#128240; The Blog Post</h1><p>No deep dive blog post this time; quite busy recently. I will see what can be put on papers later this month.</p><div><hr></div><h1>&#127912; Beyond The Bracket</h1><p>Before you ask AI another dumb question, watch this:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;8ee581bc-8337-4f6d-aadf-3dc0d966c22e&quot;,&quot;duration&quot;:null}"></div><div><hr></div><p>Lot of things happening here: end of the year, <a href="https://kestra.io/blogs/release-1-2">Kestra 1.2 release</a>, moving in a new appartement, planning vacation, etc. It&#8217;s great. Designing and introducing <a href="https://kestra.io/docs/enterprise/governance/assets">Asset</a> in Kestra is exciting. Moving in a new flat is even more.<br>I&#8217;ve been excited over Claude Code and Superwhisper lately. You see it at work when a product teammate successfully <a href="https://github.com/kestra-io/duckdb-ion">merges a PR in C++ for a DuckDB extension</a>. When I skip asking my designer for UI mockups and just build high-fidelity prototypes directly. When I speak to my computer and watch my personal website rebuild itself.</p><p>We all know the shift is happening. And like most of you, I&#8217;m excited to see where we will land.</p><p>See you until next one!</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Looking at different sources, it&#8217;s actually not totally clear if this fact is backed by proper data. Here are some references: <a href="https://ise.org.uk/knowledge/insights/245/what_is_the_state_of_global_early_career_hiring_in_2024/">https://ise.org.uk/knowledge/insights/245/what_is_the_state_of_global_early_career_hiring_in_2024/</a>, <a href="https://www.ilo.org/resource/article/future-work-how-will-junior-programmers-be-affected">https://www.ilo.org/resource/article/future-work-how-will-junior-programmers-be-affected</a>, <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5425555">https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5425555</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>again, according to current thinking</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Issue 53 - Did Marin Mersenne have fun?]]></title><description><![CDATA[The Metastasize of Templating in Declarative Language]]></description><link>https://fromanengineersight.substack.com/p/issue-53-did-marin-mersenne-have</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/issue-53-did-marin-mersenne-have</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Sun, 14 Dec 2025 16:42:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cUXm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363566a2-c7e9-4853-af5c-f5dd8fbbb03e_1024x687.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cUXm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363566a2-c7e9-4853-af5c-f5dd8fbbb03e_1024x687.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cUXm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363566a2-c7e9-4853-af5c-f5dd8fbbb03e_1024x687.png 424w, https://substackcdn.com/image/fetch/$s_!cUXm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363566a2-c7e9-4853-af5c-f5dd8fbbb03e_1024x687.png 848w, https://substackcdn.com/image/fetch/$s_!cUXm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363566a2-c7e9-4853-af5c-f5dd8fbbb03e_1024x687.png 1272w, https://substackcdn.com/image/fetch/$s_!cUXm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363566a2-c7e9-4853-af5c-f5dd8fbbb03e_1024x687.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cUXm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363566a2-c7e9-4853-af5c-f5dd8fbbb03e_1024x687.png" width="1024" height="687" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/363566a2-c7e9-4853-af5c-f5dd8fbbb03e_1024x687.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:687,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:957505,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/180714446?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363566a2-c7e9-4853-af5c-f5dd8fbbb03e_1024x687.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cUXm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363566a2-c7e9-4853-af5c-f5dd8fbbb03e_1024x687.png 424w, https://substackcdn.com/image/fetch/$s_!cUXm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363566a2-c7e9-4853-af5c-f5dd8fbbb03e_1024x687.png 848w, https://substackcdn.com/image/fetch/$s_!cUXm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363566a2-c7e9-4853-af5c-f5dd8fbbb03e_1024x687.png 1272w, https://substackcdn.com/image/fetch/$s_!cUXm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363566a2-c7e9-4853-af5c-f5dd8fbbb03e_1024x687.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Plate from *&#8221;La Perspective curieuse&#8221;*, 1638.</figcaption></figure></div><p>Building is fun. At least for engineers like me. You have an idea, you ask your favorite orb to do it, you iterate, you test, you push to Git and deploy to Vercel. You call it a day.</p><p>Because we don&#8217;t control distribution as much as we do with our keyboards<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>, most of these projects fall into oblivion. More than we want to admit.</p><p>I personally always try to frame such project around a pain, <a href="https://github.com/Ben8t/TheNewPrinter">a challenge I have myself</a>. A potential market, as small as it can be.<br>And while wondering at the market size or the best pricing model is pretty enjoyable intellectually, distributing the actual thing to the world is not.<br>It&#8217;s just not fun.</p><p>Playing the game of the social networks, probing SEO algorithms<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>, or reaching to influencers: this feels like chores.<br>Yes marketing is partially automatable nowadays - but again, it&#8217;s not fun and most of the time it doesn&#8217;t feel great...</p><p>Back in the 17th century, <a href="https://en.wikipedia.org/wiki/Marin_Mersenne">Marin Mersenne</a> was the guy to know if you wanted to pitch your idea and ultimately distribute it at &#8211; so-called &#8211; scale.<br>His network was broad, spreading from Descartes to Galileo, from Hobbes to Pascal, from Fermat to Gassendi.</p><p>Did he do it for fun?<br>He was actually a productive music theorist and engineer himself, so he must have found another kind of joy in all that work to keep his network linked.</p><p>Like the size of our friend relationships today, the scale of distribution was smaller back then. It was face-to-face, word of mouth only. <a href="https://www.elenaverna.com/p/brand-a-product-job-now">The product was the brand</a>. <a href="https://fromanengineersight.substack.com/publish/posts/detail/35740240?referrer=%2Fpublish%2Fposts%2Fpublished">Because great things scale</a>.</p><p>It was also fun. Mersenne wasn&#8217;t running ads or gaming algorithms. He was connecting people who&#8217;d genuinely geek out together.<br>If people are building <a href="https://wirednot.wordpress.com/2025/04/18/meshtastic-kinda-boring-yet-utterly-fascinating/comment-page-1/">off-grid networks</a>, or simply writing newsletters, there might still be a bit of fun out there.</p><p>If you were Mersenne today, who would you connect? What network would you build for the joy of it?</p><div><hr></div><h1>&#128225; Expected Contents</h1><h3>New Maxime Beauchemin Project</h3><p>Exciting project from the father of Airflow and Superset! This time it&#8217;s orchestration again, but agent orchestration.<br>Looking at the demo and preview, it seems very experimental. But I can also feel that&#8217;s where we need to move forward: new UI and UX around AI.<br>I haven&#8217;t tested it yet &#8211; to me, the costs are a bit too high for developers willing to use this kind of tool without any limits - but this is definitely a project to keep in mind.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://agor.live/guide&quot;,&quot;text&quot;:&quot;&#128073; Check Agor&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://agor.live/guide"><span>&#128073; Check Agor</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KgI5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e1a29b-4883-450f-946f-751605d4e6db_2324x1444.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KgI5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e1a29b-4883-450f-946f-751605d4e6db_2324x1444.png 424w, https://substackcdn.com/image/fetch/$s_!KgI5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e1a29b-4883-450f-946f-751605d4e6db_2324x1444.png 848w, https://substackcdn.com/image/fetch/$s_!KgI5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e1a29b-4883-450f-946f-751605d4e6db_2324x1444.png 1272w, https://substackcdn.com/image/fetch/$s_!KgI5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e1a29b-4883-450f-946f-751605d4e6db_2324x1444.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KgI5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e1a29b-4883-450f-946f-751605d4e6db_2324x1444.png" width="1456" height="905" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5e1a29b-4883-450f-946f-751605d4e6db_2324x1444.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:905,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2717881,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/180714446?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e1a29b-4883-450f-946f-751605d4e6db_2324x1444.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KgI5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e1a29b-4883-450f-946f-751605d4e6db_2324x1444.png 424w, https://substackcdn.com/image/fetch/$s_!KgI5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e1a29b-4883-450f-946f-751605d4e6db_2324x1444.png 848w, https://substackcdn.com/image/fetch/$s_!KgI5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e1a29b-4883-450f-946f-751605d4e6db_2324x1444.png 1272w, https://substackcdn.com/image/fetch/$s_!KgI5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e1a29b-4883-450f-946f-751605d4e6db_2324x1444.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>Branding &amp; Good Design</h3><p>While I was already a design geek before joining Kestra, I am even more so after working with Nicolas as Design Lead.<br>Having a dedicated expert on design in a software company brings something unique to the brand. Being able to ask, edit in peer sessions, and see the evolution month after month makes me think again about how important design is.</p><p>Recently, I discovered that Grammarly acquired Superhuman (the email client company) and requested a whole new branding design from <a href="https://smith-diction.com/">the Smith Diction agency</a>. The results and reflection are shown in the blog shared below &#8211; it&#8217;s very inspirational and it shows how much craft can be involved in such a journey. Really beautiful and well executed!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://medium.com/smith-diction/branding-superhuman-and-grammarly-and-coda-8c57f970bead&quot;,&quot;text&quot;:&quot;&#128073; Check the blog&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://medium.com/smith-diction/branding-superhuman-and-grammarly-and-coda-8c57f970bead"><span>&#128073; Check the blog</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gL-o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1ccc0d-ff61-434d-a49b-d943d44c024a_2194x1248.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gL-o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1ccc0d-ff61-434d-a49b-d943d44c024a_2194x1248.png 424w, https://substackcdn.com/image/fetch/$s_!gL-o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1ccc0d-ff61-434d-a49b-d943d44c024a_2194x1248.png 848w, https://substackcdn.com/image/fetch/$s_!gL-o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1ccc0d-ff61-434d-a49b-d943d44c024a_2194x1248.png 1272w, https://substackcdn.com/image/fetch/$s_!gL-o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1ccc0d-ff61-434d-a49b-d943d44c024a_2194x1248.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gL-o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1ccc0d-ff61-434d-a49b-d943d44c024a_2194x1248.png" width="1456" height="828" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc1ccc0d-ff61-434d-a49b-d943d44c024a_2194x1248.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:828,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1265116,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/180714446?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1ccc0d-ff61-434d-a49b-d943d44c024a_2194x1248.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gL-o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1ccc0d-ff61-434d-a49b-d943d44c024a_2194x1248.png 424w, https://substackcdn.com/image/fetch/$s_!gL-o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1ccc0d-ff61-434d-a49b-d943d44c024a_2194x1248.png 848w, https://substackcdn.com/image/fetch/$s_!gL-o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1ccc0d-ff61-434d-a49b-d943d44c024a_2194x1248.png 1272w, https://substackcdn.com/image/fetch/$s_!gL-o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1ccc0d-ff61-434d-a49b-d943d44c024a_2194x1248.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>When a Bug Saved the Company</h3><p>This blog shows how much a business model can be off. And how a simple touch - or a bug in that case - can improve the sales.</p><p>By the way, if you are looking for a great resource on how to build a pricing model: <a href="https://github.com/quentin-py/awesome-pricing">here is GitHub repository</a> regrouping many o the best ones on the web (thanks <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Quentin Sinig&quot;,&quot;id&quot;:19913227,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5e4c6c1-060a-4fc9-b4da-37fa7f7dbb89_400x400.jpeg&quot;,&quot;uuid&quot;:&quot;a3d3042f-c2cc-4e1a-bdd0-464871466dd9&quot;}" data-component-name="MentionToDOM"></span> for managing this repository)</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://weblog.rogueamoeba.com/2025/08/21/when-a-bug-saved-the-company&quot;,&quot;text&quot;:&quot;&#128073; Read the story&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://weblog.rogueamoeba.com/2025/08/21/when-a-bug-saved-the-company"><span>&#128073; Read the story</span></a></p><div><hr></div><h3>Delayed Innovation</h3><p>Last time we talked about the <a href="https://fromanengineersight.substack.com/i/177442454/the-long-nose-innovation">long nose of innovation</a>. While I am looking for the productization part for data, I am still looking around at the innovation part on other domains.</p><p>This has been highlighted by <a href="https://www.youtube.com/@mkbhd">MKBHD</a>: it seems like tech companies are developing and ultimately deploying products backwards. They are not delivering finished products but the promise of them. Look at this <a href="https://www.alterego.io/">&#8220;telepathy device&#8221;</a> or this <a href="https://www.1x.tech/neo">&#8220;autonomous robot&#8221;</a>. The promise is on par with the best science fiction books from the 1970s. The actual product is not.</p><p>While less controversial, it has been interesting to see how we are trying to reinvent the computer; moving from numeric to analogic. Look at this <a href="https://extropic.ai/">thermodynamic computing thing</a>.</p><p>All of these will likely be delivered eventually. The argument for shipping this early is all about training data (and a bit about money too) and the early adopters will likely pave the way forward &#8211; like most of the time. It&#8217;s just delayed innovation. <a href="https://fromanengineersight.substack.com/p/issue-20-not-evenly-distributed?utm_source=publication-search">Because the future is not evenly distributed</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IoXM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35b7fb7a-128c-4a65-982a-e0488dd34ef4_2840x1492.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IoXM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35b7fb7a-128c-4a65-982a-e0488dd34ef4_2840x1492.png 424w, https://substackcdn.com/image/fetch/$s_!IoXM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35b7fb7a-128c-4a65-982a-e0488dd34ef4_2840x1492.png 848w, https://substackcdn.com/image/fetch/$s_!IoXM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35b7fb7a-128c-4a65-982a-e0488dd34ef4_2840x1492.png 1272w, https://substackcdn.com/image/fetch/$s_!IoXM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35b7fb7a-128c-4a65-982a-e0488dd34ef4_2840x1492.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IoXM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35b7fb7a-128c-4a65-982a-e0488dd34ef4_2840x1492.png" width="1456" height="765" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35b7fb7a-128c-4a65-982a-e0488dd34ef4_2840x1492.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:765,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5951371,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/180714446?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35b7fb7a-128c-4a65-982a-e0488dd34ef4_2840x1492.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IoXM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35b7fb7a-128c-4a65-982a-e0488dd34ef4_2840x1492.png 424w, https://substackcdn.com/image/fetch/$s_!IoXM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35b7fb7a-128c-4a65-982a-e0488dd34ef4_2840x1492.png 848w, https://substackcdn.com/image/fetch/$s_!IoXM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35b7fb7a-128c-4a65-982a-e0488dd34ef4_2840x1492.png 1272w, https://substackcdn.com/image/fetch/$s_!IoXM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35b7fb7a-128c-4a65-982a-e0488dd34ef4_2840x1492.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Order now&#8230; get value later</figcaption></figure></div><div><hr></div><h1>&#128240; The Blog Post</h1><p>While dbt recently released support for <a href="https://github.com/dbt-labs/dbt-core/releases/tag/v1.11.0b4">UDF functions in Python</a>, it doesn&#8217;t change the fact that we write SQL with Jinja templating. Like we do with Helm, in Terraform in another way, or in jQuery a decade ago.</p><p>Happy to release that one as it has been in the draft folder for a long time. It seems to resonate with fellow engineers. Hopefully, we won&#8217;t stay in that state for too long.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;e73451aa-42d7-4d8a-9c1b-ed8d43645482&quot;,&quot;caption&quot;:&quot;We added Jinja to our dbt project to avoid copy-pasting SQL. Then we needed loops. Then conditionals. Then macros that call other macros. Now we&#8217;re debugging template rendering errors at 2am, and somewhere along the way, our &#8220;configuration&#8221; became a full programming language - just one without a debugger, type system, or any of the tooling we&#8217;d expect f&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Metastasize of Templating in Declarative Language&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:23621089,&quot;name&quot;:&quot;Benoit Pimpaud&quot;,&quot;bio&quot;:&quot;Writing From An Engineer Sight, a periodic about data, engineering and design.\nhttps://fromanengineersight.substack.com/&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Yf1W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1700bc2d-b494-49e4-b282-f061f189382a_2883x2883.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-11-09T16:42:31.198Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!VV32!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e8fdb27-d7e1-4fb6-bb3e-94069b1a6487_736x889.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://fromanengineersight.substack.com/p/the-metastasize-of-templating-in&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:177604670,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:2,&quot;publication_id&quot;:256742,&quot;publication_name&quot;:&quot;From An Engineer Sight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!5ENi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1fb566-11bb-440e-8967-9104b1b75049_256x256.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h1>&#127912; Beyond The Bracket</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Z5WE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facc54571-c711-44a0-a529-a501d8565466_680x878.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z5WE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facc54571-c711-44a0-a529-a501d8565466_680x878.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Z5WE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facc54571-c711-44a0-a529-a501d8565466_680x878.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Z5WE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facc54571-c711-44a0-a529-a501d8565466_680x878.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Z5WE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facc54571-c711-44a0-a529-a501d8565466_680x878.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Z5WE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facc54571-c711-44a0-a529-a501d8565466_680x878.jpeg" width="250" height="322.79411764705884" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/acc54571-c711-44a0-a529-a501d8565466_680x878.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:878,&quot;width&quot;:680,&quot;resizeWidth&quot;:250,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Z5WE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facc54571-c711-44a0-a529-a501d8565466_680x878.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Z5WE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facc54571-c711-44a0-a529-a501d8565466_680x878.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Z5WE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facc54571-c711-44a0-a529-a501d8565466_680x878.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Z5WE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facc54571-c711-44a0-a529-a501d8565466_680x878.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Maira Kalman, 2022.</figcaption></figure></div><p><a href="https://www.workingtheorys.com/p/make-something-heavy">Are you making something heavy?</a></p><div><hr></div><p>The next time you receive this newsletter: I will be 30 years old, and we will be in 2026.<br>I am sending these monthly updates and curated parts of the internet to more than 2000 of you, since 5 years now. Big thank you!</p><p>While I will continue this ritual, I am also exploring how to do something heavier there. While all these substackery are a nice playground, I feel the call to engage second gear on writing - <a href="https://liminalduality.substack.com/">not specifically on data stuff</a>. I am not sure I will succeed, but the goal is to move the needle slightly toward this direction. Let&#8217;s see how it happens next year!</p><p>I wish you the best for the next convolution around the sun &#9728;&#65039;</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>or voice now...</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>or AOE now</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[The Metastasize of Templating in Declarative Language]]></title><description><![CDATA[About Semantic Impedance & Runtime Predicate]]></description><link>https://fromanengineersight.substack.com/p/the-metastasize-of-templating-in</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/the-metastasize-of-templating-in</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Sun, 09 Nov 2025 16:42:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VV32!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e8fdb27-d7e1-4fb6-bb3e-94069b1a6487_736x889.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VV32!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e8fdb27-d7e1-4fb6-bb3e-94069b1a6487_736x889.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VV32!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e8fdb27-d7e1-4fb6-bb3e-94069b1a6487_736x889.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VV32!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e8fdb27-d7e1-4fb6-bb3e-94069b1a6487_736x889.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VV32!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e8fdb27-d7e1-4fb6-bb3e-94069b1a6487_736x889.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VV32!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e8fdb27-d7e1-4fb6-bb3e-94069b1a6487_736x889.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VV32!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e8fdb27-d7e1-4fb6-bb3e-94069b1a6487_736x889.jpeg" width="736" height="889" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7e8fdb27-d7e1-4fb6-bb3e-94069b1a6487_736x889.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:889,&quot;width&quot;:736,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Story pin image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Story pin image" title="Story pin image" srcset="https://substackcdn.com/image/fetch/$s_!VV32!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e8fdb27-d7e1-4fb6-bb3e-94069b1a6487_736x889.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VV32!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e8fdb27-d7e1-4fb6-bb3e-94069b1a6487_736x889.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VV32!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e8fdb27-d7e1-4fb6-bb3e-94069b1a6487_736x889.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VV32!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e8fdb27-d7e1-4fb6-bb3e-94069b1a6487_736x889.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>We added Jinja to our dbt project to avoid copy-pasting SQL. Then we needed loops. Then conditionals. Then macros that call other macros. Now we&#8217;re debugging template rendering errors at 2am, and somewhere along the way, our &#8220;configuration&#8221; became a full programming language - just one without a debugger, type system, or any of the tooling we&#8217;d expect from actual code.</p><p>That&#8217;s basically the state of data engineering nowadays. Actually, the state of any ops-oriented engineering work.</p><p>When we move further in the <a href="https://mikehadlow.blogspot.com/2012/05/configuration-complexity-clock.html">configuration complexity clock</a>, we often find ourselves templating configuration files.<br>We start with clean YAML or SQL, then gradually pollute it with Jinja or any similar templating language. The YAML/SQL becomes unreadable - neither a declarative configuration nor proper code. These templating languages emerge as expression languages to bridge gaps, then become the problem themselves.</p><h2>Why This Matters More Than Ever?</h2><p>There&#8217;s a reason this problem feels more acute now. Software engineers are experiencing dramatic productivity gains from AI coding assistants - but data engineers and similar ops-oriented positions largely aren&#8217;t. At least not in the same way nor at the same scale.</p><p>Data is stateful, code is stateless. While software engineers work with stateless code that can be easily mocked and tested, data engineers are maintaining large, stateful systems where the code is in service of ops work - configuration, orchestration, and data pipelines that can&#8217;t be casually experimented without risking expensive mistakes. The tooling reflects this reality: we reach for declarative configs, then template them when they get complex, then debug the templates, stuck in a cycle hard for humans to debug and nearly impossible for AI to safely refactor.</p><h2>DOM &amp; jQuery</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PF2M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01646308-27e5-4ab1-ba89-2251f6f6336b_500x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PF2M!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01646308-27e5-4ab1-ba89-2251f6f6336b_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!PF2M!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01646308-27e5-4ab1-ba89-2251f6f6336b_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!PF2M!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01646308-27e5-4ab1-ba89-2251f6f6336b_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!PF2M!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01646308-27e5-4ab1-ba89-2251f6f6336b_500x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PF2M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01646308-27e5-4ab1-ba89-2251f6f6336b_500x500.png" width="388" height="388" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/01646308-27e5-4ab1-ba89-2251f6f6336b_500x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:500,&quot;resizeWidth&quot;:388,&quot;bytes&quot;:447982,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/177604670?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01646308-27e5-4ab1-ba89-2251f6f6336b_500x500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PF2M!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01646308-27e5-4ab1-ba89-2251f6f6336b_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!PF2M!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01646308-27e5-4ab1-ba89-2251f6f6336b_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!PF2M!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01646308-27e5-4ab1-ba89-2251f6f6336b_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!PF2M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01646308-27e5-4ab1-ba89-2251f6f6336b_500x500.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In the early 2000s, browsers had inconsistent, verbose DOM APIs. jQuery emerged to provide a concise, uniform interface for element selection and manipulation, event handling, AJAX calls, etc.<br>jQuery could be dropped onto any page. A single <code>&lt;script&gt;</code> tag and developers immediately wrote:</p><pre><code><code>$(&#8217;.btn&#8217;).on(&#8217;click&#8217;, function() { &#8230; });</code></code></pre><p>It replaced dozens of lines of vanilla DOM code with one.<br>As applications grew, teams used jQuery for: templating HTML, state management, animation sequences, even rudimentary component systems.<br>The more jQuery was capable, the more it was used - even when its imperative, selector-driven approach wasn&#8217;t appropriate. Codebases became riddled with tangled event handlers, hidden state mutations, and performance bottlenecks.</p><p>Then React appeared. It basically introduced a two-layer pattern:</p><ul><li><p>JSX - a declarative markup - defines what the UI should look like.</p></li><li><p>JavaScript - imperative, programmable - implements the logic.</p></li></ul><p>By keeping UI description separate from application logic, React eliminated the need to intermix DOM queries and state updates across the codebase.</p><p>Components bundle markup, styling, and state. Instead of scattering jQuery selectors and mutations throughout hundreds of lines, React encapsulates logic in reusable, testable units:</p><pre><code><code>function Button({ onClick, label }) { 
  return &lt;button onClick={onClick}&gt;{label}&lt;/button&gt;; 
}</code></code></pre><p>We can call this mismatch between what we want to express (our intent) and how verbose or awkward it is to express it in the available tools the &#8220;semantic impedance&#8221;.</p><p>jQuery&#8217;s story mirrors what&#8217;s happening in data engineering for years now. Just as jQuery bridged the gap between JavaScript and inconsistent DOM APIs, templating languages like Jinja bridge the gap between declarative - static - configuration (SQL, YAML) and dynamic runtime needs<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>. And just like jQuery, it creates a semantic impedance. Even more: our codebase metastasizes.</p><p>And so the natural questions coming next are: should configuration or query languages be powerful enough from the start that they don&#8217;t need expression or templating layers? Should we move back to a programming language?</p><h2>The Runtime Predicate Problem</h2><p>At <a href="https://kestra.io/">Kestra</a><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>, I see the following systemic pattern across different kinds of user maturity:</p><ol><li><p><em>&#8220;I just need to reference an output...&#8221;</em>: <code>{{ outputs.task.value }}</code>&#8203;</p></li><li><p><em>&#8220;I need to handle missing data...&#8221;</em>: <code>{{ outputs.task.value ?? &#8216;default&#8217; }}</code>&#8203;</p></li><li><p><em>&#8220;I need date formatting...&#8221;</em>: <code>{{ trigger.date ?? execution.startDate | dateAdd(-1, &#8216;DAYS&#8217;) | date(&#8217;yyyy-MM-dd&#8217;) }}</code>&#8203;</p></li><li><p><em>&#8220;I need conditional logic...&#8221;</em>: <code>{% if inputs.data.value | jq(&#8221;.[23]&#8221;) | first == 3%}...{% endif %}</code>&#8203;</p></li></ol><p>Such a pattern is also common in all declarative-based tools, i.e., dbt with Jinja, Kubernetes with Helm, Terraform HCL with templating, etc.</p><p>Globally speaking, we can articulate it as follows:</p><ol><li><p>Expression or templating language is introduced for legitimate narrow use case</p></li><li><p>Users discover it&#8217;s more convenient than switching to proper programming</p></li><li><p>Expression usage metastasizes across the codebase</p></li><li><p>Configuration becomes <a href="https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell">unreadable and unmaintainable</a>.</p></li></ol><p>Long story short: expression languages emerge as a necessary evil when configuration languages lack composability. And now our YAML looks like this monstrosity<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a>.</p><p>One can think we should go further with the DSL clock and build configuration and query languages powerful enough from the start that they don&#8217;t need expression layers.</p><p>In my opinion, this can be a good idea in some cases, but likely not enough on themselves.</p><p>For example, <a href="https://cuelang.org/">Cue</a> brings a lot of things to YAML or JSON configuration by adding strong typing, inheritance, validation, and schema definition capabilities that automatically validate your data and reduce errors when scaling configuration-based codebase.</p><p>Same with <a href="https://www.malloydata.dev/">Malloy</a> which brings composability to SQL.</p><p>All these new DSL aims to fix the flaws of previous languages, usually by bringing composability, proper typing, and unification.</p><p>While they mainly succeed at this, we still need to evaluate predicates at runtime. If <code>dev</code>, then the target database shouldn&#8217;t be the same as if <code>prod</code>. At runtime, we need dynamic evaluation. The problem isn&#8217;t that expression or templating exists - it&#8217;s that there&#8217;s no boundary on where it should be used.</p><h2>Linting Templating to Save Us From Cancer?</h2><p>While drawing architectural boundaries is the primary prevention we should apply to maintain the inherent complexity of our codebase, there is a second point of intervention we should evaluate here.</p><p>The example below is a Cue file policy checking on bad patterns within dbt queries:</p><pre><code>
// dbt_policy.cue
// Simple policy to catch bad Jinja patterns in dbt models

package dbt

import &#8220;strings&#8221;

// Define what a dbt model should look like
#DbtModel: {
&#9;// The SQL content of your dbt model
&#9;sql: string
&#9;
&#9;// Rule 1: No nested macros (macro calling macro calling macro)
&#9;_macroCount: strings.Count(sql, &#8220;{{&#8221;)
&#9;if _macroCount &gt; 5 {
&#9;&#9;_warning: &#8220;Too many Jinja expressions (\(_macroCount)) - consider simplifying&#8221;
&#9;}
&#9;
&#9;// Rule 2: No loops inside WHERE clauses
&#9;if strings.Contains(sql, &#8220;WHERE&#8221;) &amp;&amp; strings.Contains(sql, &#8220;{% for&#8221;) {
&#9;&#9;_violation: &#8220;Loop detected in WHERE clause - move logic to CTE or upstream&#8221;
&#9;}
&#9;
&#9;// Rule 3: No complex date math in Jinja
&#9;if strings.Contains(sql, &#8220;dateadd&#8221;) &amp;&amp; strings.Contains(sql, &#8220;{{&#8221;) {
&#9;&#9;_violation: &#8220;Date arithmetic in Jinja - use SQL date functions instead&#8221;
&#9;}
&#9;
&#9;// Rule 4: No string concatenation in Jinja for SQL generation
&#9;if strings.Contains(sql, &#8220;~ &#8216;&#8221;) || strings.Contains(sql, &#8220;&#8217; ~&#8221;) {
&#9;&#9;_violation: &#8220;String concatenation in Jinja - build SQL properly in model&#8221;
&#9;}
&#9;
&#9;// Rule 5: Limit macro nesting depth
&#9;if strings.Contains(sql, &#8220;{{ ref(&#8221;) &amp;&amp; strings.Count(sql, &#8220;{{&#8221;) &gt; 3 {
&#9;&#9;_warning: &#8220;Multiple nested refs - consider breaking into separate models&#8221;
&#9;}
}

// Example: Good dbt model
good_model: #DbtModel &amp; {
&#9;sql: &#8220;&#8221;&#8220;
&#9;&#9;-- &#9989; GOOD: Simple ref, clear SQL
&#9;&#9;SELECT
&#9;&#9;    user_id,
&#9;&#9;    created_at,
&#9;&#9;    amount
&#9;&#9;FROM {{ ref(&#8217;staging_orders&#8217;) }}
&#9;&#9;WHERE created_at &gt;= &#8216;{{ var(&#8221;start_date&#8221;) }}&#8217;
&#9;&#9;&#8220;&#8221;&#8220;
}

// Example: Bad dbt model (this will fail validation)
bad_model: #DbtModel &amp; {
&#9;sql: &#8220;&#8221;&#8220;
&#9;&#9;-- &#10060; BAD: Loop in WHERE clause
&#9;&#9;SELECT *
&#9;&#9;FROM orders
&#9;&#9;WHERE order_id IN (
&#9;&#9;    {% for id in var(&#8217;order_ids&#8217;) %}
&#9;&#9;        {{ id }}{% if not loop.last %},{% endif %}
&#9;&#9;    {% endfor %}
&#9;&#9;)
&#9;&#9;&#8220;&#8221;&#8220;
&#9;// This will trigger: &#8220;Loop detected in WHERE clause&#8221;
}

// Example: Another bad pattern
bad_date_model: #DbtModel &amp; {
&#9;sql: &#8220;&#8221;&#8220;
&#9;&#9;-- &#10060; BAD: Date math in Jinja
&#9;&#9;SELECT *
&#9;&#9;FROM orders
&#9;&#9;WHERE created_at &gt; &#8216;{{ dateadd(days, -7, execution_date) }}&#8217;
&#9;&#9;&#8220;&#8221;&#8220;
&#9;// This will trigger: &#8220;Date arithmetic in Jinja&#8221;
}</code></pre><p>This is likely not a realistic example, but I&#8217;m sure you got it. Here, we check not only for pure code syntax, but also for bad templating patterns.</p><p>Like for classic lint<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a> checks, the goal is to find a way to secure our codebase - in a systemic way. Embedding such policies in a CI/CD pipeline sounds like a good start here.</p><p>The cost of a linting rule is measured in minutes. The cost of debugging template logic at 2 am is measured in hours - or careers. Choose wisely.</p><h2>What Would the React Moment Look Like?</h2><p>Linting is an intervention at the symptom level. But what would intervention at the cause look like?</p><p>In medicine, metastasis happens when cells lose their differentiation - they forget what type of cell they&#8217;re supposed to be. A liver cell that forgets it&#8217;s a liver cell doesn&#8217;t become healthy; it becomes cancer.</p><p>That&#8217;s exactly what&#8217;s happening in our codebases. A configuration that forgets it is a configuration doesn&#8217;t become flexible - it becomes Jinja templates with 8 levels of nesting. Code that forgets it is code doesn&#8217;t become declarative - it becomes YAML files that secretly execute arbitrary logic.</p><p>React didn&#8217;t solve the jQuery problem by making JavaScript better at DOM manipulation. It solved it by establishing a social contract enforced by tooling: JSX is for structure, JavaScript is for logic.</p><p>dbt compiles Jinja to SQL at build time, yes. But the <em>source code</em> you write, debug, review, and maintain is still the Jinja spaghetti. The AI trying to help you refactor sees Jinja spaghetti. Your colleague reviewing the PR sees Jinja spaghetti. The boundary between logic and configuration exists at build time, but not where it matters - at development time.</p><p>As explored earlier, we could try to fix this. Jinja but with better linting. Helm but with type checking. But we are likely solving the wrong problem.</p><p>React didn&#8217;t eliminate runtime evaluation. Components evaluate props and state at runtime constantly. What React eliminated was logic embedded inside the declarative structure.</p><p>Look at the difference:</p><pre><code>// jQuery era - logic embedded in markup
$(&#8217;#orders&#8217;).html(`
  &lt;div&gt;
    ${env === &#8216;prod&#8217; ? &#8216;&lt;span&gt;Production&lt;/span&gt;&#8217; : &#8216;&lt;span&gt;Dev&lt;/span&gt;&#8217;}
    ${orders.map(o =&gt; `&lt;div&gt;${o.amount}&lt;/div&gt;`).join(&#8217;&#8216;)}
  &lt;/div&gt;
`);

// React - logic happens before structure
function Orders({ env, orders }) {
  const label = env === &#8216;prod&#8217; ? &#8216;Production&#8217; : &#8216;Dev&#8217;;
  const items = orders
    .filter(o =&gt; o.amount &gt; 100)
    .map(o =&gt; &lt;div key={o.id}&gt;{o.amount}&lt;/div&gt;);
  
  return (
    &lt;div&gt;
      &lt;span&gt;{label}&lt;/span&gt;
      {items}
    &lt;/div&gt;
  );
}</code></pre><p>Same runtime behavior. But in React, computation happens in a computation language, and then the structure is declared with computed values.</p><p>The structure itself contains no logic&#8212;only references to already-computed values.</p><p>Now look at our dbt models:</p><pre><code>-- Logic embedded in structure
SELECT 
    user_id,
    {% if var(&#8217;env&#8217;) == &#8216;prod&#8217; %}
        prod_column
    {% else %}
        dev_column  
    {% endif %} as column_name
FROM {{ ref(&#8217;staging_orders&#8217;) }}
WHERE created_at &gt;= {{ 
    &#8216;CURRENT_DATE&#8217; if var(&#8217;lookback&#8217;) == &#8216;today&#8217; 
    else &#8220;&#8217;&#8221; + var(&#8217;lookback&#8217;) + &#8220;&#8217;&#8221; 
}}</code></pre><p>The SQL structure contains conditional logic, string concatenation, and function calls. We&#8217;re doing computation <em>inside</em> the declarative query language using a different language.</p><p>What if we separated them?</p><pre><code># Computation happens in a computation language
def get_orders_query(env: str, lookback: str) -&gt; Query:
    column = &#8216;prod_column&#8217; if env == &#8216;prod&#8217; else &#8216;dev_column&#8217;
    source = ref(&#8217;staging_orders&#8217;)
    where_clause = &#8216;CURRENT_DATE&#8217; if lookback == &#8216;today&#8217; else f&#8221;&#8217;{lookback}&#8217;&#8221;
    
    # Structure is declared with computed values
    return Query(f&#8217;&#8216;&#8217;
        SELECT 
            user_id,
            {column} as column_name
        FROM {source}
        WHERE created_at &gt;= {where_clause}
    &#8216;&#8217;&#8216;)</code></pre><p>Still using string interpolation here<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-5" href="#footnote-5" target="_self">5</a> - not perfect, this is just a simple specification exploration. But the key difference is: all logic is in Python, and the SQL is data being constructed. No language-switching mid-file.</p><p>Or with <a href="http://malloydata.dev/">Malloy</a>:</p><pre><code># Computation happens in Python
def get_orders_query(env: str, lookback: str) -&gt; MalloyQuery:
    column = &#8216;prod_column&#8217; if env == &#8216;prod&#8217; else &#8216;dev_column&#8217;
    date_filter = &#8216;today&#8217; if lookback == &#8216;today&#8217; else lookback
    
    # Structure is declared in Malloy with computed values
    return malloy.query(f&#8217;&#8216;&#8217;
        query: orders -&gt; {{
          select: user_id, {column}
          where: created_at &gt;= @{date_filter}
        }}
    &#8216;&#8217;&#8216;)</code></pre><p>Still need runtime evaluation? Yes. Still need to check env? Yes. But the evaluation happens in a real programming language, then the result is passed to the declarative structure.<br>This is what React actually did to fix the impedance mismatch.</p><ul><li><p><strong>Computation layer</strong>: Evaluate predicates, transform data, make decisions. Use a programming language</p></li><li><p><strong>Declaration layer</strong>: Describe structure with computed values. Use a declarative language</p></li></ul><p>The cancer happens when we try to do computation <em>inside</em> the declaration layer. That&#8217;s when we reach for templates.<br>Jinja exists because we&#8217;re trying to compute inside SQL/YAML. Helm exists because we&#8217;re trying to compute inside YAML. HCL Templating exists because we&#8217;re trying to compute inside Terraform config.</p><p>Metastasis of templating languages in our codebases kills, not because it&#8217;s unstoppable, but because we intervene too late. The medical field learned this through decades of tragic outcomes. We don&#8217;t need to repeat that mistake in software. Software should be soft, and while we can have infinite debate over whether YAML or SQL is soft or not, we need better tooling around these to scale, help our AI handle them, and ultimately realize the promise of the declarative paradigm shift.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fromanengineersight.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">From An Engineer Sight is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>For example, in dbt the semantic impedance is caused by Jinja, trying to bridge SQL and runtime predicates.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>Interestingly enough, we fixed most of the flaw brought by YAML by upgrading the UX around it. More details <a href="https://kestra.io/blogs/2023-12-01-yaml-pitfalls">here</a>.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Not because the tool is poorly designed - Kubernetes and Terraform, for example, are state-of-the-art technologies here.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p><em>The term &#8220;lint&#8221; was derived from </em>&#8220;<a href="https://en.wikipedia.org/wiki/Lint_(material)">Lint (the material)</a>&#8221;: <em>the name for the tiny bits of fiber and fluff shed by clothing, as the command should act like the lint trap in a clothes dryer, detecting small errors to great effect.</em></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-5" href="#footnote-anchor-5" class="footnote-number" contenteditable="false" target="_self">5</a><div class="footnote-content"><p>One could also think about an ORM-based solution like:</p><pre><code># Computation in Python
def get_orders_query(env: str, lookback: str) -&gt; Query:
    column = &#8216;prod_column&#8217; if env == &#8216;prod&#8217; else &#8216;dev_column&#8217;
    source = ref(&#8217;staging_orders&#8217;)
    date = datetime.today() if lookback == &#8216;today&#8217; else parse_date(lookback)
    
    # Declaration using a query builder (not string templates)
    return (
        Query
        .select(&#8217;user_id&#8217;, column.as_(&#8217;column_name&#8217;))
        .from_(source)
        .where(col(&#8217;created_at&#8217;) &gt;= date)
    )# Computation in Python</code></pre><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Issue 52 - Closing Doors & Brackets]]></title><description><![CDATA[Metastasize]]></description><link>https://fromanengineersight.substack.com/p/issue-52-closing-doors-and-brackets</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/issue-52-closing-doors-and-brackets</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Sun, 02 Nov 2025 16:42:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YDBp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d46de5-9bc4-4594-b2bb-48fe6ad82e48_1200x873.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YDBp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d46de5-9bc4-4594-b2bb-48fe6ad82e48_1200x873.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YDBp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d46de5-9bc4-4594-b2bb-48fe6ad82e48_1200x873.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YDBp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d46de5-9bc4-4594-b2bb-48fe6ad82e48_1200x873.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YDBp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d46de5-9bc4-4594-b2bb-48fe6ad82e48_1200x873.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YDBp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d46de5-9bc4-4594-b2bb-48fe6ad82e48_1200x873.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YDBp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d46de5-9bc4-4594-b2bb-48fe6ad82e48_1200x873.jpeg" width="1200" height="873" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0d46de5-9bc4-4594-b2bb-48fe6ad82e48_1200x873.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:873,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YDBp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d46de5-9bc4-4594-b2bb-48fe6ad82e48_1200x873.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YDBp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d46de5-9bc4-4594-b2bb-48fe6ad82e48_1200x873.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YDBp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d46de5-9bc4-4594-b2bb-48fe6ad82e48_1200x873.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YDBp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d46de5-9bc4-4594-b2bb-48fe6ad82e48_1200x873.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://wertn.com/2022/04/max-guther/">Credits to Max Guther</a></figcaption></figure></div><p>Consultancy firms all have internal tools. They are usually built during inter-contract time, by fellow engineers tired of building the same thing over and over, from customer to customer. Ultimately, a library as simple as templating SQL with Jinja succeeds in gathering a community. In &#8220;building a product&#8221;.</p><p>It&#8217;s easy to say after the fact, but merging with a company that succeeded in providing value by externalizing data moves seems pretty natural. If we remove open source from the debate, it&#8217;s kinda surprising it didn&#8217;t come earlier.</p><p>Some of us will look for the alternatives. For both a community and a &#8220;real&#8221; open source project for transforming data with SQL.<br>As engineers, we continually search for something better, but a moment&#8217;s reflection reveals that it&#8217;s hard to ask for much than these templating and model dependencies engines.</p><p>I am. Either because I&#8217;m tired of seeing the same patterns. Or because I feel we are mature enough now. Probably both. Templating SQL query with Jinja sounds so much like a graduate project to me now. Don&#8217;t get me wrong, I&#8217;ve built such a thing myself before dbt. I used dbt. I use dbt. I will use dbt in the future. And I don&#8217;t have an off-the-shelf solution here; just saying we should think deeper about the basis. <a href="https://medium.com/@benoit.pimpaud/sql-is-not-designed-for-analytics-079fc97b139c">SQL wasn&#8217;t designed for analytics</a>. Not a lot of things in our industry really were.</p><p>Now is a moment to pause, to reflect on our codebase, on our practices. Is templating a language not designed for analytics, with a mix of brackets, untestable macros, and markup files is the best we can do?<br>I don&#8217;t think so. For now, it indeed seems hard to ask for much than that. And upstairs, people really don&#8217;t care about how we provide the figures. The decision around this company merger probably involved more Excel files than dbt models<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>.</p><p>So while we should be at our desks bringing value to stakeholders, there&#8217;s still a gap to fill. For now, it will still involve a lot of brackets, of YAML, of templated SQL, and ultimately humans. And while the latter is not about to go, I really feel the former should be part of history.</p><div><hr></div><h1>&#128225; Expected Contents</h1><h3>The Long Nose Innovation</h3><p>What technologies have been here for 10 years, yet not really in production at high scale?<br>In data, I can&#8217;t really find one. This suggests we are at a plateau.<br>Looking at 5-year timespan brings a bit more of novelties: accents to lakehouse, declarativness, or BI as code seems the next path for productization.</p><p>Here is a nice article reminding us that technological innovation occurs at a slower pace than we prefer to admit.</p><blockquote><p>My belief is there is a mirror-image of the long tail that is equally important to those wanting to understand the process of innovation. It states that the bulk of innovation behind the latest &#8220;wow&#8221; moment is also low-amplitude and takes place over a long period&#8212;but well before the &#8220;new&#8221; idea has become generally known, fully refined, much less reached the tipping point where it becomes widely adopted. It is what I call The Long Nose of Innovation.</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.billbuxton.com/01%20The%20Long%20Nose%20of%20Innovation%20Revised.pdf?utm_source=substack&quot;,&quot;text&quot;:&quot;&#128073; Read here&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.billbuxton.com/01%20The%20Long%20Nose%20of%20Innovation%20Revised.pdf?utm_source=substack"><span>&#128073; Read here</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6zhI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb22c080-1d38-47e4-a31a-047d842b13b3_814x570.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6zhI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb22c080-1d38-47e4-a31a-047d842b13b3_814x570.png 424w, https://substackcdn.com/image/fetch/$s_!6zhI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb22c080-1d38-47e4-a31a-047d842b13b3_814x570.png 848w, https://substackcdn.com/image/fetch/$s_!6zhI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb22c080-1d38-47e4-a31a-047d842b13b3_814x570.png 1272w, https://substackcdn.com/image/fetch/$s_!6zhI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb22c080-1d38-47e4-a31a-047d842b13b3_814x570.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6zhI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb22c080-1d38-47e4-a31a-047d842b13b3_814x570.png" width="528" height="369.72972972972974" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eb22c080-1d38-47e4-a31a-047d842b13b3_814x570.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:570,&quot;width&quot;:814,&quot;resizeWidth&quot;:528,&quot;bytes&quot;:168283,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/177442454?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb22c080-1d38-47e4-a31a-047d842b13b3_814x570.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6zhI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb22c080-1d38-47e4-a31a-047d842b13b3_814x570.png 424w, https://substackcdn.com/image/fetch/$s_!6zhI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb22c080-1d38-47e4-a31a-047d842b13b3_814x570.png 848w, https://substackcdn.com/image/fetch/$s_!6zhI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb22c080-1d38-47e4-a31a-047d842b13b3_814x570.png 1272w, https://substackcdn.com/image/fetch/$s_!6zhI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb22c080-1d38-47e4-a31a-047d842b13b3_814x570.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>What&#8217;s DevRel?</h3><p>Pedram shares a good roundup of what developer&#8217;s relationship is after two years leading the initiative at Dagster.<br>Beyond the nice read, it&#8217;s also good to see that such a position brings the path toward landing a job at Anthropic. <a href="https://www.linkedin.com/posts/pedramnavid_i-suppose-the-secrets-out-this-week-is-activity-7384676826683465728-JEMH?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAABvNCPEBftr20GrhxU-gwoNTnOWkjKfBSHc">Congrats on that Pedram</a>!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://substack.com/@pedram/p-175235396&quot;,&quot;text&quot;:&quot;&#128073; Read the post&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://substack.com/@pedram/p-175235396"><span>&#128073; Read the post</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V96C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4f0c3f-6a0c-4eae-8d68-9b7ebf1f9c3a_700x583.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V96C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4f0c3f-6a0c-4eae-8d68-9b7ebf1f9c3a_700x583.png 424w, https://substackcdn.com/image/fetch/$s_!V96C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4f0c3f-6a0c-4eae-8d68-9b7ebf1f9c3a_700x583.png 848w, https://substackcdn.com/image/fetch/$s_!V96C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4f0c3f-6a0c-4eae-8d68-9b7ebf1f9c3a_700x583.png 1272w, https://substackcdn.com/image/fetch/$s_!V96C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4f0c3f-6a0c-4eae-8d68-9b7ebf1f9c3a_700x583.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V96C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4f0c3f-6a0c-4eae-8d68-9b7ebf1f9c3a_700x583.png" width="572" height="476.39428571428573" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af4f0c3f-6a0c-4eae-8d68-9b7ebf1f9c3a_700x583.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:583,&quot;width&quot;:700,&quot;resizeWidth&quot;:572,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!V96C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4f0c3f-6a0c-4eae-8d68-9b7ebf1f9c3a_700x583.png 424w, https://substackcdn.com/image/fetch/$s_!V96C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4f0c3f-6a0c-4eae-8d68-9b7ebf1f9c3a_700x583.png 848w, https://substackcdn.com/image/fetch/$s_!V96C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4f0c3f-6a0c-4eae-8d68-9b7ebf1f9c3a_700x583.png 1272w, https://substackcdn.com/image/fetch/$s_!V96C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4f0c3f-6a0c-4eae-8d68-9b7ebf1f9c3a_700x583.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>Docker-compose with AI models</h3><p>Here is a nice blog post from Pradumna, a new teammate at Kestra!<br>Even if I&#8217;m moving away from Docker more and <a href="https://fromanengineersight.substack.com/i/173526790/the-joy-of-under-engineering">more</a>, this one specification from Docker is nice to see.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.pradumnasaraf.dev/running-ai-models-with-docker-compose&quot;,&quot;text&quot;:&quot;&#128073; Read the blog&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.pradumnasaraf.dev/running-ai-models-with-docker-compose"><span>&#128073; Read the blog</span></a></p><div><hr></div><h3>What Moves the Business Tick?</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AFm9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6202a64-6989-4b94-a99e-bdc2cbedd1c2_1088x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AFm9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6202a64-6989-4b94-a99e-bdc2cbedd1c2_1088x1000.png 424w, https://substackcdn.com/image/fetch/$s_!AFm9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6202a64-6989-4b94-a99e-bdc2cbedd1c2_1088x1000.png 848w, https://substackcdn.com/image/fetch/$s_!AFm9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6202a64-6989-4b94-a99e-bdc2cbedd1c2_1088x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!AFm9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6202a64-6989-4b94-a99e-bdc2cbedd1c2_1088x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AFm9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6202a64-6989-4b94-a99e-bdc2cbedd1c2_1088x1000.png" width="500" height="459.55882352941177" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f6202a64-6989-4b94-a99e-bdc2cbedd1c2_1088x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1088,&quot;resizeWidth&quot;:500,&quot;bytes&quot;:204059,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/177442454?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6202a64-6989-4b94-a99e-bdc2cbedd1c2_1088x1000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AFm9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6202a64-6989-4b94-a99e-bdc2cbedd1c2_1088x1000.png 424w, https://substackcdn.com/image/fetch/$s_!AFm9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6202a64-6989-4b94-a99e-bdc2cbedd1c2_1088x1000.png 848w, https://substackcdn.com/image/fetch/$s_!AFm9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6202a64-6989-4b94-a99e-bdc2cbedd1c2_1088x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!AFm9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6202a64-6989-4b94-a99e-bdc2cbedd1c2_1088x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If it&#8217;s not the latest lakehouse architecture, what is it?</p><p>For me, the most painful part is BI. Yes, we have tools for building dashboards. But users of these dashboards still have a hard time making decisions. And if they make decisions, it is still not clear what the outcomes are (that&#8217;s often another subject...).<br>It&#8217;s been more than 7 years I&#8217;m working close to C-levels, either directly or in a second order. And what remains in the end is a complexity in making decisions. That&#8217;s their job. It&#8217;s a complex one.<br>Intuition is their most valuable asset, and they build it on top of their experiences. Data is here to provide facts - to bring signal - not decisions. It&#8217;s here to validate intuition. When done best, it&#8217;s building intuition.<br>The decision is mainly about an intuition, i.e. the result of the latent space built over data analysis discovery and their own experience.</p><p>Do you see the real bottom line here? Experience, discovery, intuition. Not sure a new architecture for data storage resonate with these.</p><div><hr></div><h1>&#128240; The Blog Post</h1><p>New blog post coming in very soon!!</p><p>This one has been in the draft folder for over a year now. Writing is about patience, and seeing the words unfold almost naturally after such a long span of time provides great joy.</p><p>Here is a short spoiler - the blog post is likely to be titled <em>&#8220;The Metastasize of Templating in Configuration Language&#8221;</em>:</p><blockquote><p><em>We added Jinja to our dbt project to avoid copy-pasting SQL. Then we needed loops. Then conditionals. Then macros that call other macros. Now we&#8217;re debugging template rendering errors at 2am, and somewhere along the way, our &#8220;configuration&#8221; became a full programming language - just one without a debugger, type system, or any of the tooling we&#8217;d expect from actual code.</em></p><p><em>That&#8217;s basically the state of data engineering nowadays. Actually, the state of any ops-oriented engineering work.</em></p><p><em>When we move further in the <a href="https://mikehadlow.blogspot.com/2012/05/configuration-complexity-clock.html">configuration complexity clock</a>, we often find ourselves templating configuration files.<br>We start with clean YAML, then gradually pollute it with Jinja or any similar templating language. The YAML becomes unreadable - neither a declarative configuration nor proper code. These templating languages emerge as expression languages to bridge gaps, then become the problem themselves.</em></p></blockquote><p>Be sure to subscribe to receive it in your inbox soon ;)</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fromanengineersight.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">From An Engineer Sight is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h1>&#127912; Beyond The Bracket</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IhIG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c6fa913-821e-475e-9fc3-3246798c7fcd_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IhIG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c6fa913-821e-475e-9fc3-3246798c7fcd_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!IhIG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c6fa913-821e-475e-9fc3-3246798c7fcd_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!IhIG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c6fa913-821e-475e-9fc3-3246798c7fcd_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!IhIG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c6fa913-821e-475e-9fc3-3246798c7fcd_4032x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IhIG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c6fa913-821e-475e-9fc3-3246798c7fcd_4032x3024.jpeg" width="404" height="538.5741758241758" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c6fa913-821e-475e-9fc3-3246798c7fcd_4032x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:404,&quot;bytes&quot;:4866786,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/177442454?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c6fa913-821e-475e-9fc3-3246798c7fcd_4032x3024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IhIG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c6fa913-821e-475e-9fc3-3246798c7fcd_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!IhIG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c6fa913-821e-475e-9fc3-3246798c7fcd_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!IhIG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c6fa913-821e-475e-9fc3-3246798c7fcd_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!IhIG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c6fa913-821e-475e-9fc3-3246798c7fcd_4032x3024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is what&#8217;s behind the scenes. At giant hall, 12 hours before the party starts. People not having a clue of what&#8217;s ETL are building high quality booths for venue expecting more thousands of other kind of people.</p><p>I had such a great time in London: speaking with fellow data product builders, playing darts in English pubs, looking at smart marketing hack from Duck people, eating pies, walking in second hand book store, etc.</p><p>But I also saw the truth behind our industry: it&#8217;s serious money, propelled by marketing efforts. It was really surprising to be one of the few teams building a product based on an open-core strategy. To be here with engineers, not only sales people.<br>Half of the people crossing the booth were here for the stickers, the t-shirts and the iPad. At other booths, marketing teams brought free coffee, Lego game, and Playstations.<br>Because you know, it should be fun<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZzM2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e331ed8-77c3-451a-93f6-156b5f08da9d_1086x1422.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZzM2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e331ed8-77c3-451a-93f6-156b5f08da9d_1086x1422.png 424w, https://substackcdn.com/image/fetch/$s_!ZzM2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e331ed8-77c3-451a-93f6-156b5f08da9d_1086x1422.png 848w, https://substackcdn.com/image/fetch/$s_!ZzM2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e331ed8-77c3-451a-93f6-156b5f08da9d_1086x1422.png 1272w, https://substackcdn.com/image/fetch/$s_!ZzM2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e331ed8-77c3-451a-93f6-156b5f08da9d_1086x1422.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZzM2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e331ed8-77c3-451a-93f6-156b5f08da9d_1086x1422.png" width="350" height="458.28729281767954" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e331ed8-77c3-451a-93f6-156b5f08da9d_1086x1422.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1422,&quot;width&quot;:1086,&quot;resizeWidth&quot;:350,&quot;bytes&quot;:352757,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/177442454?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e331ed8-77c3-451a-93f6-156b5f08da9d_1086x1422.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZzM2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e331ed8-77c3-451a-93f6-156b5f08da9d_1086x1422.png 424w, https://substackcdn.com/image/fetch/$s_!ZzM2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e331ed8-77c3-451a-93f6-156b5f08da9d_1086x1422.png 848w, https://substackcdn.com/image/fetch/$s_!ZzM2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e331ed8-77c3-451a-93f6-156b5f08da9d_1086x1422.png 1272w, https://substackcdn.com/image/fetch/$s_!ZzM2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e331ed8-77c3-451a-93f6-156b5f08da9d_1086x1422.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Demos were mostly run by salespeople. I was expecting more from demo provided by a leader of the industry than just showing a notebook and run SQL queries.<br>AI was not really a thing. Making sense of all these logos was the real moat. Business analysts were lost, their data engineering fellows too focused on technical artifacts - as always.</p><div><hr></div><p>I realize after writing this one how a pessimist call it can be. But don&#8217;t get me wrong. I want the fun too, but being serious first. I want open source, but being independent first. I want templating, but being free of brackets<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a> . I want goodies but without the branding.</p><p>Anyway, definitely looking forward to the nighttime here. I&#8217;ve been moving to Qwerty lately<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a>, entering the mechanical keyboard fantasy, doubling down on good cake and tea, chess, and reading<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-5" href="#footnote-5" target="_self">5</a>. I&#8217;ve also just returned from Lake Como and the countryside in Italy - it was lovely!<br>Hope you had a good weekend! See you next time!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IQaJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b61666c-00d8-4dc7-8198-ff2e79719d00_5150x3433.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IQaJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b61666c-00d8-4dc7-8198-ff2e79719d00_5150x3433.jpeg 424w, https://substackcdn.com/image/fetch/$s_!IQaJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b61666c-00d8-4dc7-8198-ff2e79719d00_5150x3433.jpeg 848w, https://substackcdn.com/image/fetch/$s_!IQaJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b61666c-00d8-4dc7-8198-ff2e79719d00_5150x3433.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!IQaJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b61666c-00d8-4dc7-8198-ff2e79719d00_5150x3433.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IQaJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b61666c-00d8-4dc7-8198-ff2e79719d00_5150x3433.jpeg" width="572" height="381.4642857142857" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b61666c-00d8-4dc7-8198-ff2e79719d00_5150x3433.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:572,&quot;bytes&quot;:4981702,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/177442454?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b61666c-00d8-4dc7-8198-ff2e79719d00_5150x3433.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IQaJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b61666c-00d8-4dc7-8198-ff2e79719d00_5150x3433.jpeg 424w, https://substackcdn.com/image/fetch/$s_!IQaJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b61666c-00d8-4dc7-8198-ff2e79719d00_5150x3433.jpeg 848w, https://substackcdn.com/image/fetch/$s_!IQaJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b61666c-00d8-4dc7-8198-ff2e79719d00_5150x3433.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!IQaJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b61666c-00d8-4dc7-8198-ff2e79719d00_5150x3433.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Lake Como, Italy</figcaption></figure></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>I actually don&#8217;t know. Fivetran pivoted away from BI, and so dbt does with this move. Interestingly enough, BI is still not a killed subject... Good prospect such as Rill, Ligthdash, Hex, Omni or Evidence are drawing the next gen landscape, but I cannot express how much this field still seems odd to me.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p><a href="https://benn.substack.com/i/137070616/die-a-hero-or-live-long-enough-to-become-an-accountant">Is it?</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>You already know it&#8217;s not really possible. But please don&#8217;t mix them up. Please.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>Because you know, as French people we like to make things harder: we are using Azerty configuration because, back then, people were messing up their sheets writing too fast. So we chose a layout making our finger to slow down... We never updated so far.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-5" href="#footnote-anchor-5" class="footnote-number" contenteditable="false" target="_self">5</a><div class="footnote-content"><p>Just finished <em><a href="https://www.amazon.fr/Social-Leap-Evolutionary-Science-Where/dp/0062740393">Social Leap</a></em><a href="https://www.amazon.fr/Social-Leap-Evolutionary-Science-Where/dp/0062740393"> by William Von Hippel</a> - definitely recommend it if you want a great summary of our evolutionary process and better understand our human incentives.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Issue 51 - A Complex Problem Has Two Parts]]></title><description><![CDATA[Serenely]]></description><link>https://fromanengineersight.substack.com/p/issue-51-a-complex-problem-has-two</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/issue-51-a-complex-problem-has-two</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Sun, 14 Sep 2025 15:42:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!TaL-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f4a4b22-d94a-47d4-a274-99e28a10e33a_730x913.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TaL-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f4a4b22-d94a-47d4-a274-99e28a10e33a_730x913.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TaL-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f4a4b22-d94a-47d4-a274-99e28a10e33a_730x913.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TaL-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f4a4b22-d94a-47d4-a274-99e28a10e33a_730x913.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TaL-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f4a4b22-d94a-47d4-a274-99e28a10e33a_730x913.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TaL-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f4a4b22-d94a-47d4-a274-99e28a10e33a_730x913.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TaL-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f4a4b22-d94a-47d4-a274-99e28a10e33a_730x913.jpeg" width="522" height="652.8575342465754" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0f4a4b22-d94a-47d4-a274-99e28a10e33a_730x913.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:913,&quot;width&quot;:730,&quot;resizeWidth&quot;:522,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!TaL-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f4a4b22-d94a-47d4-a274-99e28a10e33a_730x913.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TaL-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f4a4b22-d94a-47d4-a274-99e28a10e33a_730x913.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TaL-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f4a4b22-d94a-47d4-a274-99e28a10e33a_730x913.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TaL-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f4a4b22-d94a-47d4-a274-99e28a10e33a_730x913.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A complex problem has a real part and an imaginary part.<br>We tend to blab about the real part. It's obvious and measurable. It comes back in every informal chat.<br>The imaginary part, though, is the underlying emotional, psychological, or systemic factors that aren't immediately visible but fundamentally shape the problem's behavior.</p><p>In mathematics, every complex problem can be expressed as r&#183;e^(i&#952;)&#8212;a magnitude and a phase angle.<br>Changing the frame like this usually helps in simplifying a complex subject into a complicated puzzle. And <a href="https://fromanengineersight.substack.com/p/issue-33-complex-vs-complicated">complexity is not complicated</a>.</p><p>Along these lines, many problems can only be "solved" by acknowledging both z and its complex conjugate z*&#8212;we need to address not just what's happening, but also its reflection or opposite.</p><p>I sense it's the same with our own problems.</p><p>Many "impossible" real equations become straightforward once you allow complex solutions. Sometimes the answer involves embracing what feels "negative" or "imaginary".</p><p>To uncover such a new angle, my trick is to plot problems on a coordinate system where one axis is "what everyone talks about" and the other is "what no one mentions."</p><p>As the real part seems easy to solve, the imaginary part often freezes us.<br>To close the gap is to think "magnitude and direction".</p><div><hr></div><h1>&#128225; Expected Contents</h1><h3>Why Semantic Layers Matter &#8212; and How to Build One with DuckDB</h3><p>Nice usage of the <a href="https://github.com/boringdata/boring-semantic-layer">Boring Semantic Layer</a>. Yes, the one we discussed with Julien in <a href="https://juhache.substack.com/p/the-semantic-modeling-loop">our last blog post together</a>.</p><p>I'm glad to see this project going out. Again, shout-out to Julien here as I'm thrilled to be part of the early testers and contributors.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://motherduck.com/blog/semantic-layer-duckdb-tutorial/&quot;,&quot;text&quot;:&quot;&#128073; Read the blog&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://motherduck.com/blog/semantic-layer-duckdb-tutorial/"><span>&#128073; Read the blog</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bd5u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafabcbaa-3267-4024-b221-8731c9ecc225_2584x1195.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bd5u!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafabcbaa-3267-4024-b221-8731c9ecc225_2584x1195.png 424w, https://substackcdn.com/image/fetch/$s_!bd5u!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafabcbaa-3267-4024-b221-8731c9ecc225_2584x1195.png 848w, https://substackcdn.com/image/fetch/$s_!bd5u!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafabcbaa-3267-4024-b221-8731c9ecc225_2584x1195.png 1272w, https://substackcdn.com/image/fetch/$s_!bd5u!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafabcbaa-3267-4024-b221-8731c9ecc225_2584x1195.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bd5u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafabcbaa-3267-4024-b221-8731c9ecc225_2584x1195.png" width="1456" height="673" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/afabcbaa-3267-4024-b221-8731c9ecc225_2584x1195.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:673,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bd5u!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafabcbaa-3267-4024-b221-8731c9ecc225_2584x1195.png 424w, https://substackcdn.com/image/fetch/$s_!bd5u!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafabcbaa-3267-4024-b221-8731c9ecc225_2584x1195.png 848w, https://substackcdn.com/image/fetch/$s_!bd5u!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafabcbaa-3267-4024-b221-8731c9ecc225_2584x1195.png 1272w, https://substackcdn.com/image/fetch/$s_!bd5u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafabcbaa-3267-4024-b221-8731c9ecc225_2584x1195.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>The Joy of Under-Engineering</h3><blockquote><p>Under-engineering is a fun exercise. But it&#8217;s still just that: an exercise. Please don&#8217;t go to work next week and tear down your production Kubernetes cluster because some random guy on the internet said it&#8217;s fun to deploy software to your own VPC via <code>ssh</code>.</p></blockquote><p>Funny enough, I try to stop using Docker. Not because I don't like it: <a href="https://ben8t.github.io/operation/">I've been a huge fan of it</a>, but because my professional laptop is only 8gb of memory. And I use Chrome a lot. Or Chrome is using my memory too much. I don't know anymore.</p><p>Joke aside, I feel a recent push toward simple CLIs and <a href="https://github.com/astral-sh/uv">better environment managers</a> that ultimately means less engineering for the end developer.<br>There is also a trend towards <a href="https://brutalist.report/">HTML-only websites</a> that I found particularly on spot<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>.</p><p>Here is a great piece on of under-engineering systems is at least a good exercise to reflect on. And maybe to practice a bit more. And to add to our prompts.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://hamvocke.com/blog/under-engineering/&quot;,&quot;text&quot;:&quot;&#128073; Read the blog&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://hamvocke.com/blog/under-engineering/"><span>&#128073; Read the blog</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!20Vm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafe4a3a1-bcdf-4e40-94a8-e1d61e9a6f2e_1200x630.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!20Vm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafe4a3a1-bcdf-4e40-94a8-e1d61e9a6f2e_1200x630.webp 424w, https://substackcdn.com/image/fetch/$s_!20Vm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafe4a3a1-bcdf-4e40-94a8-e1d61e9a6f2e_1200x630.webp 848w, https://substackcdn.com/image/fetch/$s_!20Vm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafe4a3a1-bcdf-4e40-94a8-e1d61e9a6f2e_1200x630.webp 1272w, https://substackcdn.com/image/fetch/$s_!20Vm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafe4a3a1-bcdf-4e40-94a8-e1d61e9a6f2e_1200x630.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!20Vm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafe4a3a1-bcdf-4e40-94a8-e1d61e9a6f2e_1200x630.webp" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/afe4a3a1-bcdf-4e40-94a8-e1d61e9a6f2e_1200x630.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!20Vm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafe4a3a1-bcdf-4e40-94a8-e1d61e9a6f2e_1200x630.webp 424w, https://substackcdn.com/image/fetch/$s_!20Vm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafe4a3a1-bcdf-4e40-94a8-e1d61e9a6f2e_1200x630.webp 848w, https://substackcdn.com/image/fetch/$s_!20Vm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafe4a3a1-bcdf-4e40-94a8-e1d61e9a6f2e_1200x630.webp 1272w, https://substackcdn.com/image/fetch/$s_!20Vm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafe4a3a1-bcdf-4e40-94a8-e1d61e9a6f2e_1200x630.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>Python Documentary</h3><p>They finally release it!<br>CultRepo (formerly Honeypot) release again a great documentary; this time on Python.<br>I binged watch it: and it's great. If you like it, I recommend to <a href="https://www.youtube.com/watch?v=BE77h7dmoQU&amp;ab_channel=CultRepo%28formerlyHoneypot%29">watch the Kubernetes one</a> too.</p><div id="youtube2-GfH4QL4VqJ0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;GfH4QL4VqJ0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/GfH4QL4VqJ0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>Tabs vs Spaces</h3><blockquote><p>Tabs mean you see my code the way you choose to. Spaces mean you see it the way I want you to</p></blockquote><p><a href="https://stackoverflow.blog/2017/06/15/developers-use-spaces-make-money-use-tabs/">You make more money</a>, but this feels like a debate that never end. It seems we are either <a href="https://thingsinjars.com/post/380/psychopathic-megalomaniac-vs-obsequious-sycophant/">psychopathic megalomaniac or obsequious sycophant</a>.</p><p>I'm more a spaces developer, but I'm changing my mind recently after a discussion with a senior engineer, highlighting the <a href="https://geometrian.com/projects/blog/tabs_versus_spaces.html">following</a>:</p><blockquote><p>[...], in the sense of lexical semantics. TABs were literally invented for indentation. Spaces are for spacing things. You wouldn't use a TAB between words in a sentence, because that's the wrong character. Similarly, you shouldn't use spaces to indent your code, because that's the wrong character.</p></blockquote><p>In the end, do we still care? We don't write code anymore right? And text has more spaces, so maybe the <a href="https://xn--gckvb8fzb.com/tabs-vs-spaces-the-war-is-over/">the war over</a>?</p><div><hr></div><h1>&#128240; The Blog Post</h1><p>I have a billion ideas for story lines. Just not prioritizing the writing for now.<br>Will see what comes out of the recent read and exploration.<br>Sometimes it's just best to wait for the rush. The need that makes blank pages flush.<br>I'm waiting for that natural discharge. Serenely.</p><div><hr></div><h1>&#127912; Beyond The Bracket</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PdGo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79d15e84-7bdf-45e8-b5d5-d8bcf6629c04_800x516.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PdGo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79d15e84-7bdf-45e8-b5d5-d8bcf6629c04_800x516.png 424w, https://substackcdn.com/image/fetch/$s_!PdGo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79d15e84-7bdf-45e8-b5d5-d8bcf6629c04_800x516.png 848w, https://substackcdn.com/image/fetch/$s_!PdGo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79d15e84-7bdf-45e8-b5d5-d8bcf6629c04_800x516.png 1272w, https://substackcdn.com/image/fetch/$s_!PdGo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79d15e84-7bdf-45e8-b5d5-d8bcf6629c04_800x516.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PdGo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79d15e84-7bdf-45e8-b5d5-d8bcf6629c04_800x516.png" width="800" height="516" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/79d15e84-7bdf-45e8-b5d5-d8bcf6629c04_800x516.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:516,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:232360,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/173526790?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79d15e84-7bdf-45e8-b5d5-d8bcf6629c04_800x516.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PdGo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79d15e84-7bdf-45e8-b5d5-d8bcf6629c04_800x516.png 424w, https://substackcdn.com/image/fetch/$s_!PdGo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79d15e84-7bdf-45e8-b5d5-d8bcf6629c04_800x516.png 848w, https://substackcdn.com/image/fetch/$s_!PdGo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79d15e84-7bdf-45e8-b5d5-d8bcf6629c04_800x516.png 1272w, https://substackcdn.com/image/fetch/$s_!PdGo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79d15e84-7bdf-45e8-b5d5-d8bcf6629c04_800x516.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Done is better than perfect.<br>The image above is Google Maps 20 years ago.<br>You don't need to achieve a dream in one shot. Just release a first version, then iterate.</p><div><hr></div><p>Back to school!<br>This time with <a href="https://kestra.io/blogs/release-1-0">Kestra 1.0</a> and BigData London in two weeks.<br>This summer ranks among the best of the eighty I'll get to live<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>. I wrote about it <a href="https://liminalduality.substack.com/p/one-smile-at-a-time">here</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nWuW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14d03606-2552-4a29-b8b5-b0b6b50a46a0_5616x3744.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nWuW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14d03606-2552-4a29-b8b5-b0b6b50a46a0_5616x3744.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nWuW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14d03606-2552-4a29-b8b5-b0b6b50a46a0_5616x3744.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nWuW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14d03606-2552-4a29-b8b5-b0b6b50a46a0_5616x3744.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nWuW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14d03606-2552-4a29-b8b5-b0b6b50a46a0_5616x3744.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nWuW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14d03606-2552-4a29-b8b5-b0b6b50a46a0_5616x3744.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/14d03606-2552-4a29-b8b5-b0b6b50a46a0_5616x3744.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7555266,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/173526790?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14d03606-2552-4a29-b8b5-b0b6b50a46a0_5616x3744.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nWuW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14d03606-2552-4a29-b8b5-b0b6b50a46a0_5616x3744.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nWuW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14d03606-2552-4a29-b8b5-b0b6b50a46a0_5616x3744.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nWuW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14d03606-2552-4a29-b8b5-b0b6b50a46a0_5616x3744.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nWuW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14d03606-2552-4a29-b8b5-b0b6b50a46a0_5616x3744.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://www.google.com/maps/place/Garibaldi+Historic+US+Coast+Guard+Boathouse/@45.5550802,-123.9202334,18.96z/data=!4m6!3m5!1s0x54eb33ac16a4ee57:0x68862ed904791691!8m2!3d45.5552212!4d-123.9202276!16s%2Fg%2F11gznn5sf3?entry=ttu&amp;g_ep=EgoyMDI1MDkxMC4wIKXMDSoASAFQAw%3D%3D">Somewhere</a> in the West coast</figcaption></figure></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Remove cookies, and we will finally find a web enjoyable to use.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>Actually 75, according to male life expectancy. Maybe I should chase summer between the northern and southern hemispheres&#8212;double the summers, double the life.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Issue 50 - Tools are Companions]]></title><description><![CDATA[Code vibing]]></description><link>https://fromanengineersight.substack.com/p/issue-50-instruments-are-companions</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/issue-50-instruments-are-companions</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Sun, 17 Aug 2025 15:12:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YC0i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c8162e-6f47-4446-b45d-95a66e02d4e6_1954x1378.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YC0i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c8162e-6f47-4446-b45d-95a66e02d4e6_1954x1378.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YC0i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c8162e-6f47-4446-b45d-95a66e02d4e6_1954x1378.png 424w, https://substackcdn.com/image/fetch/$s_!YC0i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c8162e-6f47-4446-b45d-95a66e02d4e6_1954x1378.png 848w, https://substackcdn.com/image/fetch/$s_!YC0i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c8162e-6f47-4446-b45d-95a66e02d4e6_1954x1378.png 1272w, https://substackcdn.com/image/fetch/$s_!YC0i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c8162e-6f47-4446-b45d-95a66e02d4e6_1954x1378.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YC0i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c8162e-6f47-4446-b45d-95a66e02d4e6_1954x1378.png" width="1456" height="1027" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19c8162e-6f47-4446-b45d-95a66e02d4e6_1954x1378.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1027,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1939338,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/171195105?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c8162e-6f47-4446-b45d-95a66e02d4e6_1954x1378.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YC0i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c8162e-6f47-4446-b45d-95a66e02d4e6_1954x1378.png 424w, https://substackcdn.com/image/fetch/$s_!YC0i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c8162e-6f47-4446-b45d-95a66e02d4e6_1954x1378.png 848w, https://substackcdn.com/image/fetch/$s_!YC0i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c8162e-6f47-4446-b45d-95a66e02d4e6_1954x1378.png 1272w, https://substackcdn.com/image/fetch/$s_!YC0i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c8162e-6f47-4446-b45d-95a66e02d4e6_1954x1378.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">My Volkswagen Polo 2016. &#8220;Tommy&#8221; if I had to give it a name. My faithful steed</figcaption></figure></div><p>What&#8217;s the name of your car?<br>I mean, you&#8217;ve named your car, right?<br>I actually haven&#8217;t, but if I had to choose, I&#8217;d call it &#8220;Tommy.&#8221;</p><p>It&#8217;s somehow a companion: I talk to it, it follows me on every trip, I take care of it, and I&#8217;m afraid something bad might happen to it.</p><p>Now, what about the names of your data tools?<br>We make decisions with them, we spend our days with them, we get frustrated with them, we take care of them.</p><p>Yet we don&#8217;t name<a href="app://obsidian.md/index.html#fn-1-389ab160e328fd7f"><sup>[1]</sup></a> them&#8212;beyond their actual boring names. They might have cute duck, octopus, or engine-like faces, but that doesn&#8217;t help us form a personal connection. Everyone uses the same tools.<br>Kids, too, play with the same toys. But they ultimately give them personal names.</p><p>There&#8217;s something intrinsic to our software tools: they don&#8217;t exist in our physical world. And so, it&#8217;s hard to feel the same attachment as we do with our cars or toys.</p><p>I&#8217;ve been rediscovering my old Sony PSP recently, and wow! The buttons, the lightness, the screen&#8212;everything is so well made. The same feeling goes with a vinyl record, a book, a nice chessboard. Chess players even bridge the gap between the real and the virtual with these incredible <a href="https://www.youtube.com/watch?v=e3oF9S0ZNX4&amp;ab_channel=Chessnut">chessboards</a>.</p><p>The keyboard is likely the closest physical object to our digital tools. It&#8217;s not surprising to find <a href="https://keycaplendar.firebaseapp.com/calendar">fans of mechanical keyboards and custom keycaps</a> quite easily.<br>Should we have keycaps for dbt&#8212;a hotkey to open our dbt project in Cursor? The same for BigQuery, Metabase, or ChatGPT.<br>These are basically our <code>CMD+OPTION+&lt;the key you never remember because you only use the tool once a quarter&gt;</code> shortcuts embedded in our physical world.</p><p>I feel we&#8217;d make these tools more like companions if we could truly make them our own.<br>Yes, <a href="app://obsidian.md/04%20Outputs/Newsletter/Issue%2037%20-%20Software%20should%20be%20soft.md">software should be soft</a>. But the <a href="https://www.androidauthority.com/blackberry-classic-revive-android-3587932/">revival of BlackBerry</a>, the fandom around <a href="https://www.theverge.com/23053738/mechanical-keyboard-mainstream-evolution-history">mechanical keyboards</a>, the <a href="https://en.wikipedia.org/wiki/Car_Thing">Car Thing</a> from Spotify, or the <a href="https://poetry.camera/">Claude Poetry camera</a> all refresh the idea that the best instrument is a companion. It's sometimes weird. It can break. It needs care.<br>And now, it can even &#8220;talk&#8221; to you.</p><div><hr></div><h1>&#128225; Expected Contents</h1><h3>Betting Against Agents</h3><p>Resonating with the intro: this post comes with very good arguments on why we shouldn't focus too much on agents.</p><p>Long story short: error rates compound exponentially in multi-step workflows. 95% reliability per step is equivalent to 36% success over 20 steps.<br>In reality, we usually need 99.9%...<br>Also, context windows create quadratic token costs making long autonomous conversations economically unsustainable.<br>It's not that agents don't work. It's that they don't work like we thinks. Don't get me wrong, I'm bullish on AI in general, but this read among others confirms that the current narrative suggesting 2025 is the breakthrough year is less and less a good conjecture.</p><p>Must read!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://utkarshkanwat.com/writing/betting-against-agents/&quot;,&quot;text&quot;:&quot;&#128073; Read the blog&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://utkarshkanwat.com/writing/betting-against-agents/"><span>&#128073; Read the blog</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yWuL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a40fa-3887-4568-94bc-e19499982908_2348x1454.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yWuL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a40fa-3887-4568-94bc-e19499982908_2348x1454.png 424w, https://substackcdn.com/image/fetch/$s_!yWuL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a40fa-3887-4568-94bc-e19499982908_2348x1454.png 848w, https://substackcdn.com/image/fetch/$s_!yWuL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a40fa-3887-4568-94bc-e19499982908_2348x1454.png 1272w, https://substackcdn.com/image/fetch/$s_!yWuL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a40fa-3887-4568-94bc-e19499982908_2348x1454.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yWuL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a40fa-3887-4568-94bc-e19499982908_2348x1454.png" width="660" height="408.8736263736264" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/851a40fa-3887-4568-94bc-e19499982908_2348x1454.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:902,&quot;width&quot;:1456,&quot;resizeWidth&quot;:660,&quot;bytes&quot;:267022,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/171195105?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a40fa-3887-4568-94bc-e19499982908_2348x1454.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yWuL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a40fa-3887-4568-94bc-e19499982908_2348x1454.png 424w, https://substackcdn.com/image/fetch/$s_!yWuL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a40fa-3887-4568-94bc-e19499982908_2348x1454.png 848w, https://substackcdn.com/image/fetch/$s_!yWuL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a40fa-3887-4568-94bc-e19499982908_2348x1454.png 1272w, https://substackcdn.com/image/fetch/$s_!yWuL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a40fa-3887-4568-94bc-e19499982908_2348x1454.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>Thoughts on DuckLake</h3><p>I didn't follow that much DuckLake announcement a few month ago. Max gives good thoughts on this post.</p><p>I'm not sure if such a framework is really needed right now. But I kinda expect the Duck team to have a proper plan and deploy the project even more on the market shortly.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://maxhalford.github.io/blog/ducklake-thoughts/&quot;,&quot;text&quot;:&quot;&#128073; Read the blog&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://maxhalford.github.io/blog/ducklake-thoughts/"><span>&#128073; Read the blog</span></a></p><div><hr></div><h3>dbt + AI follow up</h3><p>AI isn&#8217;t just for modeling&#8212;here&#8217;s a sharp breakdown of how it can drive robust data testing and monitoring, too. </p><p>This second part of Mikkel's blog walks through pairing dbt with AI to automate checks, flag anomalies, and keep your data quality tight. Worth a read if you want to see what the future of analytics engineering looks like in practice.</p><p>Related: lately I thought about the <a href="https://docs.anthropic.com/en/docs/claude-code/sub-agents">sub-agent thing</a> brought by Claude. I feel more and more eager to write these agents' "brain" prompts rather than writing code myself. Committed as markdown in the repo, and the entire team can use these robots to work way faster. Nothing really new, just wondering if it's one orthogonal path alongside semantic layering and more tooling for humans &#129300;. To be continued.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://mikkeldengsoe.substack.com/p/using-ai-to-build-a-robust-testing?publication_id=540705&amp;post_id=168078467&amp;isFreemail=true&amp;r=e2a5d&amp;triedRedirect=true&quot;,&quot;text&quot;:&quot;&#128073; Read the blog&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://mikkeldengsoe.substack.com/p/using-ai-to-build-a-robust-testing?publication_id=540705&amp;post_id=168078467&amp;isFreemail=true&amp;r=e2a5d&amp;triedRedirect=true"><span>&#128073; Read the blog</span></a></p><div><hr></div><h3>Using uvx</h3><p>If like me you write more and more CLI for daily operations, you might be interested in <a href="https://docs.astral.sh/uv/guides/tools/">uvx</a>:</p><p>The most important aspect is defining <strong>entry points</strong> (console scripts) in your <code>pyproject.toml</code>. This tells uvx which commands are available when the package is installed:</p><pre><code><code>[project]
name = "your-package"
version = "0.1.0"
description = "Your tool description"

[project.scripts]
your-command = "your_package.module:main_function"
another-command = "your_package.cli:cli_main"
</code></code></pre><p>When uvx is invoked, uv installs the corresponding package, which provides the command. The tool looks for executable commands defined in the package's entry points.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://docs.astral.sh/uv/guides/tools/&quot;,&quot;text&quot;:&quot;&#128073; Read the doc&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://docs.astral.sh/uv/guides/tools/"><span>&#128073; Read the doc</span></a></p><div><hr></div><h1>&#128240; The Blog Post</h1><p>No blog post this time. I'm keen to explore more around UX for data + LLM, so I hope to write some follow ups of the last post with Julien. Here is the <a href="https://juhache.substack.com/p/the-semantic-modeling-loop">link</a> again I you didn't read it yet.</p><div><hr></div><h1>&#127912; Beyond The Bracket</h1><div id="youtube2-Mbeku_nj0Nk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Mbeku_nj0Nk&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Mbeku_nj0Nk?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>This is code vibing. </p><p>I've been playing piano on the side for a decade now<a href="app://obsidian.md/index.html#fn-2-389ab160e328fd7f"><sup>[2]</sup></a> and I'm always amazed by how technology helps to learn and develop new sounds, new vibe.<br>This time the instrument is code.</p><p>Playing around <a href="https://strudel.cc/">Strudel</a> makes you see music in a totally different way. It gives new ideas.<br>It's again a call for me to draw a parallel with how literature, cognitive, and linguistic studies can help us use our new toys in novel ways and explore our own selves.</p><div><hr></div><p>Just returned to France after a month in the US. Loved it! Felt like being a kid again - everything seemed fresh and waiting to be explored. Sure, there's probably novelty bias at play (only my second US trip). But after experiencing the wildlife and those massive open spaces, I feel cramped back in this tiny French box.</p><p>Already tons of things planned for the back to school - with a stop in London in September. I'll be in BigData London for those wanting to hang out there!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Eo-t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3517becc-b136-4b81-b65a-310b07c17965_3744x5616.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Eo-t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3517becc-b136-4b81-b65a-310b07c17965_3744x5616.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Eo-t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3517becc-b136-4b81-b65a-310b07c17965_3744x5616.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Eo-t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3517becc-b136-4b81-b65a-310b07c17965_3744x5616.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Eo-t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3517becc-b136-4b81-b65a-310b07c17965_3744x5616.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Eo-t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3517becc-b136-4b81-b65a-310b07c17965_3744x5616.jpeg" width="385" height="577.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3517becc-b136-4b81-b65a-310b07c17965_3744x5616.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2184,&quot;width&quot;:1456,&quot;resizeWidth&quot;:385,&quot;bytes&quot;:16745590,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/171195105?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3517becc-b136-4b81-b65a-310b07c17965_3744x5616.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Eo-t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3517becc-b136-4b81-b65a-310b07c17965_3744x5616.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Eo-t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3517becc-b136-4b81-b65a-310b07c17965_3744x5616.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Eo-t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3517becc-b136-4b81-b65a-310b07c17965_3744x5616.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Eo-t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3517becc-b136-4b81-b65a-310b07c17965_3744x5616.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Issue 49 - The Discovery of Neptune]]></title><description><![CDATA[The Semantic Loop]]></description><link>https://fromanengineersight.substack.com/p/issue-49-the-discovery-of-neptune</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/issue-49-the-discovery-of-neptune</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Thu, 17 Jul 2025 05:05:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qq4l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f321a2-d783-4047-84c5-4e94cbed117b_736x693.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qq4l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f321a2-d783-4047-84c5-4e94cbed117b_736x693.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qq4l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f321a2-d783-4047-84c5-4e94cbed117b_736x693.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qq4l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f321a2-d783-4047-84c5-4e94cbed117b_736x693.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qq4l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f321a2-d783-4047-84c5-4e94cbed117b_736x693.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qq4l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f321a2-d783-4047-84c5-4e94cbed117b_736x693.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qq4l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f321a2-d783-4047-84c5-4e94cbed117b_736x693.jpeg" width="736" height="693" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39f321a2-d783-4047-84c5-4e94cbed117b_736x693.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:693,&quot;width&quot;:736,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:51819,&quot;alt&quot;:&quot;This contains: neptune, neptune aesthetic, neptune planet, planet neptune, neptune aesthetic planet, neptune core, neptune energy, neptune wallpaper, wallpaper, wallpapers, background, backgrounds, wallapapers idea, aesthetic lockscreens, lockscreen iphone, planet neptune wallpaper iphone aesthetic, neptune astrology, neptune retrograde, spirituality, wallpapers full hd, wallpapers 4k, universe, planets wallpapers, spiritual, spirituality wallpapers, astronomy, astrology aesthetic, spiritual girl aesthetic&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="This contains: neptune, neptune aesthetic, neptune planet, planet neptune, neptune aesthetic planet, neptune core, neptune energy, neptune wallpaper, wallpaper, wallpapers, background, backgrounds, wallapapers idea, aesthetic lockscreens, lockscreen iphone, planet neptune wallpaper iphone aesthetic, neptune astrology, neptune retrograde, spirituality, wallpapers full hd, wallpapers 4k, universe, planets wallpapers, spiritual, spirituality wallpapers, astronomy, astrology aesthetic, spiritual girl aesthetic" title="This contains: neptune, neptune aesthetic, neptune planet, planet neptune, neptune aesthetic planet, neptune core, neptune energy, neptune wallpaper, wallpaper, wallpapers, background, backgrounds, wallapapers idea, aesthetic lockscreens, lockscreen iphone, planet neptune wallpaper iphone aesthetic, neptune astrology, neptune retrograde, spirituality, wallpapers full hd, wallpapers 4k, universe, planets wallpapers, spiritual, spirituality wallpapers, astronomy, astrology aesthetic, spiritual girl aesthetic" srcset="https://substackcdn.com/image/fetch/$s_!qq4l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f321a2-d783-4047-84c5-4e94cbed117b_736x693.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qq4l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f321a2-d783-4047-84c5-4e94cbed117b_736x693.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qq4l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f321a2-d783-4047-84c5-4e94cbed117b_736x693.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qq4l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f321a2-d783-4047-84c5-4e94cbed117b_736x693.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>On September 23rd, 1846, Urbain Le Verrier (calculation) and Johann Gottfried Galle (observation) discovered Neptune.</p><p>The story begins with Uranus, which had been puzzling astronomers for years. Its orbit showed strange irregularities that didn't fit existing models.<br>Using Newton's law of universal gravitation, Le Verrier analyzed the perturbations in Uranus's orbit and worked backward to determine the hidden planet's likely mass, orbit, and position. The calculations were extraordinarily complex&#8212;all done by hand without modern computational tools.</p><p>Le Verrier published his preliminary findings in June 1845, then spent months refining his work throughout 1846. He didn't just predict the planet's existence; he pinpointed its precise location in the sky.</p><p>When Galle pointed his telescope to Le Verrier's predicted coordinates, Neptune was there waiting.</p><p>Most of the planets of our solar systems have been found by direct observation. Only Uranus where found with technology assisted obsvervation<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>. Neptune was the first planet found through pure mathematical modeling.</p><p>While the analogy will sound peculiar to some, I feel we have been through the same pattern recently.</p><p>Le Verrier worked backward from Uranus's orbital irregularities to find Neptune.<br>Context engineers work backward from inconsistent AI outputs to identify what contextual structures might stabilize performance.</p><p>Prompt engineering was the obvious. Then we enter context engineering which is more thoughtful and methodical.<br>A natural follow up question I'm sure you asked yourself is "how to build context then?".</p><p>I'm not talking about the first order context: the one we feed our synthetic PRDs ultimately digested by our best models. I'm talking about the one we build upfront.</p><p>I don't have a master's in cognitive science or linguistics, but my gut feeling here is we're using these new models to uncover just how powerful language really is&#8212;and how it contains computational structures we're only starting to grasp<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>.</p><p>Put it in another way: there's a call here to focus more on literature, linguistics, and cognition. The actual disciplines allowing us - humans - to develop larger, thorougher, newest, contexts.</p><div><hr></div><h1>&#128225; Expected Contents</h1><h3>Obituaries, a Way of Creativity</h3><p>My summer - nerd - reading is <a href="https://www.google.com/url?sa=t&amp;source=web&amp;rct=j&amp;opi=89978449&amp;url=https://www.amazon.com/Metaphors-We-Live-George-Lakoff/dp/0226468011&amp;ved=2ahUKEwii_rPficOOAxXnOTQIHeHqBtQQFnoECAkQAQ&amp;usg=AOvVaw2kRugSGaguCAGs9IOxduq9">Metaphors We Live By</a>. Likely my favorite book of the year so far.<br>Metaphors are very powerful and most of the time underestimated. Exploring uncommon ones is good for creativity as highlighted in this post:</p><blockquote><p>Gentner calls this <em>property mapping</em> &#8212; when people borrow attributes like texture or shape from one concept and apply them to another. It&#8217;s a kind of remote association, and clearly more creative than imagining a standard school desk. But Gentner identified something even more powerful: <em>structure mapping</em>. This happens when you transfer the <em>relational structure</em> of one concept to another. Say you combine &#8220;pony&#8221; and &#8220;chair&#8221; and picture a chair shaped like a pony &#8212; that&#8217;s still property mapping, just more elaborate. But if you imagine a <em>small</em> chair, you&#8217;ve made a bigger leap. That&#8217;s structure mapping: drawing on the idea that a pony is smaller than a horse, and applying that relationship to redefine the size of a chair. These kinds of mappings &#8212; especially when the underlying relations are abstract or non-obvious &#8212; tend to produce the most original and surprising combinations.</p></blockquote><p>A big part of this newsletter is driven by exploring metaphors; this one post resonates a lot:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thereader.mitpress.mit.edu/the-creativity-hack-no-one-told-you-about-read-the-obits/&quot;,&quot;text&quot;:&quot;&#128073; Read the post&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://thereader.mitpress.mit.edu/the-creativity-hack-no-one-told-you-about-read-the-obits/"><span>&#128073; Read the post</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N8ya!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ee12e09-9997-4a19-bd89-13cc9e93cad3_700x420.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N8ya!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ee12e09-9997-4a19-bd89-13cc9e93cad3_700x420.jpeg 424w, https://substackcdn.com/image/fetch/$s_!N8ya!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ee12e09-9997-4a19-bd89-13cc9e93cad3_700x420.jpeg 848w, https://substackcdn.com/image/fetch/$s_!N8ya!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ee12e09-9997-4a19-bd89-13cc9e93cad3_700x420.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!N8ya!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ee12e09-9997-4a19-bd89-13cc9e93cad3_700x420.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N8ya!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ee12e09-9997-4a19-bd89-13cc9e93cad3_700x420.jpeg" width="594" height="356.4" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ee12e09-9997-4a19-bd89-13cc9e93cad3_700x420.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:420,&quot;width&quot;:700,&quot;resizeWidth&quot;:594,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!N8ya!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ee12e09-9997-4a19-bd89-13cc9e93cad3_700x420.jpeg 424w, https://substackcdn.com/image/fetch/$s_!N8ya!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ee12e09-9997-4a19-bd89-13cc9e93cad3_700x420.jpeg 848w, https://substackcdn.com/image/fetch/$s_!N8ya!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ee12e09-9997-4a19-bd89-13cc9e93cad3_700x420.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!N8ya!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ee12e09-9997-4a19-bd89-13cc9e93cad3_700x420.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>The Illusion of Causality in Charts</h3><p>Again a call for "corellation isn't causation". Our industry is stuck somehow in a local optima: the ETL era. Into "observational data."</p><p>While causality cannot be directly inferred from observational data, different degrees of plausibility can be derived from it.<br>But we might also lift our new tools to move forward on proper A/B tests and methods designed since decades to run causality experiments.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://filwd.substack.com/p/the-illusion-of-causality-in-charts&quot;,&quot;text&quot;:&quot;&#128073; Read the post&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://filwd.substack.com/p/the-illusion-of-causality-in-charts"><span>&#128073; Read the post</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d20y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9e171b3-6dc4-4012-8f94-e9f035139572_398x424.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d20y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9e171b3-6dc4-4012-8f94-e9f035139572_398x424.png 424w, https://substackcdn.com/image/fetch/$s_!d20y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9e171b3-6dc4-4012-8f94-e9f035139572_398x424.png 848w, https://substackcdn.com/image/fetch/$s_!d20y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9e171b3-6dc4-4012-8f94-e9f035139572_398x424.png 1272w, https://substackcdn.com/image/fetch/$s_!d20y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9e171b3-6dc4-4012-8f94-e9f035139572_398x424.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d20y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9e171b3-6dc4-4012-8f94-e9f035139572_398x424.png" width="296" height="315.33668341708545" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9e171b3-6dc4-4012-8f94-e9f035139572_398x424.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:424,&quot;width&quot;:398,&quot;resizeWidth&quot;:296,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d20y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9e171b3-6dc4-4012-8f94-e9f035139572_398x424.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="https://substackcdn.com/image/fetch/$s_!d20y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9e171b3-6dc4-4012-8f94-e9f035139572_398x424.png" title="https://substackcdn.com/image/fetch/$s_!d20y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9e171b3-6dc4-4012-8f94-e9f035139572_398x424.png" srcset="https://substackcdn.com/image/fetch/$s_!d20y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9e171b3-6dc4-4012-8f94-e9f035139572_398x424.png 424w, https://substackcdn.com/image/fetch/$s_!d20y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9e171b3-6dc4-4012-8f94-e9f035139572_398x424.png 848w, https://substackcdn.com/image/fetch/$s_!d20y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9e171b3-6dc4-4012-8f94-e9f035139572_398x424.png 1272w, https://substackcdn.com/image/fetch/$s_!d20y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9e171b3-6dc4-4012-8f94-e9f035139572_398x424.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>Using AI for Data Modeling in dbt</h3><p>I'm working with an analytics engineer at Kestra, and he surprised me very early in the onboarding process: he set dbt with some AI plugin in VS Code. This took less than 2 days and it drove the whole analytics motion.</p><p>dbt with an AI copilot will likely be the default setup when it comes to analytics engineering. Even niche code editor like <a href="https://getnao.io/">Nao</a> are emerging to support that project.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://mikkeldengsoe.substack.com/p/using-ai-for-data-modeling-in-dbt?publication_id=540705&amp;post_id=167502885&amp;isFreemail=true&amp;r=e2a5d&amp;triedRedirect=true&quot;,&quot;text&quot;:&quot;&#128073; Read the post&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://mikkeldengsoe.substack.com/p/using-ai-for-data-modeling-in-dbt?publication_id=540705&amp;post_id=167502885&amp;isFreemail=true&amp;r=e2a5d&amp;triedRedirect=true"><span>&#128073; Read the post</span></a></p><div><hr></div><h3>When to Design For Emergence</h3><p>I can't recommend this post more. Likely promoted in a previous issue (shame on me if not). Reading it again in the plane right now and it highlight something we might need in the vibe-coding phase.<br>Yes, building very specific product that fit a niche problem is good. But to sustain a tool letting users find solutions by themselves is another game.<br>Again, I'm thinking about Malloy here, and globally speaking any tool or DSL that let users create new meaning their own way.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rhizomerd.com/p/when-to-design-for-emergence&quot;,&quot;text&quot;:&quot;&#128073; Read the post&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rhizomerd.com/p/when-to-design-for-emergence"><span>&#128073; Read the post</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g5LC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0cfc914-01a4-4e8f-9629-c4de50133f10_1456x1142.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g5LC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0cfc914-01a4-4e8f-9629-c4de50133f10_1456x1142.png 424w, https://substackcdn.com/image/fetch/$s_!g5LC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0cfc914-01a4-4e8f-9629-c4de50133f10_1456x1142.png 848w, https://substackcdn.com/image/fetch/$s_!g5LC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0cfc914-01a4-4e8f-9629-c4de50133f10_1456x1142.png 1272w, https://substackcdn.com/image/fetch/$s_!g5LC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0cfc914-01a4-4e8f-9629-c4de50133f10_1456x1142.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g5LC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0cfc914-01a4-4e8f-9629-c4de50133f10_1456x1142.png" width="500" height="392.1703296703297" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a0cfc914-01a4-4e8f-9629-c4de50133f10_1456x1142.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1142,&quot;width&quot;:1456,&quot;resizeWidth&quot;:500,&quot;bytes&quot;:140474,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/168531274?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0cfc914-01a4-4e8f-9629-c4de50133f10_1456x1142.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!g5LC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0cfc914-01a4-4e8f-9629-c4de50133f10_1456x1142.png 424w, https://substackcdn.com/image/fetch/$s_!g5LC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0cfc914-01a4-4e8f-9629-c4de50133f10_1456x1142.png 848w, https://substackcdn.com/image/fetch/$s_!g5LC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0cfc914-01a4-4e8f-9629-c4de50133f10_1456x1142.png 1272w, https://substackcdn.com/image/fetch/$s_!g5LC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0cfc914-01a4-4e8f-9629-c4de50133f10_1456x1142.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h1>&#128240; The Blog Post</h1><p>Very proud to release that one with <a href="https://juhache.substack.com/">Julien</a>. We were very exicted to write and explore on the semantic layer and the future of analytics here.<br>Please read it quickly, you'll be surprised how far you can go with a simple semantic layer definition, a MCP, and proper prompt techniques.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://juhache.substack.com/p/the-semantic-modeling-loop&quot;,&quot;text&quot;:&quot;&#128073; Read the post&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://juhache.substack.com/p/the-semantic-modeling-loop"><span>&#128073; Read the post</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l2qs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbf993d-bc3a-4702-8df3-14b91a5465d8_1086x833.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l2qs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbf993d-bc3a-4702-8df3-14b91a5465d8_1086x833.png 424w, https://substackcdn.com/image/fetch/$s_!l2qs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbf993d-bc3a-4702-8df3-14b91a5465d8_1086x833.png 848w, https://substackcdn.com/image/fetch/$s_!l2qs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbf993d-bc3a-4702-8df3-14b91a5465d8_1086x833.png 1272w, https://substackcdn.com/image/fetch/$s_!l2qs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbf993d-bc3a-4702-8df3-14b91a5465d8_1086x833.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l2qs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbf993d-bc3a-4702-8df3-14b91a5465d8_1086x833.png" width="1086" height="833" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8bbf993d-bc3a-4702-8df3-14b91a5465d8_1086x833.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:833,&quot;width&quot;:1086,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1199722,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/168531274?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbf993d-bc3a-4702-8df3-14b91a5465d8_1086x833.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!l2qs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbf993d-bc3a-4702-8df3-14b91a5465d8_1086x833.png 424w, https://substackcdn.com/image/fetch/$s_!l2qs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbf993d-bc3a-4702-8df3-14b91a5465d8_1086x833.png 848w, https://substackcdn.com/image/fetch/$s_!l2qs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbf993d-bc3a-4702-8df3-14b91a5465d8_1086x833.png 1272w, https://substackcdn.com/image/fetch/$s_!l2qs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbf993d-bc3a-4702-8df3-14b91a5465d8_1086x833.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h1>&#127912; Beyond The Bracket</h1><blockquote><p>Quitting programming as a career right now because of LLMs would be like quitting carpentry as a career thanks to the invention of the table saw.</p></blockquote><p>Not that much to add. But it&#8217;s a good reminder for the current time. The new paradigm in set.</p><p>Our end goals as engineers will likely be the same. We will just use better tools.</p><p>And so again, the same loop&#8230; This is a call to focus on what matters.</p><p>Yes, you should learn to use the new tools. </p><p>But what are you doing with these tools? What are you focusing on right now?</p><p>Hope it&#8217;s not tool specific.</p><p>Hope you try to build a house, like it always been.</p><p>Not a wooden toy for kids you don&#8217;t have.</p><div><hr></div><p>Writing this issue in the plane toward Portland. I'm quite proud of my reading setup here: my printed magazine of my favorite blog posts, a book, and Obsidian on my Macbook. I don't any WiFi, so the latter is very welcomed as I can access my own librairie of thoughts, and project I save and nurture since years now.</p><p>Can't wait to land on that new territory. The other side of the planet for me.<br>Hope the <a href="app://obsidian.md/06%20Library/Blogs/Strong%20worlds,%20weak%20worlds,%20SaaS%20worlds,%20link%20worlds.md">world</a> on your side is doing good.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Uranus was found thourhg conducting a systematic survey of stars with a telescope.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>I might be the average literate guy, so I'm maybe just discovering advanced literacy...</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Issue 48 - Tupperware, Hardware, Software]]></title><description><![CDATA[The unbundling phase is already here]]></description><link>https://fromanengineersight.substack.com/p/issue-48-tupperware-hardware-software</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/issue-48-tupperware-hardware-software</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Tue, 17 Jun 2025 20:16:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!rg4d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11166eb-4984-4f60-aed4-41a361c9e098_600x679.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rg4d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11166eb-4984-4f60-aed4-41a361c9e098_600x679.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rg4d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11166eb-4984-4f60-aed4-41a361c9e098_600x679.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rg4d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11166eb-4984-4f60-aed4-41a361c9e098_600x679.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rg4d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11166eb-4984-4f60-aed4-41a361c9e098_600x679.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rg4d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11166eb-4984-4f60-aed4-41a361c9e098_600x679.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rg4d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11166eb-4984-4f60-aed4-41a361c9e098_600x679.jpeg" width="512" height="579.4133333333333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f11166eb-4984-4f60-aed4-41a361c9e098_600x679.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:679,&quot;width&quot;:600,&quot;resizeWidth&quot;:512,&quot;bytes&quot;:62582,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/166183214?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11166eb-4984-4f60-aed4-41a361c9e098_600x679.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rg4d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11166eb-4984-4f60-aed4-41a361c9e098_600x679.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rg4d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11166eb-4984-4f60-aed4-41a361c9e098_600x679.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rg4d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11166eb-4984-4f60-aed4-41a361c9e098_600x679.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rg4d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff11166eb-4984-4f60-aed4-41a361c9e098_600x679.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><a href="https://fr.wikipedia.org/wiki/Tupperware">Tupperware</a> filled bankruptcy in 2024<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>. It stemmed not from inferior products but failure to reinvent distribution for digital-native consumers accustomed to Amazon Prime and social media influencers.</p><blockquote><p>According to its bankruptcy filing, consumers now prefer making purchases in stores or online, and only a small share buy via the direct-selling model. Still, in 2023 some 90% of Tupperware&#8217;s sales were from direct sales.</p></blockquote><p>At work, I recently ran a pre-sales call with a prospect. This one went really well. It was actually better than a year ago. Mainly because I digested my learning, but also read and thought about the sales motion lately.<br>When I pull the thread further, my engineer mindset always falls back to what makes sales easy: good distribution.<br>This resonates a lot with Sam Altman's call: "Most careers turn into a sales job when you get senior enough"<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p><p>Today, we are on the verge of a new distribution system for software. <a href="https://maggieappleton.com/home-cooked-software">The home-cooked software and barefoot developers</a> is getting serious. Like when online stores change the answers to the questions of how and where we buy goods, I can expect the same questions on software to have a totally different answer than in the current timeframe.</p><p>How do you buy software?<br>Where do you buy?<br>Do you still buy software?</p><blockquote><p>There&#8217;s no reason to design software at an industrial scale. People don&#8217;t want to use a thousand to-do apps or a million messaging tools. We have car factories because cars are expensive to manufacture by hand; we have shirt factories because people <a href="https://substack.com/redirect/889b0eae-74eb-4db6-b4b1-087e4f9a5c2a?j=eyJ1IjoiZTJhNWQifQ.0QLUAGpKnzalUhBZQFHI3F2FeAilh2OR9ZzmyFFCbwc">want a million shirts</a>. Neither of those is true for software (anymore).</p></blockquote><p>Though we can see recent acquisitions as a great bundling in the higher market, it seems we're entering an unbundling phase in the consumer and developer markets.<br>And like any <a href="https://roundup.getdbt.com/p/bundled-or-unbundled-data-stack">unbundling phase, we might need to use some glue</a>.</p><div><hr></div><h1>&#128225; Expected Contents</h1><h3>The total derivative of a metric tree</h3><p>Graph theory always enlightens me. Was boring when I was in engineering school, is now a great modeling approach most of the time.<br>Max comes here with a mathematical application of <a href="https://www.youtube.com/watch?v=Dbr8jmtfZ7Q&amp;feature=youtu.be">Metric Tree</a>: computing the total derivative of a metric tree</p><blockquote><p>I like the idea that a metric tree is essentially just a function. You can think of it as a multivariate function that takes a set of inputs and returns a single output. There may be intermediate outputs, depending on the metric&#8217;s complexity. The metric tree is just a way to visualize the function&#8217;s structure.<br>Any well-defined function can be differentiated &#8211; i.e. provided it is <a href="https://en.wikipedia.org/wiki/Differentiable_function#:~:text=A%20function%20is%20said%20to%20be%20continuously%20differentiable%20if%20the,to%20have%20an%20essential%20discontinuity.">continuously differentiable</a>. In particular, the <a href="https://en.wikipedia.org/wiki/Total_derivative">total derivative</a> gives us a way to understand the change in the output with respect to each input. It is a linear approximation of the function at a given point.</p></blockquote><p>Go read that one: it's not that complex and it's short.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://maxhalford.github.io/blog/metric-tree-total-derivative/&quot;,&quot;text&quot;:&quot;&#128073; Read the blog&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://maxhalford.github.io/blog/metric-tree-total-derivative/"><span>&#128073; Read the blog</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-cuu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F491c24ef-a36e-44d0-bf39-1829e9b35601_1042x575.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-cuu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F491c24ef-a36e-44d0-bf39-1829e9b35601_1042x575.png 424w, https://substackcdn.com/image/fetch/$s_!-cuu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F491c24ef-a36e-44d0-bf39-1829e9b35601_1042x575.png 848w, https://substackcdn.com/image/fetch/$s_!-cuu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F491c24ef-a36e-44d0-bf39-1829e9b35601_1042x575.png 1272w, https://substackcdn.com/image/fetch/$s_!-cuu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F491c24ef-a36e-44d0-bf39-1829e9b35601_1042x575.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-cuu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F491c24ef-a36e-44d0-bf39-1829e9b35601_1042x575.png" width="1042" height="575" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/491c24ef-a36e-44d0-bf39-1829e9b35601_1042x575.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:575,&quot;width&quot;:1042,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:32443,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/166183214?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F491c24ef-a36e-44d0-bf39-1829e9b35601_1042x575.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-cuu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F491c24ef-a36e-44d0-bf39-1829e9b35601_1042x575.png 424w, https://substackcdn.com/image/fetch/$s_!-cuu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F491c24ef-a36e-44d0-bf39-1829e9b35601_1042x575.png 848w, https://substackcdn.com/image/fetch/$s_!-cuu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F491c24ef-a36e-44d0-bf39-1829e9b35601_1042x575.png 1272w, https://substackcdn.com/image/fetch/$s_!-cuu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F491c24ef-a36e-44d0-bf39-1829e9b35601_1042x575.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>Zip Bomb Protection</h3><p>Protecting a website from malicious attacks, or lately LLM crawling, is now a complete industry.<br>There are proxies, load balancers, log analyzers, and other smart techniques. There is a simple dummy one:</p><blockquote><p>A zip bomb is a relatively small compressed file that can expand into a very large file that can overwhelm a machine.</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://idiallo.com/blog/zipbomb-protection&quot;,&quot;text&quot;:&quot;&#128073; Read the blog&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://idiallo.com/blog/zipbomb-protection"><span>&#128073; Read the blog</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XvXS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285026b0-7263-4465-9fea-e2ef4cbf619d_1416x279.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XvXS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285026b0-7263-4465-9fea-e2ef4cbf619d_1416x279.png 424w, https://substackcdn.com/image/fetch/$s_!XvXS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285026b0-7263-4465-9fea-e2ef4cbf619d_1416x279.png 848w, https://substackcdn.com/image/fetch/$s_!XvXS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285026b0-7263-4465-9fea-e2ef4cbf619d_1416x279.png 1272w, https://substackcdn.com/image/fetch/$s_!XvXS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285026b0-7263-4465-9fea-e2ef4cbf619d_1416x279.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XvXS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285026b0-7263-4465-9fea-e2ef4cbf619d_1416x279.png" width="1416" height="279" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/285026b0-7263-4465-9fea-e2ef4cbf619d_1416x279.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:279,&quot;width&quot;:1416,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:60011,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/166183214?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285026b0-7263-4465-9fea-e2ef4cbf619d_1416x279.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XvXS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285026b0-7263-4465-9fea-e2ef4cbf619d_1416x279.png 424w, https://substackcdn.com/image/fetch/$s_!XvXS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285026b0-7263-4465-9fea-e2ef4cbf619d_1416x279.png 848w, https://substackcdn.com/image/fetch/$s_!XvXS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285026b0-7263-4465-9fea-e2ef4cbf619d_1416x279.png 1272w, https://substackcdn.com/image/fetch/$s_!XvXS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285026b0-7263-4465-9fea-e2ef4cbf619d_1416x279.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h3>I'd rather read the prompt</h3><p>Revolving around AI prompts and the value of it. Very nice post.<br>Please show me your prompts.</p><blockquote><p>The resulting output has less substance than the prompt and lacks any human vision in its creation. The whole point of making creative work is to share one&#8217;s own experience - if there&#8217;s no experience to share, why bother? If it&#8217;s not worth writing, it&#8217;s not worth reading.</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://claytonwramsey.com/blog/prompt/&quot;,&quot;text&quot;:&quot;&#128073; Read the blog&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://claytonwramsey.com/blog/prompt/"><span>&#128073; Read the blog</span></a></p><div><hr></div><h3>The Fairytale Structure</h3><p>Strategic planning using the fairytale structure?</p><blockquote><p>It&#8217;s going to look like this:</p><ol><li><p><strong>Objectives:</strong> What are we trying to get / what happens if we don&#8217;t?</p></li><li><p><strong>Obstacles:</strong> What stands in our way?</p></li><li><p><strong>Actions:</strong> How do we overcome the obstacles while advancing our objectives?</p></li><li><p><strong>Measures:</strong> How will we know we&#8217;ve been successful?</p></li><li><p><strong>Not Doing:</strong> What important things have we chosen not to do, so that we can achieve the above?</p></li></ol></blockquote><p>Great framework using humanity&#8217;s collective unconscious to guide strategic problem-analysis, and plans that everyone understands.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://longform.asmartbear.com/strategic-planning/&quot;,&quot;text&quot;:&quot;&#128073; Read the blog&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://longform.asmartbear.com/strategic-planning/"><span>&#128073; Read the blog</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oKQ8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca033d-4ef7-4eea-b606-cd291176aecc_500x500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oKQ8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca033d-4ef7-4eea-b606-cd291176aecc_500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oKQ8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca033d-4ef7-4eea-b606-cd291176aecc_500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oKQ8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca033d-4ef7-4eea-b606-cd291176aecc_500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oKQ8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca033d-4ef7-4eea-b606-cd291176aecc_500x500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oKQ8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca033d-4ef7-4eea-b606-cd291176aecc_500x500.jpeg" width="500" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c6ca033d-4ef7-4eea-b606-cd291176aecc_500x500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oKQ8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca033d-4ef7-4eea-b606-cd291176aecc_500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oKQ8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca033d-4ef7-4eea-b606-cd291176aecc_500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oKQ8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca033d-4ef7-4eea-b606-cd291176aecc_500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oKQ8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca033d-4ef7-4eea-b606-cd291176aecc_500x500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h1>&#128240; The Blog Post</h1><p>No blog post this month; things have been busy. If you are curious to know what I've been doing at work, the biggest writing piece of the month on my side is the <a href="https://kestra.io/blogs/release-0-23?clid=eyJpIjoiYnB5djFDR3FrNUxtdk40b3N3d3I1IiwiaCI6IiIsInAiOiIvcmVsZWFzZS0wLTIzLWhlcm8iLCJ0IjoxNzUwMTkwODg4fQ.53kh2tkhLE2XgyODUF0qUlnWzM3LNgLHBju2uc9TXmk">Kestra 0.23 Release Blog Post</a>.</p><p>Yet, I've fresh ideas on the back burner. Have to sit and write.</p><div><hr></div><h1>&#127912; Beyond The Bracket</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Hlo7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a95e9-05b5-4226-a071-b728673e1b82_700x812.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hlo7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a95e9-05b5-4226-a071-b728673e1b82_700x812.png 424w, https://substackcdn.com/image/fetch/$s_!Hlo7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a95e9-05b5-4226-a071-b728673e1b82_700x812.png 848w, https://substackcdn.com/image/fetch/$s_!Hlo7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a95e9-05b5-4226-a071-b728673e1b82_700x812.png 1272w, https://substackcdn.com/image/fetch/$s_!Hlo7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a95e9-05b5-4226-a071-b728673e1b82_700x812.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hlo7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a95e9-05b5-4226-a071-b728673e1b82_700x812.png" width="700" height="812" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f01a95e9-05b5-4226-a071-b728673e1b82_700x812.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:812,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:351510,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/166183214?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a95e9-05b5-4226-a071-b728673e1b82_700x812.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Hlo7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a95e9-05b5-4226-a071-b728673e1b82_700x812.png 424w, https://substackcdn.com/image/fetch/$s_!Hlo7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a95e9-05b5-4226-a071-b728673e1b82_700x812.png 848w, https://substackcdn.com/image/fetch/$s_!Hlo7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a95e9-05b5-4226-a071-b728673e1b82_700x812.png 1272w, https://substackcdn.com/image/fetch/$s_!Hlo7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a95e9-05b5-4226-a071-b728673e1b82_700x812.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>All the parts of human anatomy that don't have clear evolutionary advantages or seem actively unhelpful and poorly designed &#8211; Source: <a href="https://www.sdbonline.org/sites/fly/lewheldquirk/figlegq6.htm">Quirks of Human Anatomy (Held 2009)</a></em></p><p>As I opt out of Twitter and Instagram, my dopamine shots from the internet are coming from two sources: Substack and YouTube.<br>On the latter, I regularly watch content from startup founders... And it questions my ambition to create a company.<br>In one of these videos, one founder says that having a baby is the most complex and challenging project of life.<br>And I kinda agree. Even if I don't have a child yet, I can feel in myself that it will be the most exciting project of my life. Likely, the most challenging too.<br>And so I'm thinking about it. Instead of founding a startup, I'm probed to focus on founding a family. Two different businesses, but is it?</p><p>Out of this wondering, I remembered again the great Maggie Appleton, and <a href="https://maggieappleton.com/growing-a-human">her post on growing a human</a></p><p>This post is a masterpiece for at least two things:</p><ul><li><p>If you are a man like me, you should read it. Point.</p></li><li><p>It's an entire journey explained, with the highs and lows. See it like an Andress Horowitz manifesto not about startup, but about pregnancy.</p></li></ul><blockquote><p>If you hadn&#8217;t guessed already, I&#8217;m not a woman of faith. At least not in the sense of temples or Allah or throwing blessed-by-Christ-holy-water on people. I don&#8217;t have a weekly standing appointment to reflect on my place in the universe and bow down before higher-order beings. But I do carry around a strong sense of reverence and awe for higher-order forces; the unreasonable effectiveness of evolution, the tectonic plates floating about on molten mantle sculpting our earth, the symbiotic relationship between clownfish and sea anemones, the fact trees warn each other of dangers via chemical signals and send reinforcements, the mystery of consciousness, and whatever the fuck is going on with black holes. These things all give me Carl Sagan&#8217;s energy marvelling at the <a href="https://www.youtube.com/watch?v=wupToqz1e2g">pale blue dot</a>.</p></blockquote><div><hr></div><p>Mid-year already; it's getting fast lately. My four-week trip to the US is in less than one month. Excited to be there. Excited to be in the plain summer.</p><p>I've been exploring several things lately:</p><ul><li><p>board games: I'm reconnecting with a joy from my childhood. Been playing Ticket to Ride (it's more complex than it seems), <a href="https://boardgamegeek.com/boardgame/54043/jaipur">Jaipur</a>, and looking for this <a href="https://boardgamegeek.com/boardgame/328326/fleet-the-dice-game-second-edition#buyacopy">Fleet, the dice game</a></p></li><li><p>printing newspaper: I'm about to get 24+ hours in planes this summer, so I'm printing a special edition of this newsletter for myself &#128517; Lately explored how to print a newspaper at home (tired of reading the internet on a screen...)</p></li><li><p>vibe coding a project management tool: mainly a mix of <a href="https://www.sunsama.com/">Sunsama</a> (the tool I'm using currently) and <a href="https://basecamp.com/">Basecamp</a> tailored to my exact needs. You can have a look at the MVP <a href="https://shape-home.vercel.app/">here</a><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a>.</p></li><li><p>vibe coding boring analysis: the natural brother of <a href="https://www.boringdata.io/">Boring Data</a> from <a href="https://juhache.substack.com/">Julien</a> for data analysis specific. Mainly a CLI for rendering pre-made analysis and charts with Malloy</p></li></ul><p>Need 48h in a day to get these done, so not moving forward that much, but it's here and I keep iterating, so...</p><p>See you in a bit, I might skip one edition during summer, we will see :)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YzI3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9e4983-c20b-49d2-9168-9b24e6772274_1124x1590.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YzI3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9e4983-c20b-49d2-9168-9b24e6772274_1124x1590.png 424w, https://substackcdn.com/image/fetch/$s_!YzI3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9e4983-c20b-49d2-9168-9b24e6772274_1124x1590.png 848w, https://substackcdn.com/image/fetch/$s_!YzI3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9e4983-c20b-49d2-9168-9b24e6772274_1124x1590.png 1272w, https://substackcdn.com/image/fetch/$s_!YzI3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9e4983-c20b-49d2-9168-9b24e6772274_1124x1590.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YzI3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9e4983-c20b-49d2-9168-9b24e6772274_1124x1590.png" width="292" height="413.06049822064057" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab9e4983-c20b-49d2-9168-9b24e6772274_1124x1590.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1590,&quot;width&quot;:1124,&quot;resizeWidth&quot;:292,&quot;bytes&quot;:3369998,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/166183214?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9e4983-c20b-49d2-9168-9b24e6772274_1124x1590.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YzI3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9e4983-c20b-49d2-9168-9b24e6772274_1124x1590.png 424w, https://substackcdn.com/image/fetch/$s_!YzI3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9e4983-c20b-49d2-9168-9b24e6772274_1124x1590.png 848w, https://substackcdn.com/image/fetch/$s_!YzI3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9e4983-c20b-49d2-9168-9b24e6772274_1124x1590.png 1272w, https://substackcdn.com/image/fetch/$s_!YzI3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9e4983-c20b-49d2-9168-9b24e6772274_1124x1590.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The printed version of this newsletter, with the best articles I want to come back to while being on planes. Send me an email if you want a copy ;)</figcaption></figure></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>https://www.reuters.com/graphics/TUPPERWARE-BANKRUPTCY/lgvdjnejkvo/</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>I'm getting an important confirmation bias here, cause my sales colleague is a former engineer.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Be nice with this prototype. I&#8217;m likely the only one to understand what I built. Check out <a href="https://basecamp.com/shapeup">Shape Up</a> for more details.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Issue 47 - Audit Logs Jeopardy]]></title><description><![CDATA[Let's refresh our backend]]></description><link>https://fromanengineersight.substack.com/p/issue-47-audit-logs-jeopardy</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/issue-47-audit-logs-jeopardy</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Sun, 18 May 2025 15:42:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4I-r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67851580-15c3-4470-acc2-65edbc5f3828_1536x1261.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4I-r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67851580-15c3-4470-acc2-65edbc5f3828_1536x1261.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4I-r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67851580-15c3-4470-acc2-65edbc5f3828_1536x1261.png 424w, https://substackcdn.com/image/fetch/$s_!4I-r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67851580-15c3-4470-acc2-65edbc5f3828_1536x1261.png 848w, https://substackcdn.com/image/fetch/$s_!4I-r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67851580-15c3-4470-acc2-65edbc5f3828_1536x1261.png 1272w, https://substackcdn.com/image/fetch/$s_!4I-r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67851580-15c3-4470-acc2-65edbc5f3828_1536x1261.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4I-r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67851580-15c3-4470-acc2-65edbc5f3828_1536x1261.png" width="1456" height="1195" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/67851580-15c3-4470-acc2-65edbc5f3828_1536x1261.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1195,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2664197,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/163423281?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67851580-15c3-4470-acc2-65edbc5f3828_1536x1261.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4I-r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67851580-15c3-4470-acc2-65edbc5f3828_1536x1261.png 424w, https://substackcdn.com/image/fetch/$s_!4I-r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67851580-15c3-4470-acc2-65edbc5f3828_1536x1261.png 848w, https://substackcdn.com/image/fetch/$s_!4I-r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67851580-15c3-4470-acc2-65edbc5f3828_1536x1261.png 1272w, https://substackcdn.com/image/fetch/$s_!4I-r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67851580-15c3-4470-acc2-65edbc5f3828_1536x1261.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>"Improving your business is about more acquisition and less churn."</em></p><blockquote><p>How can I improve the business?</p></blockquote><p><em>&#8220;Among the February cohort of new users, 67% of them churned after 3 days"</em></p><blockquote><p>What's the churn rate after 3 days in February?</p></blockquote><p><em>"Users are churning because there's an issue when they try to invite a new user to their organization."</em></p><blockquote><p>Why are users churning after 3 days of usage?</p></blockquote><p><em>"Here is the code I deployed to production to fix the churn issue: &lt;/....&gt;"</em></p><blockquote><p>What code did you deployed to fix the churn issue in production?</p></blockquote><div><hr></div><p>In many applications, users can <a href="https://kestra.io/docs/enterprise/governance/audit-logs">audit logs</a>. I.e., admins can see what happened, revise, and restore changes.</p><p>That's one of the main reasons the <a href="https://fromanengineersight.substack.com/p/the-mindset-behind-declarative-programming">declarative-dom emerged</a>, and why it sticks.<br>We're not clicking here and there, we declare our actions. Ultimately, we store and we version control them.</p><p>The new trendy interface - MCP - echoes that concept.</p><p>Now actions are taken out of our writing or talking.<br>It's not only about the past anymore.<br>Manuscripts, printing, computing: it's all about acknowledgment from the present that we will retrieve in the future.<br>But MCP breaks that pattern now.<br>It's now about action. Present action.<br>I'm writing what I want the computer to do. Right now.</p><p>We could fool ourselves and call it a day.<br>But we still need language. Old ones, common ones, and new ones.</p><p>Recently, I've been playing with MCP. First with Kestra where I've been able to <a href="https://www.youtube.com/watch?v=zAE3oh85e4c&amp;themeRefresh=1">control my instance only with natural language</a>, second with <a href="https://fromanengineersight.substack.com/p/the-implication-of-malloy-in-analytics">Malloy</a>, where I got closer to the true "text-to-SQL" motion I've been talking lately.</p><p>And again, the choice of interface is probed.<br>For example, it wouldn&#8217;t be optimal to use natural language for keeping track of orders made by a customer.<br>Rows and columns are handy here.<br>However, <strong>asking</strong> my computer to store my last customer order rather than writing an INSERT INTO statement or clicking in some interface sounds way easier.</p><p><br>A graphical interface is built because we need to persist actions.<br>But now, as action can be declared, these "graphical" interfaces don't provide as much <a href="app://obsidian.md/03%20Commonplace/value.md">value</a> for taking action.</p><p>Ultimately, our native language feels natural because we can easily say nonsense without realizing it. Natural language is very useful because it fades.</p><p>This is the real value of MCP. Writing logs of actions and decisions without realizing it.</p><p>I don't know if reverse MCP server is already a thing, but I can see a world where we would like to play <a href="https://en.wikipedia.org/wiki/Jeopardy!">Jeopardy</a> for real.<br>To audit the action taken.<br>To imagine a <a href="https://stkbailey.substack.com/p/strong-worlds-weak-worlds-saas-worlds">world</a> and play backward thinking.<br>To probe ourselves.</p><div><hr></div><h1>&#128225; Expected Contents</h1><h3>Mold and Rust Logic</h3><p>I've recently been reflecting on how data is dust. On <a href="https://swizec.com/blog/why-software-only-moves-forward/">why software only moves forward</a>, and why <a href="https://lucumr.pocoo.org/2024/10/30/make-it-ephemeral/">ephemeral software should decay and lose data</a>.<br>In the physical world, our artifacts fade - we put them in the trash. In the digital, they kinda stick forever.<br>Here is a nice post reflecting on rust and mold logics:</p><blockquote><p>Rust logic&#8217;s central tension is preventative maintenance vs. planned obsolescence.<br>Mold logic&#8217;s central tension is calculated sanitation vs. managed overgrowth.</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blundercheck.timberschroff.com/p/mold-rust-and-the-risk-society&quot;,&quot;text&quot;:&quot;&#128073; Read the blog post&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blundercheck.timberschroff.com/p/mold-rust-and-the-risk-society"><span>&#128073; Read the blog post</span></a></p><div><hr></div><h3>Malloy again</h3><p>Yes, I'm here again with Malloy. I'm not a prophet and don't know if it will stick in the long term. But this project keeps triggering me. It has a deep promise about building a semantic layer that looks like mathematics to me.</p><p>If you need a fresher on it, <a href="https://www.youtube.com/watch?v=pLeF4j_Irg4&amp;t=3057s">here is a nice discussion</a> where Lloyd Tabb presents Malloy and goes deeper into it (the index part is thrilling!).</p><p>You probably didn't miss it: everyone is around MCP now. Malloy doesn't deviate the rule. With the great Malloy Publisher that takes the semantic models defined in Malloy and exposes them through a server interface, it was natural to see a dedicated MCP for it.</p><p>I put down some words on what could be the implications of Malloy on analytics in the blog post section later on this issue.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://github.com/malloydata/publisher&quot;,&quot;text&quot;:&quot;&#128073; Check Malloy Publisher&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://github.com/malloydata/publisher"><span>&#128073; Check Malloy Publisher</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jFMq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150206b5-92b5-41d9-8b1b-d494b1d203ff_940x886.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jFMq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150206b5-92b5-41d9-8b1b-d494b1d203ff_940x886.png 424w, https://substackcdn.com/image/fetch/$s_!jFMq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150206b5-92b5-41d9-8b1b-d494b1d203ff_940x886.png 848w, https://substackcdn.com/image/fetch/$s_!jFMq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150206b5-92b5-41d9-8b1b-d494b1d203ff_940x886.png 1272w, https://substackcdn.com/image/fetch/$s_!jFMq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150206b5-92b5-41d9-8b1b-d494b1d203ff_940x886.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jFMq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150206b5-92b5-41d9-8b1b-d494b1d203ff_940x886.png" width="472" height="444.88510638297873" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/150206b5-92b5-41d9-8b1b-d494b1d203ff_940x886.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:886,&quot;width&quot;:940,&quot;resizeWidth&quot;:472,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jFMq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150206b5-92b5-41d9-8b1b-d494b1d203ff_940x886.png 424w, https://substackcdn.com/image/fetch/$s_!jFMq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150206b5-92b5-41d9-8b1b-d494b1d203ff_940x886.png 848w, https://substackcdn.com/image/fetch/$s_!jFMq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150206b5-92b5-41d9-8b1b-d494b1d203ff_940x886.png 1272w, https://substackcdn.com/image/fetch/$s_!jFMq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150206b5-92b5-41d9-8b1b-d494b1d203ff_940x886.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>On the foolishness of "natural language programming".</h3><p>We are sticking up for LLMs, and that's cool.</p><blockquote><p>I wonder, what if you did the opposite? Take a project of moderate complexity and convert it from code back to natural language using your favorite LLM. Does it provide you with a reasonable description of the behavior and requirements encoded in the source code without losing enough detail to recreate the program? Do you find the resulting natural language description is easier to reason about?</p><p>I think there's a reason most of the vibe-coded applications we see people demonstrate are rather simple. There is a level of complexity and precision that is hard to manage. Sure, you can define it in plain english, but is the resulting description extensible, understandable, or more descriptive than a precise language? I think there is a reason why legalese is not plain English, and it goes beyond mere gatekeeping.</p><p>From one gut feeling I derive much consolation: I suspect that machines to be programmed in our native tongues &#8212;be it Dutch, English, American, French, German, or Swahili&#8212; are as damned difficult to make as they would be to use.</p></blockquote><p>Same for maths and coding - once you reach a certain level of expertise, the complexity and redundancy of natural language is a greater cost than benefit. This seems to apply to all fields of expertise.<br>Here is a great post discussing natural language programming, from 2010... I think we can move on.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD667.html&quot;,&quot;text&quot;:&quot;&#128073; Read the blog post&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD667.html"><span>&#128073; Read the blog post</span></a></p><div><hr></div><h3>Killed by Google</h3><p>A reminder that even Google throws away its projects. It's also a reminder that creating projects is like VC: only one of many will cover your investment. So, be wide, ready to throw away stuff, but ultimately reach your (time) investments thanks to only a few projects.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://killedbygoogle.com/&quot;,&quot;text&quot;:&quot;&#128128; Killed by Google&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://killedbygoogle.com/"><span>&#128128; Killed by Google</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZfdY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf4871-1898-4d1f-b730-a35af7a5924a_2602x1570.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZfdY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf4871-1898-4d1f-b730-a35af7a5924a_2602x1570.png 424w, https://substackcdn.com/image/fetch/$s_!ZfdY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf4871-1898-4d1f-b730-a35af7a5924a_2602x1570.png 848w, https://substackcdn.com/image/fetch/$s_!ZfdY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf4871-1898-4d1f-b730-a35af7a5924a_2602x1570.png 1272w, https://substackcdn.com/image/fetch/$s_!ZfdY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf4871-1898-4d1f-b730-a35af7a5924a_2602x1570.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZfdY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf4871-1898-4d1f-b730-a35af7a5924a_2602x1570.png" width="662" height="399.6552197802198" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c3bf4871-1898-4d1f-b730-a35af7a5924a_2602x1570.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:879,&quot;width&quot;:1456,&quot;resizeWidth&quot;:662,&quot;bytes&quot;:295735,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/163423281?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf4871-1898-4d1f-b730-a35af7a5924a_2602x1570.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZfdY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf4871-1898-4d1f-b730-a35af7a5924a_2602x1570.png 424w, https://substackcdn.com/image/fetch/$s_!ZfdY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf4871-1898-4d1f-b730-a35af7a5924a_2602x1570.png 848w, https://substackcdn.com/image/fetch/$s_!ZfdY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf4871-1898-4d1f-b730-a35af7a5924a_2602x1570.png 1272w, https://substackcdn.com/image/fetch/$s_!ZfdY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf4871-1898-4d1f-b730-a35af7a5924a_2602x1570.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h1>&#128240; The Blog Post</h1><p><a href="https://fromanengineersight.substack.com/p/what-syntax-for-the-semantic-layer">What Syntax for the Semantic Layer?</a> I'm sticking to my conclusion for now, but recent developments in Malloy makes me think we're on the path for something great.<br>Here are some reflections on recent tests and <a href="https://github.com/malloydata/malloy/pull/2323">vibe-coding sessions using Malloy</a>.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;97a8abd1-74dd-4435-8c01-d9e62b8afefb&quot;,&quot;caption&quot;:&quot;In the 1960's, aviation organizations called for a uniform system to understand and communicate weather conditions. This led to the development of METAR, a basic code format that can be transmitted quickly and understood universally.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Implication of Malloy in Analytics&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:23621089,&quot;name&quot;:&quot;Benoit Pimpaud&quot;,&quot;bio&quot;:&quot;Writing From An Engineer Sight, a periodic about data, engineering and design.\nhttps://fromanengineersight.substack.com/&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1700bc2d-b494-49e4-b282-f061f189382a_2883x2883.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-05-15T19:05:41.694Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c54a553-bca5-4df7-a227-1a0c797a930c_700x515.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://fromanengineersight.substack.com/p/the-implication-of-malloy-in-analytics&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:163238882,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;From An Engineer Sight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1fb566-11bb-440e-8967-9104b1b75049_256x256.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h1>&#127912; Beyond The Bracket</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!u9JX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9206920d-9bc6-44fc-9957-49e14710357f_2760x1840.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u9JX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9206920d-9bc6-44fc-9957-49e14710357f_2760x1840.png 424w, https://substackcdn.com/image/fetch/$s_!u9JX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9206920d-9bc6-44fc-9957-49e14710357f_2760x1840.png 848w, https://substackcdn.com/image/fetch/$s_!u9JX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9206920d-9bc6-44fc-9957-49e14710357f_2760x1840.png 1272w, https://substackcdn.com/image/fetch/$s_!u9JX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9206920d-9bc6-44fc-9957-49e14710357f_2760x1840.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!u9JX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9206920d-9bc6-44fc-9957-49e14710357f_2760x1840.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9206920d-9bc6-44fc-9957-49e14710357f_2760x1840.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4748224,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/163423281?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9206920d-9bc6-44fc-9957-49e14710357f_2760x1840.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!u9JX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9206920d-9bc6-44fc-9957-49e14710357f_2760x1840.png 424w, https://substackcdn.com/image/fetch/$s_!u9JX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9206920d-9bc6-44fc-9957-49e14710357f_2760x1840.png 848w, https://substackcdn.com/image/fetch/$s_!u9JX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9206920d-9bc6-44fc-9957-49e14710357f_2760x1840.png 1272w, https://substackcdn.com/image/fetch/$s_!u9JX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9206920d-9bc6-44fc-9957-49e14710357f_2760x1840.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The last French road before entering the Channel Tunnel.</figcaption></figure></div><p>In April, I went through the Channel Tunnel from Paris to Dover by car. From there, I drove northward, winding my way through the English countryside toward Matlock, nestled in the rolling hills of Derbyshire in the heart of the Midlands.</p><p>It was the first time I had to drive on the left. I anticipate the change to be more difficult than it actually proves to be in practice.<br>Maybe my neuroplastic is still in good shape &#128517;</p><p><a href="https://www.romanbaths.co.uk/">The Roman thermal in Bath</a> reminded me that the Romans actually went up to England from AD 43 to AD 410.<br>Archaeological evidence suggests the Romans drove their carts and wagons on the left side of the road, a practice they likely brought to Britain during their occupation<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a><br>This wasn't arbitrary: in medieval times, most people were right-handed, and traveling on the left side of the road allowed knights and travelers to keep their dominant sword-hand free to defend against potential attackers approaching from the opposite direction.</p><p>In France and North America, the shift toward right-side driving was influenced by the use of large freight wagons pulled by multiple horses. Unlike British carriages, these wagons had no driver's seat-instead, the driver sat on the left rear horse to keep their whip hand (right hand) free. From this position, drivers had better visibility when passing other wagons on the right, gradually establishing this as standard practice.</p><blockquote><p>Before this, the custom was for the wealthier classes -&#8202; who travelled by carriages and horseback&#8202; - &#8202;to drive on the left side of the road. The poor people did not have these luxuries, so they walked, and these pedestrians were relegated to the right side.</p></blockquote><p>During the French Revolution, the government under Maximilien Robespierre mandated driving on the right as an egalitarian measure, erasing the class distinction that had previously reserved the left side for the aristocracy and wealthy classes. Napoleon subsequently enforced this practice throughout territories under French control, spreading right-hand traffic across continental Europe</p><p>Back in France after eleven days, I didn't had any issue driving back to the right.<br>Sounds like we often anticipate the change to be more difficult than it actually proves to be in practice.<br>That also suggests that with proper preparation and awareness, adaptation can occur<br>relatively quickly...</p><div><hr></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://fromanengineersight.substack.com/p/issue-47-audit-logs-jeopardy?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading From An Engineer Sight! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://fromanengineersight.substack.com/p/issue-47-audit-logs-jeopardy?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://fromanengineersight.substack.com/p/issue-47-audit-logs-jeopardy?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p>Ohh there's sun out there! Truly, I can't make that stuff up: sun, good food, friends, love, family, book reading, walk, sleep...</p><p>Time off abroad, visits, walks, and talks got me off the current <a href="https://www.youtube.com/watch?v=gtQaIGFgyIU&amp;t=1729s">nihilism</a> happening in tech.<br>But I'm still wondering how our work and life are evolving. Being focused on product management, i.e. engineering cycle, UX issues, customer feedback and marketing (and still a foot in data) I can see tons of things I would like to automate. At least, willing too.<br>But each time I&#8217;m on the verge to automate something worth my time, it hits a dead end... Like, it sounds rubbish, non-human, robotics. I also fear it's not good work.</p><p>This is because models aren't that smart yet; but also because some of my work is inherintly human. Probing users, coordinating human work, priorization, design, etc. The more I deepen in a subject, the more a very good probing session is the only true valuable asset. The answer unfold logically then, it's <a href="https://platforms.substack.com/p/when-answers-get-cheap-good-questions?r=e2a5d&amp;triedRedirect=true">cheap</a>. But because of upstream taste, time, and questions<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>.</p><p><a href="https://fromanengineersight.substack.com/p/issue-39-whats-your-question">What's your question?</a></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><a href="https://www.historic-uk.com/CultureUK/Why-do-the-British-drive-on-the-left/">https://www.historic-uk.com/CultureUK/Why-do-the-British-drive-on-the-left/</a> + <a href="https://www.queens-english.co.uk/post/the-quirky-tradition-of-left-hand-driving-in-england-a-historical-perspective">https://www.queens-english.co.uk/post/the-quirky-tradition-of-left-hand-driving-in-england-a-historical-perspective</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>and don't make me wrong: LLMs are great partners to probe and find these.</p></div></div>]]></content:encoded></item><item><title><![CDATA[The Implication of Malloy in Analytics]]></title><description><![CDATA[What's the weather in Paris?]]></description><link>https://fromanengineersight.substack.com/p/the-implication-of-malloy-in-analytics</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/the-implication-of-malloy-in-analytics</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Thu, 15 May 2025 19:05:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!x7lR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c54a553-bca5-4df7-a227-1a0c797a930c_700x515.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x7lR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c54a553-bca5-4df7-a227-1a0c797a930c_700x515.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x7lR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c54a553-bca5-4df7-a227-1a0c797a930c_700x515.png 424w, https://substackcdn.com/image/fetch/$s_!x7lR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c54a553-bca5-4df7-a227-1a0c797a930c_700x515.png 848w, https://substackcdn.com/image/fetch/$s_!x7lR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c54a553-bca5-4df7-a227-1a0c797a930c_700x515.png 1272w, https://substackcdn.com/image/fetch/$s_!x7lR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c54a553-bca5-4df7-a227-1a0c797a930c_700x515.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x7lR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c54a553-bca5-4df7-a227-1a0c797a930c_700x515.png" width="700" height="515" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4c54a553-bca5-4df7-a227-1a0c797a930c_700x515.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:515,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:710952,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/163238882?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c54a553-bca5-4df7-a227-1a0c797a930c_700x515.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!x7lR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c54a553-bca5-4df7-a227-1a0c797a930c_700x515.png 424w, https://substackcdn.com/image/fetch/$s_!x7lR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c54a553-bca5-4df7-a227-1a0c797a930c_700x515.png 848w, https://substackcdn.com/image/fetch/$s_!x7lR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c54a553-bca5-4df7-a227-1a0c797a930c_700x515.png 1272w, https://substackcdn.com/image/fetch/$s_!x7lR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c54a553-bca5-4df7-a227-1a0c797a930c_700x515.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>In the 1960's, aviation organizations called for a uniform system to understand and communicate weather conditions. This led to the development of <a href="https://fr.wikipedia.org/wiki/METAR">METAR</a>, a basic code format that can be transmitted quickly and understood universally.</p><p>This codified form is still used today. For example, the weather in Paris, France now is:</p><blockquote><p>METAR LFPG 120600Z 17003KT 8000 RA FEW006TCU SCT040 BKN100 13/12 Q1011 TEMPO BKN006</p></blockquote><p>Nearly every novice pilot asks "why can't this just be in plain language?" </p><p>True enough, most flight planning applications will translate the code into readable text. </p><p>However, seasoned pilots (along with air traffic controllers and other aviation professionals) consistently prefer the coded format. It's concise (a single line versus an entire paragraph), structured in a standardized way (you know precisely where to find any specific information you need), and it leaves no room for misinterpretation with its clear definitions.</p><p>Asking second-order questions to an LLM and hoping it will translate to a working SQL query is naive. Same with any programming language actually. What we lack in the current analytics motion is a language expressing fully our semantics. SQL is the lingua-franca for databases. Natural language is good for instructions and probing. What's the in-between? The space where we can manipulate, extend and transform our analytics concepts? </p><p>Basically, where is our analytics mathematic?</p><h2>Mathematic without formalism</h2><p>Kids often ask why they have to learn mathematics. <a href="https://medium.com/@benoit.pimpaud/why-do-we-study-mathematics-52d75d7fd049">What's the point of learning times tables if the calculator can do it faster and better?</a></p><p>As we grow, we understand two things about mathematics:</p><ul><li><p>It brings mental models and patterns that help resolve anything.</p></li><li><p>Its semantics and syntax are top-notch. One of the best semantic engine humans have created.</p></li></ul><p>I mean, which formulation do you prefer<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>?</p><ul><li><p><em>"For any given value of x, the corresponding value of y is found by adding 2 to x."</em></p></li><li><p><em>"The value of y is always 2 more than the value of x."</em></p></li><li><p><em>&#8220;y = x + 2&#8221;</em></p></li></ul><p>The mathematical expression isn't just shorter&#8212;it's transformative. It allows manipulation, extension, and application impossible with prose descriptions.</p><p>The theory behind today's AI revolution is fundamentally mathematical. Every breakthrough from Newton's calculus to Einstein's relativity to modern machine learning happened not just because of ideas, but because mathematical symbolism gave those ideas wings. Without formal mathematical language, these concepts would have remained trapped in verbose, imprecise descriptions.</p><p>Also, when we discover the perfect syntax to express complex semantics, we don't just describe the world differently - <a href="https://lloydtabb.substack.com/p/data-is-rectangular-and-other-limiting">we see it differently</a>.</p><h2>Analytics with formalism</h2><p>I recently played with MCP and Malloy<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>. The magic of open source has brought the work of the great <a href="https://www.linkedin.com/in/kyle-nesbit-7312a58">Kyle Nesbit</a> with its <a href="https://github.com/malloydata/publisher">Malloy Publisher</a> (software to serve Malloy model over API) and <a href="https://www.linkedin.com/in/namabile">Nick Amabile</a>'s MCP build for Malloy.</p><blockquote><p>[Malloy]&nbsp;Publisher takes the semantic models defined in Malloy &#8211; models rich with business context and meaning &#8211; and exposes them through a server interface. This allows applications, AI agents, tools, and users to query your data consistently and reliably, leveraging the shared, unambiguous understanding defined in the Malloy model.</p></blockquote><p>Just as <em>&#8220;y = x + 2&#8221;</em> allows for transformations impossible with prose descriptions, a semantic modeling language like Malloy allows us to express <em>&#8220;revenue = sum(order_amount) - sum(discount)&#8221;</em> as a reusable concept that carries consistent meaning across all queries. This isn't just about brevity - it's about creating manipulable building blocks that can be composed into increasingly sophisticated analytical expressions.</p><p>As per the image below, an MCP is one of the possible interfaces to interact with this now proper <a href="https://fromanengineersight.substack.com/p/what-syntax-for-the-semantic-layer">semantic layer</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dmDm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa27fe30f-6dad-40c4-8c6e-7e9fe4ef7ec4_940x886.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dmDm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa27fe30f-6dad-40c4-8c6e-7e9fe4ef7ec4_940x886.png 424w, https://substackcdn.com/image/fetch/$s_!dmDm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa27fe30f-6dad-40c4-8c6e-7e9fe4ef7ec4_940x886.png 848w, https://substackcdn.com/image/fetch/$s_!dmDm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa27fe30f-6dad-40c4-8c6e-7e9fe4ef7ec4_940x886.png 1272w, https://substackcdn.com/image/fetch/$s_!dmDm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa27fe30f-6dad-40c4-8c6e-7e9fe4ef7ec4_940x886.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dmDm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa27fe30f-6dad-40c4-8c6e-7e9fe4ef7ec4_940x886.png" width="356" height="335.54893617021276" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a27fe30f-6dad-40c4-8c6e-7e9fe4ef7ec4_940x886.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:886,&quot;width&quot;:940,&quot;resizeWidth&quot;:356,&quot;bytes&quot;:1503000,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/163238882?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa27fe30f-6dad-40c4-8c6e-7e9fe4ef7ec4_940x886.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dmDm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa27fe30f-6dad-40c4-8c6e-7e9fe4ef7ec4_940x886.png 424w, https://substackcdn.com/image/fetch/$s_!dmDm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa27fe30f-6dad-40c4-8c6e-7e9fe4ef7ec4_940x886.png 848w, https://substackcdn.com/image/fetch/$s_!dmDm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa27fe30f-6dad-40c4-8c6e-7e9fe4ef7ec4_940x886.png 1272w, https://substackcdn.com/image/fetch/$s_!dmDm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa27fe30f-6dad-40c4-8c6e-7e9fe4ef7ec4_940x886.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://github.com/malloydata/publisher">Malloy Publisher</a></figcaption></figure></div><p>Here are some afterthoughts after playing with these: </p><p>First-order questions dealing with direct data retrieval and simple aggregations ('What were total sales in March?') are fine, but second-order questions that require understanding relationships between concepts, business logic interpretations, or multi-step analysis ('How did customer retention correlate with our pricing changes across different segments?') typically fail. The latter requires not just data access but a semantic understanding of what the data represents in a business context.</p><p>For example, as the semantics for users and orders are properly defined, such prompt works well</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jLGo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1188ad5c-c2c2-4201-942b-ead5dfa22a10_1554x1184.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jLGo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1188ad5c-c2c2-4201-942b-ead5dfa22a10_1554x1184.png 424w, https://substackcdn.com/image/fetch/$s_!jLGo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1188ad5c-c2c2-4201-942b-ead5dfa22a10_1554x1184.png 848w, https://substackcdn.com/image/fetch/$s_!jLGo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1188ad5c-c2c2-4201-942b-ead5dfa22a10_1554x1184.png 1272w, https://substackcdn.com/image/fetch/$s_!jLGo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1188ad5c-c2c2-4201-942b-ead5dfa22a10_1554x1184.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jLGo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1188ad5c-c2c2-4201-942b-ead5dfa22a10_1554x1184.png" width="1456" height="1109" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1188ad5c-c2c2-4201-942b-ead5dfa22a10_1554x1184.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1109,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:260070,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/163238882?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1188ad5c-c2c2-4201-942b-ead5dfa22a10_1554x1184.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jLGo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1188ad5c-c2c2-4201-942b-ead5dfa22a10_1554x1184.png 424w, https://substackcdn.com/image/fetch/$s_!jLGo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1188ad5c-c2c2-4201-942b-ead5dfa22a10_1554x1184.png 848w, https://substackcdn.com/image/fetch/$s_!jLGo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1188ad5c-c2c2-4201-942b-ead5dfa22a10_1554x1184.png 1272w, https://substackcdn.com/image/fetch/$s_!jLGo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1188ad5c-c2c2-4201-942b-ead5dfa22a10_1554x1184.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Cursor with Malloy MCP</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PJ87!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e222a5-920a-40ec-9686-b63f41ab424c_2044x1265.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PJ87!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e222a5-920a-40ec-9686-b63f41ab424c_2044x1265.png 424w, https://substackcdn.com/image/fetch/$s_!PJ87!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e222a5-920a-40ec-9686-b63f41ab424c_2044x1265.png 848w, https://substackcdn.com/image/fetch/$s_!PJ87!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e222a5-920a-40ec-9686-b63f41ab424c_2044x1265.png 1272w, https://substackcdn.com/image/fetch/$s_!PJ87!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e222a5-920a-40ec-9686-b63f41ab424c_2044x1265.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PJ87!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e222a5-920a-40ec-9686-b63f41ab424c_2044x1265.png" width="1456" height="901" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5e222a5-920a-40ec-9686-b63f41ab424c_2044x1265.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:901,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:154066,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/163238882?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e222a5-920a-40ec-9686-b63f41ab424c_2044x1265.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PJ87!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e222a5-920a-40ec-9686-b63f41ab424c_2044x1265.png 424w, https://substackcdn.com/image/fetch/$s_!PJ87!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e222a5-920a-40ec-9686-b63f41ab424c_2044x1265.png 848w, https://substackcdn.com/image/fetch/$s_!PJ87!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e222a5-920a-40ec-9686-b63f41ab424c_2044x1265.png 1272w, https://substackcdn.com/image/fetch/$s_!PJ87!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e222a5-920a-40ec-9686-b63f41ab424c_2044x1265.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Malloy Publisher view of Malloy defined models and views</figcaption></figure></div><p>But complex prompts challenge the model.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6EEc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617a906-22be-48a0-89dc-1dba51b7a34a_1554x1184.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6EEc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617a906-22be-48a0-89dc-1dba51b7a34a_1554x1184.png 424w, https://substackcdn.com/image/fetch/$s_!6EEc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617a906-22be-48a0-89dc-1dba51b7a34a_1554x1184.png 848w, https://substackcdn.com/image/fetch/$s_!6EEc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617a906-22be-48a0-89dc-1dba51b7a34a_1554x1184.png 1272w, https://substackcdn.com/image/fetch/$s_!6EEc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617a906-22be-48a0-89dc-1dba51b7a34a_1554x1184.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6EEc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617a906-22be-48a0-89dc-1dba51b7a34a_1554x1184.png" width="1456" height="1109" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c617a906-22be-48a0-89dc-1dba51b7a34a_1554x1184.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1109,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:266485,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/163238882?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617a906-22be-48a0-89dc-1dba51b7a34a_1554x1184.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6EEc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617a906-22be-48a0-89dc-1dba51b7a34a_1554x1184.png 424w, https://substackcdn.com/image/fetch/$s_!6EEc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617a906-22be-48a0-89dc-1dba51b7a34a_1554x1184.png 848w, https://substackcdn.com/image/fetch/$s_!6EEc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617a906-22be-48a0-89dc-1dba51b7a34a_1554x1184.png 1272w, https://substackcdn.com/image/fetch/$s_!6EEc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617a906-22be-48a0-89dc-1dba51b7a34a_1554x1184.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">See how good is my prompting&#8230;</figcaption></figure></div><p>This might be due to poor prompting on my part, but it still seems like a fairly basic question that a human could easily answer by using a Malloy or SQL query directly.</p><p>These mixed results are not surprising. The MCP server wasn't extensively fed with Malloy query examples or explanations<br>It's likely that if we properly educate LLMs on Malloy's syntax and semantics, it could function as an ideal "text-to-SQL" framework, with that proper semantic layer built in Malloy in-between.</p><p>After all, the effectiveness of an LLM often hinges on the quality and relevance of its training data. We could argue that this applies to any semantic source, including SQL. So what makes Malloy special?</p><p>First-order questions can be handled by an LLM using SQL. The &#8220;text-to-SQL&#8221;. But when we move to second-order complexity, asking good questions and getting reliable answers absolutely depends on having good underlying semantics.</p><p>Like, how do we address situations where the LLM misinterprets business logic or incorrectly assumes relationships within the data? We will again have to "teach" the system about our specific data semantics... And <a href="https://medium.pimpaudben.fr/sql-is-not-designed-for-analytics-079fc97b139c">SQL isn't designed for such</a>. We somehow need proper formalism for our business theory.</p><h1><strong>Context is the new frontend; backend?</strong></h1><p>In traditional systems, we separate frontend (what users see and interact with) from backend (where data lives and logic executes). </p><p>On our side, the semantic understanding of data is a coevolutionary relationship between the frontend we interact with through natural language and the backend that ensures query accuracy and consistency.</p><p><a href="https://stkbailey.substack.com/p/context-is-the-new-frontend">The frontend not really new</a>: we&#8217;ve been asking dashboard with natural language for years now. But now, we are about to <a href="https://fromanengineersight.substack.com/p/what-syntax-for-the-semantic-layer">fit the backend</a>.</p><blockquote><p><em>What were the weather conditions in Paris regarding temperature, winds and visibility on daily-average over the last month?<br><br>source: weather is duckdb.table(&#8220;weather.parquet&#8221;) extend {<br>  measure:<br>    avg_temperature is temperature.avg()<br>    avg_wind_speed is wind_speed.avg()<br>    avg_visibility is visibility.avg()<br><br>  view: weather_paris is {<br>    group_by: date_.day<br>    aggregate:   <br>      avg_temperature  <br>      avg_wind_speed  <br>      avg_visibility<br>    where: location = &#8216;Paris&#8217;<br>  }<br>}</em></p></blockquote><p></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>by the way here is the first answer I get out of the latest model:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!74Lq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9710d3ca-0b52-4402-a3e4-e67844cb53de_1316x268.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!74Lq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9710d3ca-0b52-4402-a3e4-e67844cb53de_1316x268.png 424w, https://substackcdn.com/image/fetch/$s_!74Lq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9710d3ca-0b52-4402-a3e4-e67844cb53de_1316x268.png 848w, https://substackcdn.com/image/fetch/$s_!74Lq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9710d3ca-0b52-4402-a3e4-e67844cb53de_1316x268.png 1272w, https://substackcdn.com/image/fetch/$s_!74Lq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9710d3ca-0b52-4402-a3e4-e67844cb53de_1316x268.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!74Lq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9710d3ca-0b52-4402-a3e4-e67844cb53de_1316x268.png" width="510" height="103.86018237082067" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9710d3ca-0b52-4402-a3e4-e67844cb53de_1316x268.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:268,&quot;width&quot;:1316,&quot;resizeWidth&quot;:510,&quot;bytes&quot;:55908,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/163238882?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9710d3ca-0b52-4402-a3e4-e67844cb53de_1316x268.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!74Lq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9710d3ca-0b52-4402-a3e4-e67844cb53de_1316x268.png 424w, https://substackcdn.com/image/fetch/$s_!74Lq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9710d3ca-0b52-4402-a3e4-e67844cb53de_1316x268.png 848w, https://substackcdn.com/image/fetch/$s_!74Lq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9710d3ca-0b52-4402-a3e4-e67844cb53de_1316x268.png 1272w, https://substackcdn.com/image/fetch/$s_!74Lq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9710d3ca-0b52-4402-a3e4-e67844cb53de_1316x268.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>if you need a fresher on Malloy:</p><div id="youtube2-zmmJgwc3oPI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;zmmJgwc3oPI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/zmmJgwc3oPI?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Issue 46 - Software is Now Content]]></title><description><![CDATA[Vibe, which stems from vibrare in Latin]]></description><link>https://fromanengineersight.substack.com/p/issue-46-software-is-now-content</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/issue-46-software-is-now-content</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Sun, 06 Apr 2025 15:42:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JqsG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b169b-e6aa-4414-99fb-8fb3f29ef00f_1456x961.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JqsG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b169b-e6aa-4414-99fb-8fb3f29ef00f_1456x961.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JqsG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b169b-e6aa-4414-99fb-8fb3f29ef00f_1456x961.png 424w, https://substackcdn.com/image/fetch/$s_!JqsG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b169b-e6aa-4414-99fb-8fb3f29ef00f_1456x961.png 848w, https://substackcdn.com/image/fetch/$s_!JqsG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b169b-e6aa-4414-99fb-8fb3f29ef00f_1456x961.png 1272w, https://substackcdn.com/image/fetch/$s_!JqsG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b169b-e6aa-4414-99fb-8fb3f29ef00f_1456x961.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JqsG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b169b-e6aa-4414-99fb-8fb3f29ef00f_1456x961.png" width="1456" height="961" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/272b169b-e6aa-4414-99fb-8fb3f29ef00f_1456x961.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:961,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1897069,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/160524214?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b169b-e6aa-4414-99fb-8fb3f29ef00f_1456x961.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JqsG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b169b-e6aa-4414-99fb-8fb3f29ef00f_1456x961.png 424w, https://substackcdn.com/image/fetch/$s_!JqsG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b169b-e6aa-4414-99fb-8fb3f29ef00f_1456x961.png 848w, https://substackcdn.com/image/fetch/$s_!JqsG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b169b-e6aa-4414-99fb-8fb3f29ef00f_1456x961.png 1272w, https://substackcdn.com/image/fetch/$s_!JqsG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b169b-e6aa-4414-99fb-8fb3f29ef00f_1456x961.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Can&#8217;t find credit for this pic.</figcaption></figure></div><p>Last Sunday I vibe-coded. Jeez, that word... Sounds like an expression we will all forget in a few weeks.<br>For me, <a href="https://simulateur-conges-payes.fr/">it was a simple single-page app to plan my remaining PTO over the coming months</a><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>. I built, deployed, and bought the domain in less than forty-five minutes.</p><p>Instead, I could have used the good old spreadsheet. But I'm tired of this interface. I prefer <a href="https://fromanengineersight.substack.com/p/what-syntax-for-the-semantic-layer">ones designed for the specific</a>. And <a href="https://www.proofofconcept.pub/p/what-everyone-can-build-anything">we can build anything</a>, so...</p><p>As many have already discussed, a background in software engineering gives us an advantage over those who are only here for the vibe. I mean, my prompt explicitly asked to use React and Tailwind under a specific folder structure constraint. This way, I can understand what's going on, <a href="https://www.proofofconcept.pub/p/too-legit-to-git">use Git properly</a>, and potentially maintain this longer than just for a vibe.</p><p>I acknowledge I vibrated when I saw the result of the first prompt. It felt like reading a great article from a niche blog.<br>Software might be content now. But is it good? What's good content anyway?</p><p>As for good content, good software makes us vibrate. And in the end, I don't think my app gives me the same buzz after the rush and excitement I felt from that coding session.</p><p>Those last years reduced the value of content - blogs - but it didn't reduce the value of content makers - writers. And it&#8217;s the same for software and software engineers:</p><blockquote><p>[...] reducing the value of software is not the same as reducing the value of software engineers. Vibe coded software, when built by a skilled engineer, isn&#8217;t really vibe coded; it begins to feel like where an EM has overseen software built by a team of junior to mid-level engineers.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p></blockquote><p>The vibe-coding charm strikes our sight. But the merit of thoughtful design and engineering contents our soul. As it has always been.</p><div><hr></div><h1>&#128225; Expected Contents</h1><h3>The creators of SQL</h3><blockquote><p>All information must be represented explicitly at the logical level, and in exactly on way: by values in tables.</p></blockquote><p>That's one of the twelve rules of E.F. (Ted) Codd - creator of the relational model in database management - whose research ultimately led to SQL. It does resonate with <a href="https://lloydtabb.substack.com/p/data-is-rectangular-and-other-limiting">the limitations</a> exposed by Lloyd Tabb.</p><p>I recently came across this awesome conference from <a href="https://fr.wikipedia.org/wiki/Donald_D._Chamberlin">Don Chamberlain</a>, one of the co-creator of SQL.<br>Beyond the great story of SQL and interesting historical facts, I'll keep two things:</p><ul><li><p><em>"SQL Philosophy: provide flexible tools. Trust the user"</em>. I think we shouldn't trust the user. Especially when it try to map non-linear, business relationship, with a tool not designed for such. I trust that users will find innovative ways to use the tool beyond what I could have imagined though&#8230;</p></li><li><p>SQL++. With <a href="https://asterixdb.apache.org/docs/0.9.8/sqlpp/manual.html">AsterixDB</a> as the open-source project, partially <a href="https://www.couchbase.com/sqlplusplus/">sponsored by CouchBase</a>. It's 10 years old, and it's interesting that even with one of the creators of SQL in the background, this project didn't grow - as far as I know - that much.</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dl.acm.org/doi/10.1145/3555041.3589336&quot;,&quot;text&quot;:&quot;&#128073; Watch the conference&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://dl.acm.org/doi/10.1145/3555041.3589336"><span>&#128073; Watch the conference</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dl.acm.org/doi/10.1145/3649887#sec-11&quot;,&quot;text&quot;:&quot;&#128073; Read the paper&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://dl.acm.org/doi/10.1145/3649887#sec-11"><span>&#128073; Read the paper</span></a></p><div><hr></div><h3>How to build an Activity Layer</h3><p>I recently been involved in some activity modeling and I can feel that classic OBT or Kimball-like modeling doesn't fit perfectly. It works, but thinking and reading more about Activity modeling, my opinion starts to shift.<br>Here is a great post looking at most of the question I faced and unfolding the value of choosing such pattern.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://timodechau.com/what-is-beyond-event-data/&quot;,&quot;text&quot;:&quot;&#128073; Read the post&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://timodechau.com/what-is-beyond-event-data/"><span>&#128073; Read the post</span></a></p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Azzb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c0c597e-00f4-44ad-90b2-ed983519b2ca_1744x790.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Azzb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c0c597e-00f4-44ad-90b2-ed983519b2ca_1744x790.png 424w, https://substackcdn.com/image/fetch/$s_!Azzb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c0c597e-00f4-44ad-90b2-ed983519b2ca_1744x790.png 848w, https://substackcdn.com/image/fetch/$s_!Azzb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c0c597e-00f4-44ad-90b2-ed983519b2ca_1744x790.png 1272w, https://substackcdn.com/image/fetch/$s_!Azzb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c0c597e-00f4-44ad-90b2-ed983519b2ca_1744x790.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Azzb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c0c597e-00f4-44ad-90b2-ed983519b2ca_1744x790.png" width="608" height="275.6043956043956" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9c0c597e-00f4-44ad-90b2-ed983519b2ca_1744x790.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:660,&quot;width&quot;:1456,&quot;resizeWidth&quot;:608,&quot;bytes&quot;:114995,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/160524214?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c0c597e-00f4-44ad-90b2-ed983519b2ca_1744x790.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Azzb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c0c597e-00f4-44ad-90b2-ed983519b2ca_1744x790.png 424w, https://substackcdn.com/image/fetch/$s_!Azzb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c0c597e-00f4-44ad-90b2-ed983519b2ca_1744x790.png 848w, https://substackcdn.com/image/fetch/$s_!Azzb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c0c597e-00f4-44ad-90b2-ed983519b2ca_1744x790.png 1272w, https://substackcdn.com/image/fetch/$s_!Azzb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c0c597e-00f4-44ad-90b2-ed983519b2ca_1744x790.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>Vibe Coding with Cursor</h3><p>That will be the first and last link around vibe-coding in this newsletter. If like me you want to try Cursor within an afternoon, these ones are great:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://uxplanet.org/vibe-coding-with-cursor-ai-52f5023bc59a&quot;,&quot;text&quot;:&quot;&#128073; Build an iOS app with Cursor&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://uxplanet.org/vibe-coding-with-cursor-ai-52f5023bc59a"><span>&#128073; Build an iOS app with Cursor</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://harper.blog/2025/02/16/my-llm-codegen-workflow-atm/&quot;,&quot;text&quot;:&quot;&#128073; Interesting workflow&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://harper.blog/2025/02/16/my-llm-codegen-workflow-atm/"><span>&#128073; Interesting workflow</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P5XX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07194564-5f3c-4cbc-b409-8ebccd22bcc5_1400x875.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P5XX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07194564-5f3c-4cbc-b409-8ebccd22bcc5_1400x875.webp 424w, https://substackcdn.com/image/fetch/$s_!P5XX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07194564-5f3c-4cbc-b409-8ebccd22bcc5_1400x875.webp 848w, https://substackcdn.com/image/fetch/$s_!P5XX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07194564-5f3c-4cbc-b409-8ebccd22bcc5_1400x875.webp 1272w, https://substackcdn.com/image/fetch/$s_!P5XX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07194564-5f3c-4cbc-b409-8ebccd22bcc5_1400x875.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P5XX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07194564-5f3c-4cbc-b409-8ebccd22bcc5_1400x875.webp" width="518" height="323.75" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/07194564-5f3c-4cbc-b409-8ebccd22bcc5_1400x875.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:875,&quot;width&quot;:1400,&quot;resizeWidth&quot;:518,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!P5XX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07194564-5f3c-4cbc-b409-8ebccd22bcc5_1400x875.webp 424w, https://substackcdn.com/image/fetch/$s_!P5XX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07194564-5f3c-4cbc-b409-8ebccd22bcc5_1400x875.webp 848w, https://substackcdn.com/image/fetch/$s_!P5XX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07194564-5f3c-4cbc-b409-8ebccd22bcc5_1400x875.webp 1272w, https://substackcdn.com/image/fetch/$s_!P5XX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07194564-5f3c-4cbc-b409-8ebccd22bcc5_1400x875.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>Data Stack Templates</h3><p>I'm quite excited about <a href="https://juhache.substack.com/">Julien's</a> news: he just announced the public opening of BoringData, a set of Terraform templates designed to help you kickstart your data stack quickly.</p><p>As an early beta-tester and following my discussion with Julien on this subject, I can't wait to see it out there!<br>I start to think of the same pattern for data analysis. Imagine templates for standard analysis: LTV, churn, cohort based analysis, etc.<br>With BI as Code and new tools around the corner, I feel we're close to better automation and faster data-to-insight-to-action.<br>More on this subject later, but for now:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.boringdata.io/&quot;,&quot;text&quot;:&quot;&#128073; Checkout Boring Data&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.boringdata.io/"><span>&#128073; Checkout Boring Data</span></a></p><div><hr></div><h1>&#128240; The Blog Post</h1><p>No new blog post this month. Have been busy by trips and work recently. But definitely coming back with more soon.<br>Instead a funny one (am I the only one having issues with Google Meet recently?)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PJLR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbea928f9-7cd0-4cb3-96ab-442df8ea4fcd_736x662.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PJLR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbea928f9-7cd0-4cb3-96ab-442df8ea4fcd_736x662.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PJLR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbea928f9-7cd0-4cb3-96ab-442df8ea4fcd_736x662.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PJLR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbea928f9-7cd0-4cb3-96ab-442df8ea4fcd_736x662.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PJLR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbea928f9-7cd0-4cb3-96ab-442df8ea4fcd_736x662.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PJLR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbea928f9-7cd0-4cb3-96ab-442df8ea4fcd_736x662.jpeg" width="478" height="429.9402173913044" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bea928f9-7cd0-4cb3-96ab-442df8ea4fcd_736x662.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:662,&quot;width&quot;:736,&quot;resizeWidth&quot;:478,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PJLR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbea928f9-7cd0-4cb3-96ab-442df8ea4fcd_736x662.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PJLR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbea928f9-7cd0-4cb3-96ab-442df8ea4fcd_736x662.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PJLR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbea928f9-7cd0-4cb3-96ab-442df8ea4fcd_736x662.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PJLR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbea928f9-7cd0-4cb3-96ab-442df8ea4fcd_736x662.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h1>&#127912; Beyond The Bracket</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d84K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf032fe8-7a32-45f2-aa5f-2ad6afd3a094_526x704.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d84K!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf032fe8-7a32-45f2-aa5f-2ad6afd3a094_526x704.png 424w, https://substackcdn.com/image/fetch/$s_!d84K!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf032fe8-7a32-45f2-aa5f-2ad6afd3a094_526x704.png 848w, https://substackcdn.com/image/fetch/$s_!d84K!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf032fe8-7a32-45f2-aa5f-2ad6afd3a094_526x704.png 1272w, https://substackcdn.com/image/fetch/$s_!d84K!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf032fe8-7a32-45f2-aa5f-2ad6afd3a094_526x704.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d84K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf032fe8-7a32-45f2-aa5f-2ad6afd3a094_526x704.png" width="326" height="436.319391634981" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df032fe8-7a32-45f2-aa5f-2ad6afd3a094_526x704.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:704,&quot;width&quot;:526,&quot;resizeWidth&quot;:326,&quot;bytes&quot;:478192,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/160524214?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf032fe8-7a32-45f2-aa5f-2ad6afd3a094_526x704.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!d84K!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf032fe8-7a32-45f2-aa5f-2ad6afd3a094_526x704.png 424w, https://substackcdn.com/image/fetch/$s_!d84K!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf032fe8-7a32-45f2-aa5f-2ad6afd3a094_526x704.png 848w, https://substackcdn.com/image/fetch/$s_!d84K!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf032fe8-7a32-45f2-aa5f-2ad6afd3a094_526x704.png 1272w, https://substackcdn.com/image/fetch/$s_!d84K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf032fe8-7a32-45f2-aa5f-2ad6afd3a094_526x704.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I currently can't stop to read <a href="https://www.goodreads.com/book/show/42046112-recursion">Recursion by Blake Crouch</a>.</p><blockquote><p>Our ancestors lived in the oceans. Because of how light travels through water versus air, their sensory volume-the region in which they could scan for prey-was limited to their motor volume&#8212;the region they could actually reach and interact with. What do you think the result of that might be?"</p><p>She considers the question. "They could only react to immediate stimuli."</p><p>"OK. Now, what do you think happened when those fish finally crawled out of the ocean four hundred million years ago?*</p><p>"Their sensory volume increased, since light travels farther in air than in seawater."</p><p>"Some evolutionary biologists believe this terrestrial disparity between motor and sensory volume set the stage for the evolution of consciousness. If we can see ahead, then we can think ahead; we can plan. And then we can envision the future, even if it doesn't exist."</p><p>"So what's your point?"</p><p>"That consciousness is a result of environment. Our cognitions&#8212; our idea of reality-are shaped by what we can perceive, by the limitations of our senses. We think were seeing the world as it really is, but you of all people know...it's all just shadows on the cave's wall.</p></blockquote><p>I won't spoil it, but the story explores time travel and memory alteration in classic sci-fi fashion<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a>.<br>This weirdly resonates with the unexpected loss of my favorite artist <a href="https://www.instagram.com/kartellmusic/">Kartell</a>, taking a piece of me with him as his music deeply shaped my identity. I find comfort in knowing his music remains&#8212;both as nostalgia and as part of my future.</p><div><hr></div><p>And April hits! It has been a sturdy month but for the best. I'm glad to have coordinated work around the <a href="https://kestra.io/blogs/release-0-22">Kestra 0.22 release</a>, messed around with Cursor and MCPs, wrote this newsletter, taken time with relatives, and had the chance to see the sun shining again &#9728;&#65039;</p><p>Next month is mainly about new horizons and good times: a weekend to celebrate my love relationship, heading to Germany for another weekend, then the UK for 10 days.<br>I'm also planning my upcoming trip to the US this summer: if you're in the Seattle/Portland area, please reach out! &#127482;&#127480;</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>it's a very niche - French version - one, but I couldn't find any simple tool to plan and foresee my PTO.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:159587592,&quot;url&quot;:&quot;https://davidsj.substack.com/p/vibe-coder&quot;,&quot;publication_id&quot;:658281,&quot;publication_name&quot;:&quot;davidj.substack&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fea52a4-dc41-4f4d-93f4-bcfdd60e4ea1_666x666.png&quot;,&quot;title&quot;:&quot;Vibe coder&quot;,&quot;truncated_body_text&quot;:&quot;I have mentioned before how I have continued using Windsurf to build more things, since my success using it with sqlmesh and dlt.&quot;,&quot;date&quot;:&quot;2025-03-24T15:55:51.119Z&quot;,&quot;like_count&quot;:3,&quot;comment_count&quot;:1,&quot;bylines&quot;:[{&quot;id&quot;:64081583,&quot;name&quot;:&quot;David Jayatillake&quot;,&quot;handle&quot;:&quot;davidsj&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1597ff03-37e4-4b78-a9fb-065c868972a0_400x400.jpeg&quot;,&quot;bio&quot;:&quot;VP of AI at Cube.dev&quot;,&quot;profile_set_up_at&quot;:&quot;2022-01-11T00:22:29.328Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:591325,&quot;user_id&quot;:64081583,&quot;publication_id&quot;:658281,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:658281,&quot;name&quot;:&quot;davidj.substack&quot;,&quot;subdomain&quot;:&quot;davidsj&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;A substack about my journey in data: building data teams/stacks for org impact&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fea52a4-dc41-4f4d-93f4-bcfdd60e4ea1_666x666.png&quot;,&quot;author_id&quot;:64081583,&quot;theme_var_background_pop&quot;:&quot;#9D6FFF&quot;,&quot;created_at&quot;:&quot;2022-01-01T01:06:28.286Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;David Jayatillake&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:null,&quot;is_personal_mode&quot;:false}},{&quot;id&quot;:1448825,&quot;user_id&quot;:64081583,&quot;publication_id&quot;:1460069,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:1460069,&quot;name&quot;:&quot;Delphi&#8217;s Substack&quot;,&quot;subdomain&quot;:&quot;delphihq&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Hear about new features and news about Delphi. delphihq.com&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/76a86475-2ef2-477c-b96f-fe55287fb093_750x750.png&quot;,&quot;author_id&quot;:131959658,&quot;theme_var_background_pop&quot;:&quot;#EA410B&quot;,&quot;created_at&quot;:&quot;2023-03-01T20:06:40.771Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;Delphi&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;DSJayatillake&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://davidsj.substack.com/p/vibe-coder?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!bG38!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fea52a4-dc41-4f4d-93f4-bcfdd60e4ea1_666x666.png" loading="lazy"><span class="embedded-post-publication-name">davidj.substack</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Vibe coder</div></div><div class="embedded-post-body">I have mentioned before how I have continued using Windsurf to build more things, since my success using it with sqlmesh and dlt&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">a year ago &#183; 3 likes &#183; 1 comment &#183; David Jayatillake</div></a></div></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>I also highly recommend checking out the show based on one of his other book, <a href="https://www.imdb.com/title/tt19231492/">Dark Matter</a>.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Issue 45 - The Wall]]></title><description><![CDATA[Designing windows]]></description><link>https://fromanengineersight.substack.com/p/issue-45-the-wall</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/issue-45-the-wall</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Thu, 13 Mar 2025 22:27:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vHq4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15884040-8a1b-44f8-9923-81f8a7bbef39_1280x853.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vHq4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15884040-8a1b-44f8-9923-81f8a7bbef39_1280x853.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vHq4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15884040-8a1b-44f8-9923-81f8a7bbef39_1280x853.png 424w, https://substackcdn.com/image/fetch/$s_!vHq4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15884040-8a1b-44f8-9923-81f8a7bbef39_1280x853.png 848w, https://substackcdn.com/image/fetch/$s_!vHq4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15884040-8a1b-44f8-9923-81f8a7bbef39_1280x853.png 1272w, https://substackcdn.com/image/fetch/$s_!vHq4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15884040-8a1b-44f8-9923-81f8a7bbef39_1280x853.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vHq4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15884040-8a1b-44f8-9923-81f8a7bbef39_1280x853.png" width="1280" height="853" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/15884040-8a1b-44f8-9923-81f8a7bbef39_1280x853.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:853,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1195590,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/158903573?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15884040-8a1b-44f8-9923-81f8a7bbef39_1280x853.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vHq4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15884040-8a1b-44f8-9923-81f8a7bbef39_1280x853.png 424w, https://substackcdn.com/image/fetch/$s_!vHq4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15884040-8a1b-44f8-9923-81f8a7bbef39_1280x853.png 848w, https://substackcdn.com/image/fetch/$s_!vHq4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15884040-8a1b-44f8-9923-81f8a7bbef39_1280x853.png 1272w, https://substackcdn.com/image/fetch/$s_!vHq4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15884040-8a1b-44f8-9923-81f8a7bbef39_1280x853.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p>There was a wall. It did not look important. It was built of uncut rocks roughly mortared; an adult could look right over it, and even a child could climb it. Where it crossed the roadway, instead of having a gate it degenerated into mere geometry, a line, an idea of boundary. But the idea was real. It was important.<br>For seven generations there had been nothing in the world more important than that wall.<br>Like all walls it was ambiguous, two-faced. What was inside it and what was outside it<br><em>Ursula K. Le Guin's <a href="https://www.amazon.fr/Dispossessed-Ursula-K-Guin/dp/0061054887">"The Dispossessed"</a></em></p></blockquote><p>I've been building analytics motion recently. Thinking about exposing data to non-technical people while ensuring the technical is done properly.<br>That depending on the side of the wall you stand by, you get what you expect.<br>Each side presents things differently. But they are ultimately the same under the hood. Dashboards or <a href="https://lloydtabb.substack.com/p/data-is-rectangular-and-other-limiting">rectangle tables</a>. They are two faces of the same coin.</p><p>Working with both populations, I find myself on that wall. Always battling between the duality. Business. Engineering.<br>Walls are nice. They bring strength which is essential to maintain identifiable character. Focus.<br>But they ultimately create ghettos.</p><blockquote><p>In a city made up of ghettos, people have the support of the most basic [...] People in the ghetto are usually forced to live there, isolated from the rest of society, unable to evolve their way of life, and often intolerant of ways of lie different from their own.<br><em>Christopher Alexander, <a href="https://en.wikipedia.org/wiki/A_Pattern_Language">&#8220;A Pattern Language&#8221;</a></em></p></blockquote><p>On one side we have the CLI. The <a href="https://docs.cursor.com/context/rules-for-ai#cursorrules">MDC file</a> into a fresh new code editor.<br>On the other the cluttered CRM. The 2 months old - already dead - spreadsheet.</p><p>Analytics engineering is one of the clutches standing on that wall. But its vocation is only looking at one side.</p><p>The other side is crappy too. Gold paved, with ambiguous foundations. Because of that wall.</p><p>We design pipeline roads to ultimately break that wall. Bringing the stone foundation for (<a href="https://www.reddit.com/r/CapitalismVSocialism/comments/r7xhtr/capitalists_yes_capitalism_does_require/">expected</a>) infinite streets.</p><p>The only way to break that wall is to get messy. To look at the other side. To understand the incentive. To truly understand why this spreadsheet exists.</p><p>Sometimes it feels like only one side is trying to break it. But it's because the other is under never-ending pressure. It has to pave the street.</p><p>Standing on that wall sometimes, I encourage you to look at the other side. To even try to pave the street too. Then you will understand. The spreadsheet. The deal closed. The optimism. The value.<br>You can come back into your ghetto. It's needed.<br>But out of LLM recents breakthroughs, now, we will soon expect everyone to meet on that wall.</p><div><hr></div><h1>&#128225; Expected Contents</h1><h3>Data Union</h3><p>Union is not something I've been interested too, but the recent market and geopolitics trajectory, plus whats happening with AI gives me a sense of need for better counter-power.</p><p>Maggies comes back with a short post showing what a consumer-data-union could be. It's more just an idea than something real right now, but with more and more paywalls popping up (which lets us move away from ads all over the internet; get your wallet ready), it looks like a good path for controlling our own data in the future.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://maggieappleton.com/data-unions&quot;,&quot;text&quot;:&quot;Data Unions&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://maggieappleton.com/data-unions"><span>Data Unions</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!i8TV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf235d7a-f0a9-4c0f-82d1-9a2d1a8e07a3_1150x2393.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i8TV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf235d7a-f0a9-4c0f-82d1-9a2d1a8e07a3_1150x2393.png 424w, https://substackcdn.com/image/fetch/$s_!i8TV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf235d7a-f0a9-4c0f-82d1-9a2d1a8e07a3_1150x2393.png 848w, https://substackcdn.com/image/fetch/$s_!i8TV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf235d7a-f0a9-4c0f-82d1-9a2d1a8e07a3_1150x2393.png 1272w, https://substackcdn.com/image/fetch/$s_!i8TV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf235d7a-f0a9-4c0f-82d1-9a2d1a8e07a3_1150x2393.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i8TV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf235d7a-f0a9-4c0f-82d1-9a2d1a8e07a3_1150x2393.png" width="358" height="744.9513043478261" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df235d7a-f0a9-4c0f-82d1-9a2d1a8e07a3_1150x2393.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2393,&quot;width&quot;:1150,&quot;resizeWidth&quot;:358,&quot;bytes&quot;:867633,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/158903573?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf235d7a-f0a9-4c0f-82d1-9a2d1a8e07a3_1150x2393.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!i8TV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf235d7a-f0a9-4c0f-82d1-9a2d1a8e07a3_1150x2393.png 424w, https://substackcdn.com/image/fetch/$s_!i8TV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf235d7a-f0a9-4c0f-82d1-9a2d1a8e07a3_1150x2393.png 848w, https://substackcdn.com/image/fetch/$s_!i8TV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf235d7a-f0a9-4c0f-82d1-9a2d1a8e07a3_1150x2393.png 1272w, https://substackcdn.com/image/fetch/$s_!i8TV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf235d7a-f0a9-4c0f-82d1-9a2d1a8e07a3_1150x2393.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>SQL Noir</h3><p>I never really learned SQL at school or my job. It was mostly on the spot, to get things done.<br>Most of the time, I learn new knowledge and tricks via projects.<br>But here comes something I would love to have back then when I was bored in the classroom.<br>This sandbox allows you to learn SQL by playing the role of a detective. Even knowing a bunch of SQL myself, I couldn't stop to resolve the case.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.sqlnoir.com/&quot;,&quot;text&quot;:&quot;&#128073; Play SQLNoir&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.sqlnoir.com/"><span>&#128073; Play SQLNoir</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FYv3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08acc057-71cc-4346-b626-3be641c4c4da_2399x1199.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FYv3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08acc057-71cc-4346-b626-3be641c4c4da_2399x1199.png 424w, https://substackcdn.com/image/fetch/$s_!FYv3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08acc057-71cc-4346-b626-3be641c4c4da_2399x1199.png 848w, https://substackcdn.com/image/fetch/$s_!FYv3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08acc057-71cc-4346-b626-3be641c4c4da_2399x1199.png 1272w, https://substackcdn.com/image/fetch/$s_!FYv3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08acc057-71cc-4346-b626-3be641c4c4da_2399x1199.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FYv3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08acc057-71cc-4346-b626-3be641c4c4da_2399x1199.png" width="531" height="265.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/08acc057-71cc-4346-b626-3be641c4c4da_2399x1199.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:728,&quot;width&quot;:1456,&quot;resizeWidth&quot;:531,&quot;bytes&quot;:584682,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/158903573?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08acc057-71cc-4346-b626-3be641c4c4da_2399x1199.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FYv3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08acc057-71cc-4346-b626-3be641c4c4da_2399x1199.png 424w, https://substackcdn.com/image/fetch/$s_!FYv3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08acc057-71cc-4346-b626-3be641c4c4da_2399x1199.png 848w, https://substackcdn.com/image/fetch/$s_!FYv3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08acc057-71cc-4346-b626-3be641c4c4da_2399x1199.png 1272w, https://substackcdn.com/image/fetch/$s_!FYv3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08acc057-71cc-4346-b626-3be641c4c4da_2399x1199.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CSdq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf3c61a-d59d-4f19-a4eb-1fbad75855d1_2394x1051.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CSdq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf3c61a-d59d-4f19-a4eb-1fbad75855d1_2394x1051.png 424w, https://substackcdn.com/image/fetch/$s_!CSdq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf3c61a-d59d-4f19-a4eb-1fbad75855d1_2394x1051.png 848w, https://substackcdn.com/image/fetch/$s_!CSdq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf3c61a-d59d-4f19-a4eb-1fbad75855d1_2394x1051.png 1272w, https://substackcdn.com/image/fetch/$s_!CSdq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf3c61a-d59d-4f19-a4eb-1fbad75855d1_2394x1051.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CSdq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf3c61a-d59d-4f19-a4eb-1fbad75855d1_2394x1051.png" width="537" height="235.67513736263737" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7cf3c61a-d59d-4f19-a4eb-1fbad75855d1_2394x1051.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:639,&quot;width&quot;:1456,&quot;resizeWidth&quot;:537,&quot;bytes&quot;:258993,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/158903573?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf3c61a-d59d-4f19-a4eb-1fbad75855d1_2394x1051.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CSdq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf3c61a-d59d-4f19-a4eb-1fbad75855d1_2394x1051.png 424w, https://substackcdn.com/image/fetch/$s_!CSdq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf3c61a-d59d-4f19-a4eb-1fbad75855d1_2394x1051.png 848w, https://substackcdn.com/image/fetch/$s_!CSdq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf3c61a-d59d-4f19-a4eb-1fbad75855d1_2394x1051.png 1272w, https://substackcdn.com/image/fetch/$s_!CSdq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf3c61a-d59d-4f19-a4eb-1fbad75855d1_2394x1051.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Spoiler</figcaption></figure></div><div><hr></div><h3>Making a spreadsheet</h3><p>Spreadsheet is now a common good. Too common sometimes. But did you try to build one yourself?</p><p>This is what <a href="https://blog.singleton.io/about/">David</a> does in this post: creating a spreadsheet. It's not that complex but a savant mix of algorithm and UX thinking.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.singleton.io/posts/2021-02-08-i-made-a-spreadsheet/&quot;,&quot;text&quot;:&quot;&#128073; I made a spreadsheet&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.singleton.io/posts/2021-02-08-i-made-a-spreadsheet/"><span>&#128073; I made a spreadsheet</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WP7H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F287a62c4-0914-451b-92d6-ff5ab7417c5d_1980x1079.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WP7H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F287a62c4-0914-451b-92d6-ff5ab7417c5d_1980x1079.png 424w, https://substackcdn.com/image/fetch/$s_!WP7H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F287a62c4-0914-451b-92d6-ff5ab7417c5d_1980x1079.png 848w, https://substackcdn.com/image/fetch/$s_!WP7H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F287a62c4-0914-451b-92d6-ff5ab7417c5d_1980x1079.png 1272w, https://substackcdn.com/image/fetch/$s_!WP7H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F287a62c4-0914-451b-92d6-ff5ab7417c5d_1980x1079.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WP7H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F287a62c4-0914-451b-92d6-ff5ab7417c5d_1980x1079.png" width="594" height="323.51785714285717" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/287a62c4-0914-451b-92d6-ff5ab7417c5d_1980x1079.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:793,&quot;width&quot;:1456,&quot;resizeWidth&quot;:594,&quot;bytes&quot;:134893,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/158903573?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F287a62c4-0914-451b-92d6-ff5ab7417c5d_1980x1079.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WP7H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F287a62c4-0914-451b-92d6-ff5ab7417c5d_1980x1079.png 424w, https://substackcdn.com/image/fetch/$s_!WP7H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F287a62c4-0914-451b-92d6-ff5ab7417c5d_1980x1079.png 848w, https://substackcdn.com/image/fetch/$s_!WP7H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F287a62c4-0914-451b-92d6-ff5ab7417c5d_1980x1079.png 1272w, https://substackcdn.com/image/fetch/$s_!WP7H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F287a62c4-0914-451b-92d6-ff5ab7417c5d_1980x1079.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>The single most important SaaS metric</h3><p>Very good post on how choosing a good metric is key in business. TL;DR There is not only one; it depends on your business.<br>What's your current one? What's your next one?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://longform.asmartbear.com/saas-metric/&quot;,&quot;text&quot;:&quot;The most important SaaS metric&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://longform.asmartbear.com/saas-metric/"><span>The most important SaaS metric</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m9Ze!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0523fe-e4f8-4fb3-aa43-4fe6a38ee676_500x484.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m9Ze!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0523fe-e4f8-4fb3-aa43-4fe6a38ee676_500x484.jpeg 424w, https://substackcdn.com/image/fetch/$s_!m9Ze!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0523fe-e4f8-4fb3-aa43-4fe6a38ee676_500x484.jpeg 848w, https://substackcdn.com/image/fetch/$s_!m9Ze!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0523fe-e4f8-4fb3-aa43-4fe6a38ee676_500x484.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!m9Ze!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0523fe-e4f8-4fb3-aa43-4fe6a38ee676_500x484.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m9Ze!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0523fe-e4f8-4fb3-aa43-4fe6a38ee676_500x484.jpeg" width="276" height="267.168" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d0523fe-e4f8-4fb3-aa43-4fe6a38ee676_500x484.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:484,&quot;width&quot;:500,&quot;resizeWidth&quot;:276,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;News Cartoon # 4033 - Reaction to the news was mixed, largely because we asked more than one person.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="News Cartoon # 4033 - Reaction to the news was mixed, largely because we asked more than one person." title="News Cartoon # 4033 - Reaction to the news was mixed, largely because we asked more than one person." srcset="https://substackcdn.com/image/fetch/$s_!m9Ze!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0523fe-e4f8-4fb3-aa43-4fe6a38ee676_500x484.jpeg 424w, https://substackcdn.com/image/fetch/$s_!m9Ze!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0523fe-e4f8-4fb3-aa43-4fe6a38ee676_500x484.jpeg 848w, https://substackcdn.com/image/fetch/$s_!m9Ze!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0523fe-e4f8-4fb3-aa43-4fe6a38ee676_500x484.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!m9Ze!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0523fe-e4f8-4fb3-aa43-4fe6a38ee676_500x484.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h1>&#128240; The Blog Post</h1><p>Speaking about walls. Here is one with some windows.<br>Finally put down my thoughts on the semantic layer concept. It's my digest of last year discussions, talk and reading on the subject.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;0fd484e3-318b-49d0-b731-f28fc744e009&quot;,&quot;caption&quot;:&quot;For a few years now, we have seen the emergence of a concept called the Semantic Layer. It's not a new fresh idea, but it kinda resonates with the current state of analytics maturity we're reaching.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;What Syntax for the Semantic Layer?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:23621089,&quot;name&quot;:&quot;Benoit Pimpaud&quot;,&quot;bio&quot;:&quot;Writing From An Engineer Sight, a periodic about data, engineering and design.\nhttps://fromanengineersight.substack.com/&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1700bc2d-b494-49e4-b282-f061f189382a_2883x2883.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-02-28T21:45:25.647Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8512ed2-cc4a-4204-9fc9-ef08da04d32f_1536x1536.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://fromanengineersight.substack.com/p/what-syntax-for-the-semantic-layer&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:158131679,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:4,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;From An Engineer Sight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1fb566-11bb-440e-8967-9104b1b75049_256x256.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h1>&#127912; Beyond The Bracket</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hk-p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60a64214-6ec3-41bd-aa7a-2ff4ad02b4ef_1200x1113.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hk-p!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60a64214-6ec3-41bd-aa7a-2ff4ad02b4ef_1200x1113.png 424w, https://substackcdn.com/image/fetch/$s_!hk-p!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60a64214-6ec3-41bd-aa7a-2ff4ad02b4ef_1200x1113.png 848w, https://substackcdn.com/image/fetch/$s_!hk-p!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60a64214-6ec3-41bd-aa7a-2ff4ad02b4ef_1200x1113.png 1272w, https://substackcdn.com/image/fetch/$s_!hk-p!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60a64214-6ec3-41bd-aa7a-2ff4ad02b4ef_1200x1113.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hk-p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60a64214-6ec3-41bd-aa7a-2ff4ad02b4ef_1200x1113.png" width="1200" height="1113" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60a64214-6ec3-41bd-aa7a-2ff4ad02b4ef_1200x1113.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1113,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2311261,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/158903573?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60a64214-6ec3-41bd-aa7a-2ff4ad02b4ef_1200x1113.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hk-p!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60a64214-6ec3-41bd-aa7a-2ff4ad02b4ef_1200x1113.png 424w, https://substackcdn.com/image/fetch/$s_!hk-p!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60a64214-6ec3-41bd-aa7a-2ff4ad02b4ef_1200x1113.png 848w, https://substackcdn.com/image/fetch/$s_!hk-p!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60a64214-6ec3-41bd-aa7a-2ff4ad02b4ef_1200x1113.png 1272w, https://substackcdn.com/image/fetch/$s_!hk-p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60a64214-6ec3-41bd-aa7a-2ff4ad02b4ef_1200x1113.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Friendly reminder: <a href="https://www.astro.princeton.edu/universe/">this is a tiny space</a>.<br>You're reading this inside a way smaller part of that space.</p><p>Close your laptop, smartphone, or whatever screen you're glaring at.<br>Enjoy birds, <a href="https://www.linkedin.com/feed/update/urn:li:activity:7301904118418214912/">a Moroccan tea</a>, a <a href="https://www.youtube.com/watch?v=4TYv2PhG89A">Sade&#8217;s song</a>, whatever makes you happy.</p><p>I recently succeeded in reducing my smartphone screen-time - which was already less than 3 hours per day - to less than 1 hour.</p><p>I quit Twitter. With quite a nostalgic feeling as it's where I started to write, blog, and grow a kind of network.</p><p>Though I have mixed feelings about the leader of this platform, taking some time there doesn't bring any value anymore. I have to admit that on Bluesky neither&#8230;</p><p>I feel like I'm entering the post-era of social networks. Reading about switching to dumb phones. Only getting contact with the news through Substack newsletters, this <a href="https://www.tf1.fr/tmc/quotidien-avec-yann-barthes">French show</a> sometimes, and my friends or family.</p><p>FOMO isn't really here anymore - as the pace of things is too fast, there's no real value in keeping up to date with everything. Call this pessimism or seniority. Or maybe, optimism and wisdom, for things that actually matter.</p><div><hr></div><p>Had a very nice February here. I went to the UK: I love this country. As a French I&#8217;m not ashamed to say that English people are nice and they somehow have good food (yes you're reading well). Going back there in few weeks to eat more jelly beans!</p><p>March's already in good shape! Tons of trips are planned this year, and I have a blurry sense of new projects to come. The time out there will probe it.</p><p>Hope you're doing well; see you in a month &#128075;</p>]]></content:encoded></item><item><title><![CDATA[What Syntax for the Semantic Layer?]]></title><description><![CDATA[The next step is high]]></description><link>https://fromanengineersight.substack.com/p/what-syntax-for-the-semantic-layer</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/what-syntax-for-the-semantic-layer</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Fri, 28 Feb 2025 21:45:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ikm7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8512ed2-cc4a-4204-9fc9-ef08da04d32f_1536x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ikm7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8512ed2-cc4a-4204-9fc9-ef08da04d32f_1536x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ikm7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8512ed2-cc4a-4204-9fc9-ef08da04d32f_1536x1536.png 424w, https://substackcdn.com/image/fetch/$s_!ikm7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8512ed2-cc4a-4204-9fc9-ef08da04d32f_1536x1536.png 848w, https://substackcdn.com/image/fetch/$s_!ikm7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8512ed2-cc4a-4204-9fc9-ef08da04d32f_1536x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!ikm7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8512ed2-cc4a-4204-9fc9-ef08da04d32f_1536x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ikm7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8512ed2-cc4a-4204-9fc9-ef08da04d32f_1536x1536.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8512ed2-cc4a-4204-9fc9-ef08da04d32f_1536x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2311440,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/158131679?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8512ed2-cc4a-4204-9fc9-ef08da04d32f_1536x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ikm7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8512ed2-cc4a-4204-9fc9-ef08da04d32f_1536x1536.png 424w, https://substackcdn.com/image/fetch/$s_!ikm7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8512ed2-cc4a-4204-9fc9-ef08da04d32f_1536x1536.png 848w, https://substackcdn.com/image/fetch/$s_!ikm7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8512ed2-cc4a-4204-9fc9-ef08da04d32f_1536x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!ikm7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8512ed2-cc4a-4204-9fc9-ef08da04d32f_1536x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For a few years now, we have seen the emergence of a concept called the Semantic Layer. <a href="https://www.kimballgroup.com/2013/08/design-tip-158-making-sense-of-the-semantic-layer/">It's not a new fresh idea</a>, but it kinda resonates with the current state of analytics maturity we're reaching.</p><p>But while the abstract idea of a semantic layer can be defined pretty easily, it's still hard to navigate around the syntax, the implementation of this layer.</p><h2>Why do we need a semantic layer in the first place?</h2><p>We have customer relationship management (CRM), we have project management, we have HR, and we have finance software. The core value of these tools is to play as interfaces. These are the layers where faces get to interact with each other. Inter-faces.</p><p>But what's the interface for data?</p><p>The obvious answer is the database - especially the data warehouse now. These now have role-based access control (RBAC) and teams (data engineers) managing what's in and out. Hence, it's the main interface to move forward on the data-to-insight motion.</p><p>However, this interface is kinda flawed. Firstly because the main syntax to play here <a href="https://medium.pimpaudben.fr/sql-is-not-designed-for-analytics-079fc97b139c">hasn't been designed for such</a>, but also because the faces who need interaction with data are plenty, and from very different backgrounds.</p><p>Out of these realities, we talk nowadays about the Semantic Layer:</p><blockquote><p>A centralized control panel for company's data &#8211; a semantic layer manages data modeling, data access, and sends consistent data and metrics to every BI software, data app, and AI/LLM tool.</p></blockquote><p>This is indeed a layer, an interface, that allows any users to access and interpret data using familiar terms without needing deep technical (data) knowledge and in a consistent way. The best-suited use cases for a semantic layer involve centralized metrics definition, unified data modeling, query optimization with a cache layer, and security and access control governance<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>.</p><p>As I'm writing these lines in 2025, the current state of semantic layers is not as gorgeous: nowadays, a semantic layer is basically a team of data engineers and data analysts that play the ETL game and get ad-hoc analysis done.</p><p>Don't get me wrong: like CRM, HR, finance, product, etc. there will always be ad-hoc things and Excel spreadsheets. But like our cousins, we will somehow have the proper software to get our interactions fixed and guidlined. Basically, <a href="https://medium.com/@benoit.pimpaud/the-mindset-behind-declarative-programming-31361ea5598f">shifted left</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_trZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2515dab-2d2f-4f88-931e-535cddbe8e4c_3840x2160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_trZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2515dab-2d2f-4f88-931e-535cddbe8e4c_3840x2160.png 424w, https://substackcdn.com/image/fetch/$s_!_trZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2515dab-2d2f-4f88-931e-535cddbe8e4c_3840x2160.png 848w, https://substackcdn.com/image/fetch/$s_!_trZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2515dab-2d2f-4f88-931e-535cddbe8e4c_3840x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!_trZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2515dab-2d2f-4f88-931e-535cddbe8e4c_3840x2160.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_trZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2515dab-2d2f-4f88-931e-535cddbe8e4c_3840x2160.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a2515dab-2d2f-4f88-931e-535cddbe8e4c_3840x2160.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:592366,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/158131679?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2515dab-2d2f-4f88-931e-535cddbe8e4c_3840x2160.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_trZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2515dab-2d2f-4f88-931e-535cddbe8e4c_3840x2160.png 424w, https://substackcdn.com/image/fetch/$s_!_trZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2515dab-2d2f-4f88-931e-535cddbe8e4c_3840x2160.png 848w, https://substackcdn.com/image/fetch/$s_!_trZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2515dab-2d2f-4f88-931e-535cddbe8e4c_3840x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!_trZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2515dab-2d2f-4f88-931e-535cddbe8e4c_3840x2160.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The current state of the semantic layer</figcaption></figure></div><h2>SQL is not designed for analytics</h2><p>We have the chance to know our semantics quite well. At least we have proper (sometimes endless) discussions about it. It's how we define ARR, what's a user, what's the user journey, etc. All of these elements are different from company to company, but ultimately we are able to sit down and <a href="https://www.youtube.com/watch?v=Dbr8jmtfZ7Q">put the equation on paper</a>.</p><p>The next question is how to move from paper to proper sheets?</p><p>Here, the database and its main syntax, SQL, is the first thing that comes to mind.</p><p>SQL has actually shaped how we think about data. <a href="https://lloydtabb.substack.com/p/data-is-rectangular-and-other-limiting">It's all about rectangular pieces. But that brought us limitations.</a></p><p>SQL is not a functional programming language. It's not possible to build up easily queries on top of queries. Put another way: it's not possible to build up our semantics. There's no polymorphism, no functions. It's hard to factor our work.</p><p>Semantics often trail behind syntaxes: our world is moving fast and so our ideas and needs. Our syntax is more than 30 years old. It has been designed for OLTP applications, for relational models. But business models aren't relational models.</p><p>To bridge this natural gap we have built <a href="https://unytics.io/bigfunctions/">tools</a>, <a href="https://www.getdbt.com">frameworks</a>, and platforms.</p><p>And it works. It's now common to see medallion architectures built on top of dbt and cloud platforms all connected to BI tools and data applications.</p><p>This propels a kind of data-to-insight-to-action motion. That makes us, somehow, data-driven.</p><p>But in the end, we have yet to upgrade our steering wheel. Managing all the data work through hundreds of lines of SQL, templated with Jinja to fix the lack of functional capabilities, limits us to move to the next step<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>.</p><p>At some point, we will need new syntaxes. Leaders in that space already agree since years:</p><blockquote><p>I have to admit, I didn't think about dbt <em>and</em> Malloy working together... And all of that makes sense in the longer term. I think it'll be really interesting to see how far Jinja gets stretched by what people do with metrics. It feels like entire mini-languages could get built within it, to the point where a lot of what you're describing&#8212;an imperative language that compiles to SQL&#8212;almost falls out by accident.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p></blockquote><p>But it's not easy. It's actually <a href="https://benn.substack.com/p/has-sql-gone-too-far/comment/6072291">"lots and LOTS of work to do"</a>.</p><h2>The LLM Fallacy</h2><p>Nowadays we are expecting to primarily interact with software in natural language. <a href="https://austinhenley.com/blog/naturallanguageui.html">That's lazy</a>. I mean, <a href="https://stkbailey.substack.com/p/good-data-engineers-are-lazy">good engineers are lazy</a>. But they are lazy in a good way. Because they have interfaces that let them explore the problem and solutions space in a variety of ways. The interface offers nudges. Guidelines.</p><p>The bottleneck is in the data-interpretation, the code-comprehension. The bottleneck is always the problem at hand, it's never the boilerplate, it's never the patterns. Our expertise isn't in knowing how to write a case statement in SQL, or anything else you could get an LLM to write - it's in knowing how to deal with the specificities and intricacies of the problem we're working on. The work does happen to be code composition.</p><p>We could fall in the trap that natural language is the ultimate interface for the computer. But in the end, the code isn't for the computer&#8212;it's for us. It's for <em>humans</em>. If the coding language was meant for the computer, we would all be writing in pure binary instead of these abstracted and symbolic languages.</p><blockquote><p>The code is the interface that we designed to be able to program the computer. It's what we need. It's objective, explicit, unambiguous, (relatively) static, internally consistent, and robust. English has none of these properties&#8212;it's subjective, meaning is often implicit, and ambiguous, it's always changing, contradictions appear, and its structure does not hold up to analysis.</p></blockquote><p>And so, the text to SQL motion lacks an essential value: semantic composition. Yes, LLMs are one of the best partners to probe our semantics. It's like discussing with a human: you bring context sentence after sentence, question after question. Good prompting engineering can be a key here to getting good <a href="https://fromanengineersight.substack.com/p/issue-39-whats-your-question">probing questions</a> and moving forward with our meaning-making of the data.</p><p>When we create a well-defined and bounded semantic layer, we can provide LLMs with context. While LLMs don't truly understand semantics, they're similar to an intern who would be overwhelmed if given database schemas and asked to perform detailed analysis without proper context. By working within this structured semantic layer, it becomes much easier to combine our internal knowledge, business relationships, and desired insights in a meaningful way. We can probe and build up the semantics in natural language, as we would do naturally in the meetings and at the coffee machine.</p><p>As natural language comes with ambiguity and context-dependency making precise composition becomes a challenge.</p><p>That's the main reason we write code. We want to write <a href="https://fromanengineersight.substack.com/p/issue-43-the-best-code-you-never">the least possible</a>, but still write it. Because it often brings composition and a set of routines hopefully close to our semantics.</p><h2>Interface &amp; Composition</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!apwN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8588fb3d-c908-402d-9e74-b8eb3ebc4467_3840x2160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!apwN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8588fb3d-c908-402d-9e74-b8eb3ebc4467_3840x2160.png 424w, https://substackcdn.com/image/fetch/$s_!apwN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8588fb3d-c908-402d-9e74-b8eb3ebc4467_3840x2160.png 848w, https://substackcdn.com/image/fetch/$s_!apwN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8588fb3d-c908-402d-9e74-b8eb3ebc4467_3840x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!apwN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8588fb3d-c908-402d-9e74-b8eb3ebc4467_3840x2160.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!apwN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8588fb3d-c908-402d-9e74-b8eb3ebc4467_3840x2160.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8588fb3d-c908-402d-9e74-b8eb3ebc4467_3840x2160.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:242779,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fromanengineersight.substack.com/i/158131679?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8588fb3d-c908-402d-9e74-b8eb3ebc4467_3840x2160.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!apwN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8588fb3d-c908-402d-9e74-b8eb3ebc4467_3840x2160.png 424w, https://substackcdn.com/image/fetch/$s_!apwN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8588fb3d-c908-402d-9e74-b8eb3ebc4467_3840x2160.png 848w, https://substackcdn.com/image/fetch/$s_!apwN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8588fb3d-c908-402d-9e74-b8eb3ebc4467_3840x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!apwN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8588fb3d-c908-402d-9e74-b8eb3ebc4467_3840x2160.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I like to think of this whole problem space as a problem of interfaces and composition.</p><p>The first interface here is humans - natural language. The second is the database - SQL. </p><p>These two interfaces are very very good. While it's hard to build up our semantics with natural language, it's still very useful to understand and probe it. Especially with LLM and good context. There's a world - not so far - where you can talk to the best analyst and expert with your day-to-day language.</p><p>Same for SQL: it's probably the best language we had created to interact with the database. However, we probably <a href="https://benn.substack.com/p/has-sql-gone-too-far">went too far</a> with it. It was originally designed for OLTP applications 30 years ago. There are no functions in it. We have brought tools around to fix it (templating language like Jinja, frameworks, etc.). But <a href="https://www.aranke.org/dbt-jquery/">dbt is jQuery, not React</a>. It's ultimately tough to implement the semantics we want with it.</p><p>And so comes the semantic layer. An intermediary interface allowing to compose our semantics.</p><p>Here the technology space is in bloom. </p><p>The leader here is probably <a href="https://cube.dev/">Cube</a>. It comes with a declarative DSL allowing to expose a semantic to any common interfaces (dashboards, apps, etc.)</p><p>It embarks <a href="https://cube.dev/docs/product/caching">cache</a>, <a href="https://cube.dev/docs/product/caching#pre-aggregations">pre-aggregation</a>, and <a href="https://cube.dev/docs/product/auth">access control</a>. It also brings <a href="https://cube.dev/docs/product/data-modeling/concepts/polymorphic-cubes">some polymorphisms and real composability</a> when well designed, but I agree <a href="https://lloydtabb.substack.com/p/beyond-yaml">with Carl</a> that YAML (or any markup language) is probably not the way forward here. At least not only.</p><blockquote><p>Just like programming, data modeling and exploration is a very cognitively demanding process, and cognitively demanding processes benefit tremendously from fast feedback loops. At the Malloy team, we're trying as hard as we can to ensure that data modelers and analysts can achieve "flow state" while doing their work. This means doing hard things, and sweating every tiny detail that causes friction in the experience.</p></blockquote><p>From my experience, I can say that <a href="https://kestra.io/blogs/2023-12-01-yaml-pitfalls">YAML pitfalls don't really apply when it sits in a proper user interface</a>. Also, Cube approach looks similar to Terraform or Kubernetes deployment in the way that it's easy to adapt, to fix and maintain without getting "in the flow". It's much more of an exposition layer.</p><p>On the other side we have new languages like Malloy. It changes t<a href="https://lloydtabb.substack.com/p/data-is-rectangular-and-other-limiting">he way we are looking at data</a> and brings us way closer to the semantics we want to build up. It comes with routines and a defined syntax that just fits naturally. Just <a href="https://www.youtube.com/watch?v=zmmJgwc3oPI">look at this</a>.</p><p>It gets us in the flow state and allows us to compose our semantics with ease.</p><p>For now Malloy doesn't make it easy to expose this semantic. BI tools are waiting for rectangular inputs (tables). For a SQL API call (like in <a href="https://cube.dev/docs/product/apis-integrations/sql-api">Cube</a>).</p><p>However, it does come with a <a href="https://docs.malloydata.dev/documentation/visualizations/bar_charts">charting library</a>. </p><p><a href="https://www.rilldata.com/blog/bi-as-code-and-the-new-era-of-genbi">Declarative BI</a> is a thing now and there is probably a space where the final interface for insight-to-action motion is not propelled by a pure dashboard built by dragging and dropping around but in natural language bounded to a semantic layer that knows (or where you choose) what's the best way to represent data. Could be a chart, a pivot table, a text, a slide deck, <a href="https://blog.google/technology/ai/notebooklm-audio-overviews/">a voice memo</a> or an Excel file.</p><p>Recently, I also have been amazed by how dbt and <a href="https://www.lightdash.com/">Lightdash</a> integrate well together. Using this duo with a bit of AI to fill dbt documentation: it allows to build a full semantic layer within dbt while taking advantage of pre-built aggregation in Lightdash. It's still SQL interlaced with crappy Jinja. But at least everything is as code and it's a realistic and pragmatic solution - especially now with dbt being a standard. I think it's a good first step to implement a semantic layer (plus in bonus, Lightdash has a <a href="https://www.lightdash.com/blogpost/metric-trees-how-top-data-teams-impact-growth">metric tree builder</a> - more a toy than anything, but still, we are making progress).</p><p>What's the syntax for the semantic layer then?</p><p>To me, it's YAML for exposing and maintaining the glue for downstream applications. And it's a new language that allows us to build that semantic upstream. The latter is probably built on top of SQL as it's the best database interface we have.</p><p>Depending on the maturity of our business and level of technicality, it could be a bounded chat application, only YAML with Cube, Malloy for cooking analysts, a mix of both, and sometimes it will be another thing. Don't worry we will have <a href="https://davidsj.substack.com/p/semantic-layers-a-buyers-guide">a buyer guide</a>.</p><p>Like always, the syntax will trail behind our semantics. We should be flexible and be ready to move it to the trash. This is sometimes the best way to move as fast as possible on our ultimate goal: shorten the data-to-insight-to-action motion.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fromanengineersight.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">From An Engineer Sight is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>https://cube.dev/blog/universal-semantic-layer-capabilities-integrations-and-enterprise-benefits</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>SQL is great. We think we don't really need more than that. Like engineers who were dealing with AWS console before using Terraform. That's maybe a wrong call; but try Malloy and you will understand (<em>FWIW; Malloy doesn&#8217;t solve all our problem, it simply gives an idea of what things could be</em>).</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>https://benn.substack.com/p/has-sql-gone-too-far/comment/6072291</p></div></div>]]></content:encoded></item><item><title><![CDATA[Issue 44 - The Reusability Lag]]></title><description><![CDATA[Being pragmatic]]></description><link>https://fromanengineersight.substack.com/p/issue-44-the-reusability-lag</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/issue-44-the-reusability-lag</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Sun, 09 Feb 2025 16:42:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!K-29!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7854c9c8-c912-4d2c-8786-7a8245ba41a3_500x435.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!K-29!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7854c9c8-c912-4d2c-8786-7a8245ba41a3_500x435.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K-29!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7854c9c8-c912-4d2c-8786-7a8245ba41a3_500x435.png 424w, https://substackcdn.com/image/fetch/$s_!K-29!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7854c9c8-c912-4d2c-8786-7a8245ba41a3_500x435.png 848w, https://substackcdn.com/image/fetch/$s_!K-29!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7854c9c8-c912-4d2c-8786-7a8245ba41a3_500x435.png 1272w, https://substackcdn.com/image/fetch/$s_!K-29!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7854c9c8-c912-4d2c-8786-7a8245ba41a3_500x435.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K-29!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7854c9c8-c912-4d2c-8786-7a8245ba41a3_500x435.png" width="724" height="629.88" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7854c9c8-c912-4d2c-8786-7a8245ba41a3_500x435.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:435,&quot;width&quot;:500,&quot;resizeWidth&quot;:724,&quot;bytes&quot;:387139,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!K-29!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7854c9c8-c912-4d2c-8786-7a8245ba41a3_500x435.png 424w, https://substackcdn.com/image/fetch/$s_!K-29!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7854c9c8-c912-4d2c-8786-7a8245ba41a3_500x435.png 848w, https://substackcdn.com/image/fetch/$s_!K-29!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7854c9c8-c912-4d2c-8786-7a8245ba41a3_500x435.png 1272w, https://substackcdn.com/image/fetch/$s_!K-29!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7854c9c8-c912-4d2c-8786-7a8245ba41a3_500x435.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Me, sometimes when doing analytics</figcaption></figure></div><p>Why isn't a free <a href="https://www.reforge.com/explore/data-analysis">Reforge for data analysis</a>?<br>Why isn't a free Reforge for data stack?<br>If there is any, please point them out to me.</p><p>Yes, each company has a different set of data and contexts that makes one analysis hard to reproduce in another set.</p><p>Building a cohort analysis, a bar chart with time on the x-axis and a metric on the axis, or a pie chart that nobody will look at<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>: all these always have a common ground.</p><p>The core issue on this is two-fold: we build our charts without reusability in mind. And we build them with tools that make it hard to reproduce them.</p><p>"BI as Code" isn't a new trend out of thin air. It's again the realization that code is a necessary need to build up on our work. To do reusable work.</p><p>Yes, it's most of the time harder than drag and drop in the first place. But recent advances in <a href="https://www.rilldata.com/">tools</a>, <a href="https://www.malloydata.dev/">languages</a>, and <a href="https://www.anthropic.com/claude">support</a>, make our stall spaces starting to move forward again.</p><p>I'm craving for the common ground and "first go to" analysis every company is doing. Can we automate it? Make a template out of it?<br>If the inputs are an <a href="https://www.activityschema.com/">activity schema model</a> or a classic dim &amp; fact architecture, could I write a <a href="https://docs.malloydata.dev/documentation/patterns/cohorts">Malloy code</a>, a <a href="https://cube.dev/">Cube specification</a>, or a <a href="https://www.rilldata.com/">Rill declarative dashboard</a> that will fit many cases?<br>Where is this library of analysis reusability and the community that goes with it?</p><p>I'm exploring such a possibility and launching an MVP. Feel free to contact me if this means anything to you!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://fromanengineersight.substack.com/p/issue-44-the-reusability-lag/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://fromanengineersight.substack.com/p/issue-44-the-reusability-lag/comments"><span>Leave a comment</span></a></p><div><hr></div><h1>&#128225; Expected Contents</h1><h3>Lessons Learned Implementing Metric Trees</h3><p>I recently had a nice call with a Head of Data: he struggled with shadow data practices and tons of data to expose.<br>It's hard to prioritize the next dashboards, the next north star metric, the next SQL queries.<br>This nice interview traces back to the implementation of the <a href="https://www.youtube.com/watch?v=Dbr8jmtfZ7Q&amp;feature=youtu.be">metric tree</a> in a startup. As for the <a href="https://thedataplatform.substack.com/p/issue-15-can-activity-schemas-replace">activity schema</a>, it's great to see these implementations of new data frameworks taking life in real companies.<br>I can't wait to read similar feedback<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/p/lessons-learned-implementing-metric&quot;,&quot;text&quot;:&quot;&#128073; Read the interview&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://sqlpatterns.com/p/lessons-learned-implementing-metric"><span>&#128073; Read the interview</span></a></p><div><hr></div><h3>The Icerberg Scam?</h3><p>I recently wanted to deep dive into S3 tables and how to use DuckDB as the query engine here.<br>I quickly stopped as per the screenshot below and <a href="https://dataengineeringcentral.substack.com/i/152565348/this-is-where-things-get-funny-and-disappointing">this great post</a> it's only possible to access these S3 tables with Apache Spark as an open-source query engine.<br>Yes, it's not related to Apache Iceberg per se. Still, from discussions with some pairs in the field, it sounds like Databricks or Snowflake are the only "serious" (not too painful) way to go. But then I feel the promises of "open" table format and cost reduction aren't satisfied.</p><p>Again, it's a very new field, but my main point here is why we care so much right now?<br>I mean, we have great data warehouses. It's not that expensive. Especially knowing <a href="https://motherduck.com/blog/big-data-is-dead/">we don't have big data</a> and the promise is to create value out of the data. Not reducing costs as the main focus.<br>To me, it sounds like a very engineering subject. Trendy because the macro-economic trend is about cost reduction and efficiency. But having our engineers focus on implementing a lakehouse while our data models are still crappy and hard to maintain sounds like a suboptimal path to me. Ahead of phase.</p><p>I might be wrong and too opinionated on this. What's your view?<br>Sounds like our busyness isn't that much focus on the business recently.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4HEN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d985c9c-b4e3-4fe2-9bcb-f1c53c9a8872_2308x1104.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4HEN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d985c9c-b4e3-4fe2-9bcb-f1c53c9a8872_2308x1104.png 424w, https://substackcdn.com/image/fetch/$s_!4HEN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d985c9c-b4e3-4fe2-9bcb-f1c53c9a8872_2308x1104.png 848w, https://substackcdn.com/image/fetch/$s_!4HEN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d985c9c-b4e3-4fe2-9bcb-f1c53c9a8872_2308x1104.png 1272w, https://substackcdn.com/image/fetch/$s_!4HEN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d985c9c-b4e3-4fe2-9bcb-f1c53c9a8872_2308x1104.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4HEN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d985c9c-b4e3-4fe2-9bcb-f1c53c9a8872_2308x1104.png" width="1456" height="696" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d985c9c-b4e3-4fe2-9bcb-f1c53c9a8872_2308x1104.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:696,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:353017,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4HEN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d985c9c-b4e3-4fe2-9bcb-f1c53c9a8872_2308x1104.png 424w, https://substackcdn.com/image/fetch/$s_!4HEN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d985c9c-b4e3-4fe2-9bcb-f1c53c9a8872_2308x1104.png 848w, https://substackcdn.com/image/fetch/$s_!4HEN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d985c9c-b4e3-4fe2-9bcb-f1c53c9a8872_2308x1104.png 1272w, https://substackcdn.com/image/fetch/$s_!4HEN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d985c9c-b4e3-4fe2-9bcb-f1c53c9a8872_2308x1104.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>dbt, sdf, sqlmesh, quary</h3><p>We're seeing the SQL for analytics world converging. <a href="https://www.getdbt.com/blog/dbt-labs-acquires-sdf-labs">dbt aquired sdf</a>. <a href="https://tobikodata.com/tobiko-acquires-quary.html">sqlmesh acquired quary</a>.<br>I recently built a full data model using only BigQuery views and corresponding Terraform declarations. Don't get me wrong, I started by using SQLMesh. But in the end, these tools are only necessary when you have a strong team of analysts and you want to enforce some best practices. In my case, I was alone, and without tons of data sources to gather.<br>It's ok to schedule queries for partition creation, to create views of views, to template queries in plain Python. To simply make things done, without creating a monster of dependancies.</p><p>These new frameworks are new and are mostly glue allowing to template SQL because we lack a proper lingua for the stuff we want to do.<br>Something I learned in the past 5 years: don't use a framework because it's trendy. Because it's what everyone is doing.<br>Use it when you know your incentives. <strong>When you explicitly need a frame to scale your work. That's the goal of a framework.</strong></p><div><hr></div><h3>About Super-Intelligence</h3><p>I still don't know how much I should deep into the AI subject<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a>. I sometimes think about all these engineers, all these prompts, all these new models, etc. As we are probably approaching the end of the "early adopter" curve, it might be the time isn't?</p><p>If like me you're looking for a great resource for getting the big picture, I can't recommend more Leopold Aschenbrenner's blog. He is an ex-Open AI and has written a huge series of posts regarding AI and the superintelligence singularity.</p><p>Take a big cup of coffee before pulling these threads.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://situational-awareness.ai/&quot;,&quot;text&quot;:&quot;&#129525; Threads about AI&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://situational-awareness.ai/"><span>&#129525; Threads about AI</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cM7H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad7eaf6d-1092-45ab-a6c7-d70f3ce4ee72_1113x370.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cM7H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad7eaf6d-1092-45ab-a6c7-d70f3ce4ee72_1113x370.png 424w, https://substackcdn.com/image/fetch/$s_!cM7H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad7eaf6d-1092-45ab-a6c7-d70f3ce4ee72_1113x370.png 848w, https://substackcdn.com/image/fetch/$s_!cM7H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad7eaf6d-1092-45ab-a6c7-d70f3ce4ee72_1113x370.png 1272w, https://substackcdn.com/image/fetch/$s_!cM7H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad7eaf6d-1092-45ab-a6c7-d70f3ce4ee72_1113x370.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cM7H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad7eaf6d-1092-45ab-a6c7-d70f3ce4ee72_1113x370.png" width="1113" height="370" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ad7eaf6d-1092-45ab-a6c7-d70f3ce4ee72_1113x370.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:370,&quot;width&quot;:1113,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56522,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cM7H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad7eaf6d-1092-45ab-a6c7-d70f3ce4ee72_1113x370.png 424w, https://substackcdn.com/image/fetch/$s_!cM7H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad7eaf6d-1092-45ab-a6c7-d70f3ce4ee72_1113x370.png 848w, https://substackcdn.com/image/fetch/$s_!cM7H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad7eaf6d-1092-45ab-a6c7-d70f3ce4ee72_1113x370.png 1272w, https://substackcdn.com/image/fetch/$s_!cM7H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad7eaf6d-1092-45ab-a6c7-d70f3ce4ee72_1113x370.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h1>&#128240; The Blog Post</h1><p>Last month I wrote about a more realistic call regarding my "SQL is not designed for analytics" views. I still stand by this opinion, but to move forward we need small steps. We need to be pragmatic. That's what I'm exploring in this blog, with BigFunctions as one solution in this complex equation.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;63424e85-7bdf-47c0-8c09-9d101f3698a4&quot;,&quot;caption&quot;:&quot;Reminder: code is technical debt. The optimal spot for engineers is to write the least code possible but still write code.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Beyond SQL as a Pure Database Syntax&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:23621089,&quot;name&quot;:&quot;Benoit Pimpaud&quot;,&quot;bio&quot;:&quot;Writing From An Engineer Sight, a periodic about data, engineering and design.\nhttps://fromanengineersight.substack.com/&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1700bc2d-b494-49e4-b282-f061f189382a_2883x2883.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-14T16:42:45.178Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd6118f-ea2e-47b3-9f14-bc84fe233d4e_1379x1241.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://fromanengineersight.substack.com/p/beyond-sql-as-a-pure-database-syntax&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:154289973,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:5,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;From An Engineer Sight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1fb566-11bb-440e-8967-9104b1b75049_256x256.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://fromanengineersight.substack.com/p/issue-44-the-reusability-lag?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading From An Engineer Sight! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://fromanengineersight.substack.com/p/issue-44-the-reusability-lag?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://fromanengineersight.substack.com/p/issue-44-the-reusability-lag?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><h1>&#127912; Beyond The Bracket</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sLVM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d7fca2e-e3d9-4049-a803-7ec4176bebed_2456x3473.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sLVM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d7fca2e-e3d9-4049-a803-7ec4176bebed_2456x3473.png 424w, https://substackcdn.com/image/fetch/$s_!sLVM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d7fca2e-e3d9-4049-a803-7ec4176bebed_2456x3473.png 848w, https://substackcdn.com/image/fetch/$s_!sLVM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d7fca2e-e3d9-4049-a803-7ec4176bebed_2456x3473.png 1272w, https://substackcdn.com/image/fetch/$s_!sLVM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d7fca2e-e3d9-4049-a803-7ec4176bebed_2456x3473.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sLVM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d7fca2e-e3d9-4049-a803-7ec4176bebed_2456x3473.png" width="486" height="687.2760989010989" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d7fca2e-e3d9-4049-a803-7ec4176bebed_2456x3473.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2059,&quot;width&quot;:1456,&quot;resizeWidth&quot;:486,&quot;bytes&quot;:11581528,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sLVM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d7fca2e-e3d9-4049-a803-7ec4176bebed_2456x3473.png 424w, https://substackcdn.com/image/fetch/$s_!sLVM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d7fca2e-e3d9-4049-a803-7ec4176bebed_2456x3473.png 848w, https://substackcdn.com/image/fetch/$s_!sLVM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d7fca2e-e3d9-4049-a803-7ec4176bebed_2456x3473.png 1272w, https://substackcdn.com/image/fetch/$s_!sLVM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d7fca2e-e3d9-4049-a803-7ec4176bebed_2456x3473.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Made this using Midjourney and oiling on prompts</figcaption></figure></div><p>It's amazing how quickly Midjourney blog header images went from a "cool way to stand out" to a "sign of low-effort content".<br>Long-time readers know how much I care about aesthetics, and especially about <a href="https://liminalduality.substack.com/">photography</a>. And my profound connection to identity.</p><p>I craft most of this newsletter and blog post manually, without AI intervention. I remain an optimist and technology enthusiast, so I primarily use AI as an editorial assistant. It performs admirably, allowing me to preserve my voice while benefiting from precise proofreading and grammatical checks.</p><p>On the same spot, my most compelling reads emerge from authentic writers. My favorites are those with unmistakable, distinctive styles. Pieces that create an immediate sense of intimacy and comfort. As if we're long-time friends sharing an unspoken understanding.</p><p>In an era where AI usage will become as commonplace as using Google Docs, I might take advantage of this new paradigm. Yet, ultimately, the core of my writing&#8212;the essence of my voice&#8212;resides in my daily experiences, in spontaneous conversations, in those crumpled notebook pages, and scattered iPhone notes. Not in the sterile output of a generic AI prompt interface.</p><p>At work, I've been doing similar things. These past weeks, I focused on building a data model. I used AI a bit: to clean up my database schema and check my metrics. The real work was connecting ideas, testing assumptions, and designing solutions. The final result matches a specific case that would be hard to create through simple prompting.</p><div><hr></div><p>I feel like I got a life upgrade recently. Though work. Heart loaded. It feels like my meaning-making delta isn't in sync with my current version of self.</p><p>Yet, I know that everything will ultimately clock together. As usual, in the months to come.</p><p>The writing I'm putting out right now is probably the last bit of a me.<br>And so, the reading I'm discovering right now is probably the first bit of a new me.</p><p>See you in March &#9728;&#65039;</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>because pie charts are usually not a good idea. Please stop using them.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>did a bunch of data modeling recently. Will probably come back with my experience feedback in a dedicated post. Please add a comment if you had any experience with data modeling implementation recently!</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>also exploring <a href="https://www.anthropic.com/news/model-context-protocol">Model Context Protocol</a> recently.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Beyond SQL as a Pure Database Syntax]]></title><description><![CDATA[Reminder: code is technical debt. The optimal spot for engineers is to write the least code possible but still write code.]]></description><link>https://fromanengineersight.substack.com/p/beyond-sql-as-a-pure-database-syntax</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/beyond-sql-as-a-pure-database-syntax</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Tue, 14 Jan 2025 16:42:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Pmed!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd6118f-ea2e-47b3-9f14-bc84fe233d4e_1379x1241.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Pmed!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd6118f-ea2e-47b3-9f14-bc84fe233d4e_1379x1241.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Pmed!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd6118f-ea2e-47b3-9f14-bc84fe233d4e_1379x1241.png 424w, https://substackcdn.com/image/fetch/$s_!Pmed!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd6118f-ea2e-47b3-9f14-bc84fe233d4e_1379x1241.png 848w, https://substackcdn.com/image/fetch/$s_!Pmed!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd6118f-ea2e-47b3-9f14-bc84fe233d4e_1379x1241.png 1272w, https://substackcdn.com/image/fetch/$s_!Pmed!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd6118f-ea2e-47b3-9f14-bc84fe233d4e_1379x1241.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Pmed!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd6118f-ea2e-47b3-9f14-bc84fe233d4e_1379x1241.png" width="1379" height="1241" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ccd6118f-ea2e-47b3-9f14-bc84fe233d4e_1379x1241.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1241,&quot;width&quot;:1379,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1468058,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Pmed!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd6118f-ea2e-47b3-9f14-bc84fe233d4e_1379x1241.png 424w, https://substackcdn.com/image/fetch/$s_!Pmed!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd6118f-ea2e-47b3-9f14-bc84fe233d4e_1379x1241.png 848w, https://substackcdn.com/image/fetch/$s_!Pmed!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd6118f-ea2e-47b3-9f14-bc84fe233d4e_1379x1241.png 1272w, https://substackcdn.com/image/fetch/$s_!Pmed!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd6118f-ea2e-47b3-9f14-bc84fe233d4e_1379x1241.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Reminder: <a href="https://fromanengineersight.substack.com/p/issue-40-code-is-technical-debt">code is technical debt</a>. The optimal spot for engineers is to write the least code possible but still write code.</p><p>And SQL makes this particularly painful. Like every data person, I've written my share of 300+ line queries - cluttered with nested CASE WHEN statements, complex window functions, and endless ORDER BY clauses. We've all been there.</p><p>It&#8230;</p>
      <p>
          <a href="https://fromanengineersight.substack.com/p/beyond-sql-as-a-pure-database-syntax">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Issue 43 - The Best Code You Never Wrote]]></title><description><![CDATA[5 blogs at a time, special discount]]></description><link>https://fromanengineersight.substack.com/p/issue-43-the-best-code-you-never</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/issue-43-the-best-code-you-never</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Sun, 05 Jan 2025 16:42:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!L1HN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb1c368-975b-43cf-a22f-32458070484e_1520x1064.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L1HN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb1c368-975b-43cf-a22f-32458070484e_1520x1064.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L1HN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb1c368-975b-43cf-a22f-32458070484e_1520x1064.png 424w, https://substackcdn.com/image/fetch/$s_!L1HN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb1c368-975b-43cf-a22f-32458070484e_1520x1064.png 848w, https://substackcdn.com/image/fetch/$s_!L1HN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb1c368-975b-43cf-a22f-32458070484e_1520x1064.png 1272w, https://substackcdn.com/image/fetch/$s_!L1HN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb1c368-975b-43cf-a22f-32458070484e_1520x1064.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L1HN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb1c368-975b-43cf-a22f-32458070484e_1520x1064.png" width="1456" height="1019" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cfb1c368-975b-43cf-a22f-32458070484e_1520x1064.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1019,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1405031,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!L1HN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb1c368-975b-43cf-a22f-32458070484e_1520x1064.png 424w, https://substackcdn.com/image/fetch/$s_!L1HN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb1c368-975b-43cf-a22f-32458070484e_1520x1064.png 848w, https://substackcdn.com/image/fetch/$s_!L1HN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb1c368-975b-43cf-a22f-32458070484e_1520x1064.png 1272w, https://substackcdn.com/image/fetch/$s_!L1HN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb1c368-975b-43cf-a22f-32458070484e_1520x1064.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by Mark Peckmezian</figcaption></figure></div><p><a href="https://fromanengineersight.substack.com/p/issue-40-code-is-technical-debt">Code is technical debt</a>. The optimal spot for engineers is to write the least code possible but still write code<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>.</p><p>Nowadays we might write our code with Cursor, Windsurf, etc. <a href="https://getgalaxy.io/">We even design new code editors</a>. But we still want to write code. Not pure text in natural language.</p><blockquote><p>Expecting users to primarily interact with software in natural language is lazy.<br>It puts all the burden on the user to articulate good questions. What to ask, when to ask it, how to ask it, to make sense of the response, and then to repeat that many times.<br>But a user may not know what they don't know.<br>A good user interface let's me iteratively and incrementally explore the problem and solution space in a variety of ways.<br>A great user interface guides me and offers nudges.<br>Couldn't a natural language interface help with that?<br>Certainly.<br>But not as the only option. Probably not even the main interface.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p></blockquote><p>Writing code is basically rendering semantics in a given syntax. The semantic is the problem to solve, the syntax is our 300 lines of SQL. The sweet spot of this journey is when our syntax is neat and close to our semantic.</p><p>And this is hard to get.<br>Especially since our semantics are getting blurry as everything is getting faster and wider in our problem space. And our syntaxes - interfaces - <a href="https://medium.pimpaudben.fr/sql-is-not-designed-for-analytics-079fc97b139c">are old</a>.</p><p>Also, our data stacks - interfaces - are planned through tools and silos. So we get tools and silos. But I come to realize that if you plan for insights and activation, you get insights and activation.<br>The data-to-insight-to-action motion doesn't come out of thin air. We still need interfaces. We still want to write code (again, the least possible).<br>But for now, the code we write is far from our semantics. The insight-to-action motion propelled by our tools sounds to be on a good dynamic: it's the dashboard, the Slack alerts, the o3-based RAG.<br>But the first part, the data-to-insight, doesn't feel well designed. It's too long codebases. It's not functional. It misses proper interfaces.</p><p>I long to see how <a href="https://www.malloydata.dev/">new languages</a>, <a href="https://cube.dev/">new layers</a>, and ultimately <a href="https://getnao.io/">new UI</a>, will move us closer to that sweet spot.</p><div><hr></div><h1>&#128225; Expected Contents</h1><h3>Code Fast</h3><p>And so you want to write code. Welcome!<br>I recently wanted to move forward on my web development learning. These last quarters I ultimately failed on this: learning Next.js, HTTP serving in Go and basic authentication, etc. I learned tons of things but didn't ship anything serious.</p><p>Following solopreneurs out there, the recent course from Marc Lou hits at the perfect time. It doesn't go through days of lessons to learn all the details of React frameworks: it's 12 hours of videos and tips to learn how to ship a project - serving actual customers.</p><p>If like me you're not looking to only sharpen your coding skills but also ship something: I urge you to follow Marc and look through his course.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.youtube.com/@marc-lou&quot;,&quot;text&quot;:&quot;&#128073; Marc's Vlog&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.youtube.com/@marc-lou"><span>&#128073; Marc's Vlog</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://codefa.st/?via=benoit&quot;,&quot;text&quot;:&quot;&#128073; Learn with Codefast&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://codefa.st/?via=benoit"><span>&#128073; Learn with Codefast</span></a></p><div><hr></div><h3>Ikea Oriented Development</h3><blockquote><p>If you have a hammer and screwdriver, you can build Ikea furniture. Everything else comes in the box. Nobody wants to hunt for a 6.2mm allen key when what you really need is a bookshelf.<br>[...]<br>In the computing world, screws are made of plaintext, HTTP, etc. Today's shells and standard libraries offer ubiquitous screwdrivers like Regex manipulation, HTTP processing, and JSON parsing.<br>If you can't bundle allen keys for your hex fasteners, stick to screws. Likewise, if you lack the engineering resources to support multiple SDKs, make damn sure your web API is easy enough to access with curl.<br>My MarioKart 64 cartridge probably won't inform me that Python2.7 was deprecated. If your program isn't designed to work 20 years from now, it won't.</p></blockquote><p>Again a great post on why <a href="app://obsidian.md/04%20Outputs/Newsletter/Issue%2037%20-%20Software%20should%20be%20soft.md">software should be soft</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://taylor.town/ikea-oriented-development&quot;,&quot;text&quot;:&quot;&#128073; Ikea Oriented-Development&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://taylor.town/ikea-oriented-development"><span>&#128073; Ikea Oriented-Development</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xROl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c778281-7b7a-4f3e-9003-40f7584ea23b_1536x521.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xROl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c778281-7b7a-4f3e-9003-40f7584ea23b_1536x521.png 424w, https://substackcdn.com/image/fetch/$s_!xROl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c778281-7b7a-4f3e-9003-40f7584ea23b_1536x521.png 848w, https://substackcdn.com/image/fetch/$s_!xROl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c778281-7b7a-4f3e-9003-40f7584ea23b_1536x521.png 1272w, https://substackcdn.com/image/fetch/$s_!xROl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c778281-7b7a-4f3e-9003-40f7584ea23b_1536x521.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xROl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c778281-7b7a-4f3e-9003-40f7584ea23b_1536x521.png" width="512" height="173.71428571428572" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c778281-7b7a-4f3e-9003-40f7584ea23b_1536x521.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:494,&quot;width&quot;:1456,&quot;resizeWidth&quot;:512,&quot;bytes&quot;:60872,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xROl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c778281-7b7a-4f3e-9003-40f7584ea23b_1536x521.png 424w, https://substackcdn.com/image/fetch/$s_!xROl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c778281-7b7a-4f3e-9003-40f7584ea23b_1536x521.png 848w, https://substackcdn.com/image/fetch/$s_!xROl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c778281-7b7a-4f3e-9003-40f7584ea23b_1536x521.png 1272w, https://substackcdn.com/image/fetch/$s_!xROl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c778281-7b7a-4f3e-9003-40f7584ea23b_1536x521.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h3>Make it ephemeral</h3><blockquote><p>In the physical world, much of what we create has a natural tendency to decay and that is really useful information. A sticky note on a monitor gathers dust and fades. A notebook fills with notes and random scribbles, becomes worn, and eventually ends up in a cabinet to finally end its life discarded in a bin. We probably all clear out our desk every couple of months, tossing outdated items to keep the space manageable. When I do that, a key part of this is quickly judging how &#8220;old&#8221; some paper looks. But even without regular cleaning, things are naturally lost or discarded over time on my desk. Yet software rarely behaves this way. I think that&#8217;s a problem.</p></blockquote><p>Great call on how "skeuomorphism" can be an important concept to consider when designing software and pipelines. In our digital world, legacy stuff is such a headache while the physical world just seems to roll with it naturally.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://lucumr.pocoo.org/2024/10/30/make-it-ephemeral/&quot;,&quot;text&quot;:&quot;&#128073; Read the post&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://lucumr.pocoo.org/2024/10/30/make-it-ephemeral/"><span>&#128073; Read the post</span></a></p><div><hr></div><h3>Why software only moves forward</h3><blockquote><p>Once you save state, your code will need to understand that state forever. This is double true for state that leaves your system and becomes distributed.</p></blockquote><p>Kinda echo the previous link above - nice write-up on how data makes things only move forward in the way we design states and corresponding software.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://swizec.com/blog/why-software-only-moves-forward/&quot;,&quot;text&quot;:&quot;&#128073; Read the post&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://swizec.com/blog/why-software-only-moves-forward/"><span>&#128073; Read the post</span></a></p><div><hr></div><h1>&#128240; The Blog Post</h1><p>Ok, I'm writing five blogs at the same time. It's probably not the best way to ship one each month. So, here we go again with no proper blog post...</p><p>Since I enabled paid subscriptions on this newsletter, I only sent posts under paywall to corresponding subscribers - I didn't want to spam your inbox too much. </p><p>Starting next year I'll try to send them to everyone here. I'm expecting some drops in subscriptions. That's fair enough :)</p><p>If you want to give it a try, here is a discount for the new year &#128521;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://fromanengineersight.substack.com/subscribe?coupon=e77ad414&amp;utm_content=153758175&quot;,&quot;text&quot;:&quot;Get 50% off for 1 year&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://fromanengineersight.substack.com/subscribe?coupon=e77ad414&amp;utm_content=153758175"><span>Get 50% off for 1 year</span></a></p><p>You can get a taste with this last post I wrote a few months ago:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;6a6e9344-0903-4fc6-876c-3629a69b9262&quot;,&quot;caption&quot;:&quot;We often get questions like &#8220;What&#8217;s the difference between a BI engineer and a data engineer&#8221;? &#8220;Is the analytics engineer the new BI engineer&#8221;?&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Data Engineer is a Transitional Job&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:23621089,&quot;name&quot;:&quot;Benoit Pimpaud&quot;,&quot;bio&quot;:&quot;Writing From An Engineer Sight, a periodic about data, engineering and design.\nhttps://fromanengineersight.substack.com/&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1700bc2d-b494-49e4-b282-f061f189382a_2883x2883.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-12-26T17:46:41.612Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a627989-8900-4353-ae9b-d78194c0e3a0_1400x933.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://fromanengineersight.substack.com/p/data-engineer-is-a-transitional-job&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:153645872,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;From An Engineer Sight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1fb566-11bb-440e-8967-9104b1b75049_256x256.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h1> &#127912; Beyond The Bracket</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Zn69!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee44d35-f978-4826-a05a-60cc35e65437_1737x1140.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Zn69!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee44d35-f978-4826-a05a-60cc35e65437_1737x1140.png 424w, https://substackcdn.com/image/fetch/$s_!Zn69!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee44d35-f978-4826-a05a-60cc35e65437_1737x1140.png 848w, https://substackcdn.com/image/fetch/$s_!Zn69!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee44d35-f978-4826-a05a-60cc35e65437_1737x1140.png 1272w, https://substackcdn.com/image/fetch/$s_!Zn69!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee44d35-f978-4826-a05a-60cc35e65437_1737x1140.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Zn69!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee44d35-f978-4826-a05a-60cc35e65437_1737x1140.png" width="1456" height="956" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6ee44d35-f978-4826-a05a-60cc35e65437_1737x1140.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:956,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1937344,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Zn69!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee44d35-f978-4826-a05a-60cc35e65437_1737x1140.png 424w, https://substackcdn.com/image/fetch/$s_!Zn69!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee44d35-f978-4826-a05a-60cc35e65437_1737x1140.png 848w, https://substackcdn.com/image/fetch/$s_!Zn69!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee44d35-f978-4826-a05a-60cc35e65437_1737x1140.png 1272w, https://substackcdn.com/image/fetch/$s_!Zn69!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee44d35-f978-4826-a05a-60cc35e65437_1737x1140.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As I delve deep into our daily syntax and semantics, I find myself stepping back to contemplate how natural language has evolved. Here again: semantics evolve constantly - as our world change - but syntaxes root themselves in different timeframes.</p><p>Just look at how the Latin alphabet roots itself from older syntaxes. That's a good reminder not to get caught up chasing new syntaxes just to match the semantics we want to push forward. Syntaxes move slower, so we need to find those subtle tweaks that'll actually give us something workable.<br>Again, <a href="https://medium.pimpaudben.fr/sql-is-not-designed-for-analytics-079fc97b139c">SQL isn't designed for analytics</a>, but it's still doing a great job at it. We have new <a href="https://www.getdbt.com/">frameworks</a> and <a href="https://unytics.io/bigfunctions/">tools</a> that improve it along the way. Same with JavaScript - yes, new frameworks pop up constantly, but the core JavaScript that <a href="https://abhisaha.com/blog/exploring-browser-rendering-process/">renders HTML and CSS</a> dynamically in our browser hasn't really changed.</p><p>So here we are again; using <a href="https://arc.net/l/quote/xdmhwbmk">a 30 years old alphabet</a>. A <a href="https://research.google/pubs/sql-has-problems-we-can-fix-them-pipe-syntax-in-sql/">civilization try to make it move forward</a>. A prophet<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a> <a href="https://benn.substack.com/p/has-sql-gone-too-far">asks good questions</a>.<br>The only thing I can take action on now is to write it thoughtfully, as little as possible, but still write with it.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://fromanengineersight.substack.com/p/issue-43-the-best-code-you-never?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading From An Engineer Sight! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://fromanengineersight.substack.com/p/issue-43-the-best-code-you-never?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://fromanengineersight.substack.com/p/issue-43-the-best-code-you-never?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p>Here we go for 2025!</p><p>I'm personally so grateful for the things I accomplished in 2024: giving a course to final-year students, learning tons of things about product and sales motions at work, speaking in front of 300 people, etc.</p><p>2025 already looks promising! </p><p>I wish you the best for the next convolution around the sun &#9728;&#65039;</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>The syntax you use in the end is not really the matter. Yes <a href="https://juhache.substack.com/p/from-data-engineer-to-yaml-engineer-ed2">YAML engineering</a> is a real thing: YAML is a good high-level interface for keeping operations simple while being declarative.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>https://austinhenley.com/blog/naturallanguageui.html</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Benn if you read this: you get it, don&#8217;t make me wrong &#128521; </p></div></div>]]></content:encoded></item><item><title><![CDATA[Data Engineer is a Transitional Job]]></title><description><![CDATA[We often get questions like &#8220;What&#8217;s the difference between a BI engineer and a data engineer&#8221;?]]></description><link>https://fromanengineersight.substack.com/p/data-engineer-is-a-transitional-job</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/data-engineer-is-a-transitional-job</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Thu, 26 Dec 2024 17:46:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zcbG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a627989-8900-4353-ae9b-d78194c0e3a0_1400x933.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zcbG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a627989-8900-4353-ae9b-d78194c0e3a0_1400x933.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zcbG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a627989-8900-4353-ae9b-d78194c0e3a0_1400x933.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zcbG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a627989-8900-4353-ae9b-d78194c0e3a0_1400x933.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zcbG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a627989-8900-4353-ae9b-d78194c0e3a0_1400x933.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zcbG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a627989-8900-4353-ae9b-d78194c0e3a0_1400x933.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zcbG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a627989-8900-4353-ae9b-d78194c0e3a0_1400x933.jpeg" width="1400" height="933" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a627989-8900-4353-ae9b-d78194c0e3a0_1400x933.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:933,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zcbG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a627989-8900-4353-ae9b-d78194c0e3a0_1400x933.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zcbG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a627989-8900-4353-ae9b-d78194c0e3a0_1400x933.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zcbG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a627989-8900-4353-ae9b-d78194c0e3a0_1400x933.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zcbG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a627989-8900-4353-ae9b-d78194c0e3a0_1400x933.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>We often get questions like &#8220;What&#8217;s the difference between a BI engineer and a data engineer&#8221;? &#8220;Is the analytics engineer the new BI engineer&#8221;?</p><p>Those questions are definitely relevant. Beyond buzz words, they catch the same feeling that data in general, isn&#8217;t really a new field. <a href="https://glossary.airbyte.com/">There are new words around, but the real background behind them is the same as ten years ago</a>&#8230;</p><h1><strong>Back to Business Intelligence</strong></h1><p>Let&#8217;s step back 20 years ago.</p><p>Companies are already using data to make decisions. The paradigm already has a name: Business Intelligence. The main roles regarding data are Database Administrator, Reporting Analyst, and Business Intelligence Manager.</p><p>At this time the data scientist is more of a PhD Researcher and the data engineer doesn&#8217;t really exist.<br>Business Intelligence people deliver insights and rely on proper tools to do so. The end user doesn&#8217;t play with data directly, it asks the BI team for reports.</p><p>No self-service, no Big Data, no neural network, no semantic layer, no cloud provider, no machine learning, etc.</p><p><strong>So what has changed?</strong></p><p><strong>Everything: business plans, economies, compute costs, etc.. But the real thing is &#8220;Big Data&#8221;.</strong><br>Long story short, we live in a world creating way more data than 20 years ago. The velocity, volume, variety, and veracity of data are now huge.</p><p>This new shift brought new opportunities, but it also created new problems that can&#8217;t be solved within the Business Intelligence era.<br>Tools were very restrictive. Compute capacity was not able to handle billions of rows at a daily rate. Data processing couldn&#8217;t be done on high scales.<br>Corollary, people were trained to analyze tabular data and create basic charts. Not to deal with raw images, terabytes of unstructured tables, ingest real-time events, or run predictive analysis&#8230;</p><p>All the tooling has quickly moved to an obsolete state. And to a certain extent, BI people too.</p><h1><strong>Migration to data engineering</strong></h1><p>Then a new era appeared. Data moved to an even more engineer field as it was. Hence the data engineer.</p><p>There are several driving elements behind the shift towards cloud computing and the democratization of big data :</p><ul><li><p><strong>Hardware capability increased</strong> by a big factor.</p></li><li><p><strong>Storage and compute costs decreased</strong> (allowing to store and try things non-fundamental for business at the time, but that would be key for innovation).</p></li><li><p><strong>Storage and compute could scale exponentially while the investment in hardware was quite linear</strong> (for the sake of simplicity: two 8CPU machines are cheaper than a 16CPU one).</p></li><li><p><strong>Networking improved</strong> with higher bandwidth and better technology &#8212; allowing easier data transfer on many nodes.</p></li></ul><p>Those improvements were led by researchers and inside growing startups like Google, Yahoo!, Amazon, and Facebook. All of those companies faced the same challenge of indexing and storing Internet data at scale.</p><p>Quite naturally, some of them saw a disruptive opportunity :</p><blockquote><p><em>&#8220;Hey, we have a lot of computers here ! What if we leverage this computer power to provide cloud-based services to businesses and individuals !?&#8221;</em></p></blockquote><p>Cloud providers were born, several frameworks and code languages have been created, making it possible for businesses of all sizes to access powerful computing resources at a fraction of the cost of building and maintaining their own infrastructure.</p><p><a href="https://towardsdatascience.com/2003-2023-a-brief-history-of-big-data-25712351a6bc">&#128391;&#65039; For more details on the whole history behind &#8220;Big Data&#8221;, read this great article</a></p><p>What we often miss in this new world is how data engineering is essentially a means to keep Business Intelligence practices up to date with the shift toward &#8220;big data&#8221;.</p><p><strong>We build pipelines</strong> with new frameworks and program languages. <strong>BI did too</strong> with Talend, Pentaho, Datapine, MicroStrategy, etc.<br><strong>We build dashboards</strong> with self-service tools. <strong>BI made dashboards too</strong> with SAP Business Objects, SAS Business Intelligence, PowerBI, etc.<br><strong>We schedule jobs</strong>. <strong>BI did too</strong> with Cron, Rundeck, Control-M, and other similar tools.</p><p><strong>Data engineers are to a certain extent a replacement for traditional BI tools.</strong></p><p>When we look closely at those BI tools, we can wonder why we don&#8217;t use them that much nowadays? Why they are not part of the &#8220;Modern Data Stack&#8221; as they still have great features and bundle common services?</p><p>For example, many BI tools offer features like data governance, data quality management, and data lineage tracking: critical components of any modern data stack.</p><p>While data engineers have developed new tools and techniques to extract insights from big data, it&#8217;s essential to remember that many of the core features of BI tools are still relevant today and should not be overlooked.</p><p>The reason that traditional BI tools are not as commonly used today is that they lack the scalability and proper user experience required to handle the amount of data that organizations need to process. With data arriving at a faster pace than ever before, traditional BI tools simply were not designed to handle these constraints.</p><p>Hence the data engineers, are able to process any kind of data, create big data warehouse, and provision self-service data tools.<br>The emergence of a &#8220;modern data stack&#8221; is a direct response to the challenges faced by data engineers. Any new tools in the data industry now are here to enhance and automate the work of data engineers in some way.</p><p>While the technical solutions for managing big data have been available for some time, companies have been hesitant to adopt full automation due to the perception that it was cheaper to hire humans to develop and maintain projects rather than to invest in machines or start automation projects.</p><p>However, with the demand for skilled data engineers increasing and salaries rising in recent years, companies are now seeking new tools and technologies to fill this gap and help automate their data engineering processes. Putting money where there is more value.</p><h1><strong>Driving greater value</strong></h1><p>It&#8217;s interesting to note that the data industry often lags behind the software world by 5 to 10 years.</p><p>We data folks are starting to catch up though, and we&#8217;re adopting some of the same tools and techniques that software engineers have been using for years.</p><p>We end up writing Dockerfile, setting up CI/CD blocks, and using cloud services to host data-intensive applications. If it&#8217;s not DevOps what is it?<br>The data mesh is strongly inspired by software teams. New roles, such as machine learning engineers or analytics engineers are modeled by software needs.</p><p><strong>Just as the front-end world moved from jQuery to React, and operations shifted from bash scripts to tools like Terraform and Kubernetes, the data industry is also moving towards a more declarative paradigm.</strong></p>
      <p>
          <a href="https://fromanengineersight.substack.com/p/data-engineer-is-a-transitional-job">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Issue 42 - Interface Defines the Search Space]]></title><description><![CDATA[On stage at Forward Data Conference]]></description><link>https://fromanengineersight.substack.com/p/issue-42-interface-defines-the-search</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/issue-42-interface-defines-the-search</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Sun, 01 Dec 2024 16:42:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dRsh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295afc97-e6a0-41af-84fe-2f5742853f0d_1199x887.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dRsh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295afc97-e6a0-41af-84fe-2f5742853f0d_1199x887.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dRsh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295afc97-e6a0-41af-84fe-2f5742853f0d_1199x887.png 424w, https://substackcdn.com/image/fetch/$s_!dRsh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295afc97-e6a0-41af-84fe-2f5742853f0d_1199x887.png 848w, https://substackcdn.com/image/fetch/$s_!dRsh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295afc97-e6a0-41af-84fe-2f5742853f0d_1199x887.png 1272w, https://substackcdn.com/image/fetch/$s_!dRsh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295afc97-e6a0-41af-84fe-2f5742853f0d_1199x887.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dRsh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295afc97-e6a0-41af-84fe-2f5742853f0d_1199x887.png" width="1199" height="887" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/295afc97-e6a0-41af-84fe-2f5742853f0d_1199x887.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:887,&quot;width&quot;:1199,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1003504,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dRsh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295afc97-e6a0-41af-84fe-2f5742853f0d_1199x887.png 424w, https://substackcdn.com/image/fetch/$s_!dRsh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295afc97-e6a0-41af-84fe-2f5742853f0d_1199x887.png 848w, https://substackcdn.com/image/fetch/$s_!dRsh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295afc97-e6a0-41af-84fe-2f5742853f0d_1199x887.png 1272w, https://substackcdn.com/image/fetch/$s_!dRsh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295afc97-e6a0-41af-84fe-2f5742853f0d_1199x887.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I'm lucky enough to have a recent shower, which flows hot water from a large shower head. It's a no-brainer, and like many people, it gives my brain a space to wander.</p><p>Last week I washed myself into a fairly old shower, with two taps: hot and cold.</p><p>This one was quite hard to control: the pressure is controlled by the sum of the (position of the) two taps, while their difference controls the temperature.</p><p>It took me several attempts to find the good spot, and then my brain couldn't think anything else than "how broken this interface is"...</p><p>Indeed, the interface we are given here is:</p><ul><li><p>Hot = (1,0)</p></li><li><p>Cold = (0,1)</p></li></ul><p>while what we want is:</p><ul><li><p>Pressure = (1,1)</p></li><li><p>Temperature = (1,-1)</p></li></ul><p>Unknowingly we apply the transformation in our head: <em>&#8220;I'll adjust both taps to increase water pressure while keeping the temperature steady. Oops, now it's too hot. I'll lower the hot tap, but that'll reduce pressure. So I'll turn up the cold tap to maintain the right water flow&#8230;&#8221;</em></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;ea77c9e7-e7a4-4b98-a7e2-148caad27719&quot;,&quot;duration&quot;:null}"></div><p>Beyond the importance of linear algebra to the art of taking showers in older bathrooms, it make me think (again) of how data interfaces are designed.</p><p>Is Tableau an optimal interface for driving decisions?</p><p>Is Excel an optimal interface for drilling down into data?</p><p>Is SQL an optimal interface for doing business analysis?</p><p>Is Python an optimal interface for writing data pipelines?</p><p>My take is that we should be way more intentional in choosing these interfaces.</p><p>Sometimes I feel we are using two-tap interfaces for things that should be brainless, so our actual brain can wander elsewhere.</p><div><hr></div><h1>&#128225; Expected Contents</h1><h3>Hex Explore Feature</h3><p>I only had Hex in the back of my mind, as one out of the many players in the "notebook for analysts" field. The recent Explore feature raised my attention as it seems nicely engineered. I'm about to give it a try soon.<br>Do you already use Hex? I&#8217;m looking for reviews and use cases &#128064;</p><div id="youtube2-ut_w-IrSSnI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ut_w-IrSSnI&quot;,&quot;startTime&quot;:&quot;151s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ut_w-IrSSnI?start=151s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>A take on Medallion Architecture</h3><blockquote><p>I would prefer naming like staging, model and presentation. This is much closer to what people already know and expresses what actually happens in the layers. Bronze, silver and gold make it easier to explain to non-technical users. That&#8217;s the only reason why the product marketers have gone for Medallion architecture, although whether non-technical users really need to understand &#8220;how the sausage is made&#8221; is another question.</p></blockquote><p>I had the chance to meet David at the <a href="https://www.forward-data-conference.com/programme/talks/whats-next-after-sql">Forward Data Conference</a> this week. He wrote this great piece around the Medallion Architecture: it's probably my go-to whenever I'm doing data modeling but like him, I'm starting to think that it's actually not "modeling"...</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://davidsj.substack.com/p/modellion&quot;,&quot;text&quot;:&quot;&#128073; Modellion&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://davidsj.substack.com/p/modellion"><span>&#128073; Modellion</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!O3k_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73750b73-fe81-412b-b078-595338cd0324_684x307.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!O3k_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73750b73-fe81-412b-b078-595338cd0324_684x307.png 424w, https://substackcdn.com/image/fetch/$s_!O3k_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73750b73-fe81-412b-b078-595338cd0324_684x307.png 848w, https://substackcdn.com/image/fetch/$s_!O3k_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73750b73-fe81-412b-b078-595338cd0324_684x307.png 1272w, https://substackcdn.com/image/fetch/$s_!O3k_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73750b73-fe81-412b-b078-595338cd0324_684x307.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!O3k_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73750b73-fe81-412b-b078-595338cd0324_684x307.png" width="684" height="307" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/73750b73-fe81-412b-b078-595338cd0324_684x307.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:307,&quot;width&quot;:684,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:106372,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!O3k_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73750b73-fe81-412b-b078-595338cd0324_684x307.png 424w, https://substackcdn.com/image/fetch/$s_!O3k_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73750b73-fe81-412b-b078-595338cd0324_684x307.png 848w, https://substackcdn.com/image/fetch/$s_!O3k_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73750b73-fe81-412b-b078-595338cd0324_684x307.png 1272w, https://substackcdn.com/image/fetch/$s_!O3k_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73750b73-fe81-412b-b078-595338cd0324_684x307.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>External Intelligence</h3><blockquote><p>I want to explore an idea I call <em>externalized intelligence</em> as an answer to this question.</p><p>Externalized intelligence is when a certain set of knowledge, or a certain type of thinking, is not integrated into the daily activity of the organism and is instead treated as &#8220;importable&#8221; or &#8220;referenceable&#8221; on demand.</p><p>For example, I know the concept of multiplication, and like everyone else, I know how to multiply numbers in my head up to, say, 47 squared. But what sort of &#8220;intelligence&#8221; does it take to multiply 153 by 238?</p><p>Not the kind I care about. I can defer this knowledge to a calculator or to ChatGPT. I can treat it simply as something external to me that can be summoned at will.</p><p>In fact, I would be disturbed if someone were to boast that they spent the weekend learning multiplication tables up to 300 by heart. At a certain point, knowing this begins to make you seem different &#8212; <em>alien</em>.</p><p>This position as an <em>alien intelligence</em> is exactly the position I think many data professionals find themselves falling into at organizations. While his peers may respect or even admire his skill with the numbers, he is nonetheless isolated as someone who is not <em>quite</em> on the same team. He is <em>other</em>.</p></blockquote><p>Exploring an old legendary post from Stephen. Nothing to add to the quote above.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://stkbailey.substack.com/p/data-despair-and-the-flowbee&quot;,&quot;text&quot;:&quot;&#128073; Data, Despair, and the FLOWBEE&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://stkbailey.substack.com/p/data-despair-and-the-flowbee"><span>&#128073; Data, Despair, and the FLOWBEE</span></a></p><div><hr></div><h1>&#128240; The Blog Post</h1><p>Things have been busy these last weeks, so no blog post for this time &#128546;.</p><p>However, got nice discussions and drafts going on! So expect some reading from me in the coming weeks &#128521;</p><p>Especially a follow-up of <a href="https://medium.pimpaudben.fr/sql-is-not-designed-for-analytics-079fc97b139c">this one</a>.</p><div><hr></div><h1>&#127912; Beyond The Bracket</h1><p>Last week, I got the chance to get on stage at the <a href="https://www.forward-data-conference.com/programme/talks/whats-next-after-sql">Forward Data Conference</a>.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZKkm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf55e935-796b-43da-8425-6051719af440_1200x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZKkm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf55e935-796b-43da-8425-6051719af440_1200x1600.png 424w, https://substackcdn.com/image/fetch/$s_!ZKkm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf55e935-796b-43da-8425-6051719af440_1200x1600.png 848w, https://substackcdn.com/image/fetch/$s_!ZKkm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf55e935-796b-43da-8425-6051719af440_1200x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!ZKkm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf55e935-796b-43da-8425-6051719af440_1200x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZKkm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf55e935-796b-43da-8425-6051719af440_1200x1600.png" width="494" height="658.6666666666666" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df55e935-796b-43da-8425-6051719af440_1200x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1600,&quot;width&quot;:1200,&quot;resizeWidth&quot;:494,&quot;bytes&quot;:1505559,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZKkm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf55e935-796b-43da-8425-6051719af440_1200x1600.png 424w, https://substackcdn.com/image/fetch/$s_!ZKkm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf55e935-796b-43da-8425-6051719af440_1200x1600.png 848w, https://substackcdn.com/image/fetch/$s_!ZKkm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf55e935-796b-43da-8425-6051719af440_1200x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!ZKkm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf55e935-796b-43da-8425-6051719af440_1200x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Me on stage :)</figcaption></figure></div><p>Getting on stage with my "SQL is not designed for analytics" hot take in front of 300 people was stressful &#128517;. But I felt on the spot when several C-levels, data influencers, and industry veterans came by to congratulate me, relate to my story, and share that they learned something new.</p><p>The after-talk discussions were amazing. There's a palpable sense that we're all experiencing FOMO around a new paradigm: <strong>Text to SQL is fading, and we're moving toward the "Text to Semantic Layer" era</strong>, here are some references:</p><p>&#128073; <a href="https://www.linkedin.com/in/adeturckheim/">Arnaud de Turckheim</a> (<a href="https://www.linkedin.com/company/castordoc/">CastorDoc</a>) highlighted: "If you dump tons of tables and queries on a new recruit, he won't understand anything without context. The same applies to LLM".<br>&#128073; <a href="https://www.linkedin.com/in/david-jayatillake/">David Jayatillake</a> (<a href="https://www.linkedin.com/company/cube-dev/">Cube</a>) gave a terrific talk about "Text to Semantic Layer". It was interesting to see our talks sharing a common ground in that semantic layer space.<br>&#128073; <a href="https://www.linkedin.com/in/theethanding/">Ethan Ding</a> recent <a href="https://www.linkedin.com/company/textql/">TextQL</a> pivot, see <a href="https://lnkd.in/eATXtJJb">this post</a>.<br>&#128073; <a href="https://www.linkedin.com/company/looker/">Looker</a>'s spiritual successors are emerging: <a href="https://www.malloydata.dev/">Malloy</a> (open-source project at Meta led by Lloyd Tabb), <a href="https://www.linkedin.com/company/exploreomni/">Omni</a> (developed by ex-Looker team)</p><p>We're still in the "evangelism" phase, and the solution landscape remains blurry. But the conversations from last week convinced me that things would unfold soon &#128064;.</p><p>I might deep dive into this subject more in the coming weeks. I'll keep you posted &#128521;</p><div><hr></div><p>This is the last issue of the year &#127876; </p><p>I'm so grateful for these past months and how writing is now entirely part of my routines.<br>I launched recently <a href="https://liminalduality.substack.com/">Liminal Duality</a> as a space to extend this passion. I'm even getting some ghostwriting contracting, and I'm eager to continue developing my skills here.<br>If you're looking to showcase your work, co-write a blog post, or put a vision on paper, do not hesitate to reach out!</p><p>Next year is already calling for great things on my side, and I hope the same for you :)<br>Have a good end-of-year!</p><p>See you soon &#128075;</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>I'll share a recording when it will be available, you can take a look at <a href="https://docs.google.com/presentation/d/1Q97qj76NRGqQxBd6uTFYMIVnW4ZpI5ZJOsSTZ59fV-8/edit?usp=sharing">the slide deck</a> in the meantime.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Issue 41 - What's your weekend plan?]]></title><description><![CDATA[Escaping strategies for vendors lock-in]]></description><link>https://fromanengineersight.substack.com/p/issue-41-whats-your-weekend-plan</link><guid isPermaLink="false">https://fromanengineersight.substack.com/p/issue-41-whats-your-weekend-plan</guid><dc:creator><![CDATA[Benoit Pimpaud]]></dc:creator><pubDate>Thu, 07 Nov 2024 21:32:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vN2S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965e086c-14a2-4bcc-9793-7b5983ea6a48_1200x1200.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vN2S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965e086c-14a2-4bcc-9793-7b5983ea6a48_1200x1200.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vN2S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965e086c-14a2-4bcc-9793-7b5983ea6a48_1200x1200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vN2S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965e086c-14a2-4bcc-9793-7b5983ea6a48_1200x1200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vN2S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965e086c-14a2-4bcc-9793-7b5983ea6a48_1200x1200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vN2S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965e086c-14a2-4bcc-9793-7b5983ea6a48_1200x1200.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vN2S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965e086c-14a2-4bcc-9793-7b5983ea6a48_1200x1200.jpeg" width="1200" height="1200" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/965e086c-14a2-4bcc-9793-7b5983ea6a48_1200x1200.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1200,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Full view&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Full view" title="Full view" srcset="https://substackcdn.com/image/fetch/$s_!vN2S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965e086c-14a2-4bcc-9793-7b5983ea6a48_1200x1200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vN2S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965e086c-14a2-4bcc-9793-7b5983ea6a48_1200x1200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vN2S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965e086c-14a2-4bcc-9793-7b5983ea6a48_1200x1200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vN2S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965e086c-14a2-4bcc-9793-7b5983ea6a48_1200x1200.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p>What's the smartest people do on the weekend is what everyone else will do during the week in ten years</p></blockquote><p>Removing the "smartest people" part, it resonates with how I operated on my weekends during the last few years.</p><p>Back then, I used to work on geeky projects over Sunday. It was all about <a href="https://x.com/Ben8t/status/1849455604856664412">football analytics</a>. The backend dream was to reach a position in a football club, but you know, it was just a dream. I actually never thought that it would happen four years after the first line of code. I was enjoying my learning and applying them using football analytics as an excuse to do nerd stuff.</p><p>In that sense, the weekend version of myself was doing what I would do during the week at <a href="https://x.com/JanVanHaaren/status/1511003282868781063">Olympique De Marseille</a>.</p><p>Today, my nerd stuff over the weekend is about writing, exploring how product distribution works, and coding some <a href="https://charm.sh/">CLI in Go</a><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>.<br>What's the back dream of this? I'm not sure. Probably that trendy solopreneur, CEO-inspired stuff.</p><p>What I'm sure, is that I love what I'm doing right now. I don't have any plans. I just craft. For the pleasure of it. I can't imagine where I would be in 3 years from now. But my gut feeling urges me to continue.</p><p>So let's craft &#128521;</p><div><hr></div><h1>&#128225; Expected Contents</h1><h3>The Configuration Complexity Clock</h3><blockquote><p>I&#8217;m not saying that it&#8217;s never appropriate to implement complex configuration, a rules-engine or a DSL, Indeed I would jump at the chance of building a DSL given the right requirements, but I&nbsp;<em>am</em>&nbsp;saying that you should understand the implications and recognise where you are on the clock before you go down that route.</p></blockquote><p>Nice thinking about when we need a DSL, and when just a simple boiler code might be enough...</p><p>In some senses, it resonates with my recent writing calling for <a href="https://medium.com/p/079fc97b139c">what's next after SQL</a>.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a><br>I do feel we're not using the best language for analytics. It might be the time to move to the next quarter...</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://mikehadlow.blogspot.com/2012/05/configuration-complexity-clock.html&quot;,&quot;text&quot;:&quot;&#128073; Read the post&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://mikehadlow.blogspot.com/2012/05/configuration-complexity-clock.html"><span>&#128073; Read the post</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4Px5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba06d372-5884-4bd6-9295-816b790171e7_567x402.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4Px5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba06d372-5884-4bd6-9295-816b790171e7_567x402.png 424w, https://substackcdn.com/image/fetch/$s_!4Px5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba06d372-5884-4bd6-9295-816b790171e7_567x402.png 848w, https://substackcdn.com/image/fetch/$s_!4Px5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba06d372-5884-4bd6-9295-816b790171e7_567x402.png 1272w, https://substackcdn.com/image/fetch/$s_!4Px5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba06d372-5884-4bd6-9295-816b790171e7_567x402.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4Px5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba06d372-5884-4bd6-9295-816b790171e7_567x402.png" width="567" height="402" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ba06d372-5884-4bd6-9295-816b790171e7_567x402.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:402,&quot;width&quot;:567,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4Px5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba06d372-5884-4bd6-9295-816b790171e7_567x402.png 424w, https://substackcdn.com/image/fetch/$s_!4Px5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba06d372-5884-4bd6-9295-816b790171e7_567x402.png 848w, https://substackcdn.com/image/fetch/$s_!4Px5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba06d372-5884-4bd6-9295-816b790171e7_567x402.png 1272w, https://substackcdn.com/image/fetch/$s_!4Px5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba06d372-5884-4bd6-9295-816b790171e7_567x402.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>The Rise of the Declarative Data Stack</h3><p>I should stop writing on this subject &#128517; But this one from <a href="https://ssp.sh/">Simon</a> couldn't be in this newsletter edition.</p><blockquote><p>A declarative data stack is a set of tools and, precisely, its configs can be thought of as a&nbsp;<strong>single function</strong>&nbsp;such as&nbsp;<code>run_stack(serve(transform(ingest)))</code>&nbsp;that can recreate the entire data stack.<strong>&#8205;</strong></p><p>Instead of having one framework for one piece, we want a combination of multiple tools combined into a single declarative data stack. Like the Modern Data Stack, but integrated the way Kubernetes integrates all infrastructure into a&nbsp;<strong>single deployment</strong>, like YAML.</p></blockquote><p>Simon has again the good words to explain where we aim at (personally speaking, it's my day-to-day at <a href="https://kestra.io/">Kestra</a>), and especially why we need to move on.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.rilldata.com/blog/the-rise-of-the-declarative-data-stack&quot;,&quot;text&quot;:&quot;&#128073; Read the blog post&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.rilldata.com/blog/the-rise-of-the-declarative-data-stack"><span>&#128073; Read the blog post</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dyKh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f421bb4-0078-462c-8e5f-449bb3df9b7a_1600x898.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dyKh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f421bb4-0078-462c-8e5f-449bb3df9b7a_1600x898.png 424w, https://substackcdn.com/image/fetch/$s_!dyKh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f421bb4-0078-462c-8e5f-449bb3df9b7a_1600x898.png 848w, https://substackcdn.com/image/fetch/$s_!dyKh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f421bb4-0078-462c-8e5f-449bb3df9b7a_1600x898.png 1272w, https://substackcdn.com/image/fetch/$s_!dyKh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f421bb4-0078-462c-8e5f-449bb3df9b7a_1600x898.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dyKh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f421bb4-0078-462c-8e5f-449bb3df9b7a_1600x898.png" width="1456" height="817" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f421bb4-0078-462c-8e5f-449bb3df9b7a_1600x898.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:817,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dyKh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f421bb4-0078-462c-8e5f-449bb3df9b7a_1600x898.png 424w, https://substackcdn.com/image/fetch/$s_!dyKh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f421bb4-0078-462c-8e5f-449bb3df9b7a_1600x898.png 848w, https://substackcdn.com/image/fetch/$s_!dyKh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f421bb4-0078-462c-8e5f-449bb3df9b7a_1600x898.png 1272w, https://substackcdn.com/image/fetch/$s_!dyKh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f421bb4-0078-462c-8e5f-449bb3df9b7a_1600x898.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>The Revolving Door of BI</h3><blockquote><p>Since data modeling issues are relatively invisible to the business, it&#8217;s nearly impossible to convince business teams to prioritize improvements until the system starts breaking down. Many engineers can relate if they&#8217;ve ever tried to advocate for refactoring their code. It&#8217;s an invisible problem, that no one cares about until they need to care. And if you&#8217;re at the point where you&nbsp;<em>need</em>&nbsp;to care, then you&#8217;re already in hot water.</p><p>In the context of data, problems often manifest at the BI layer, even though the root cause lies deeper in the stack. This is where the business feels the impact.</p><p>As data teams come under pressure to address the problems, there&#8217;s a natural tendency to focus on the BI platform. Replace the BI tool, solve the problem. It&#8217;s a win-win for data teams. Not only can they avoid the assumption of responsibility, but a migration to a new BI tool also presents an opportunity to refactor some of the messy data models as part of the effort to implement a new BI platform &#8212; a clean slate. There&#8217;s opportunity to deprecate legacy metrics (like &#8220;total desks&#8221; in the WeWork example), and start fresh with up-to-date requirements and cleaned up data models to match.</p><p>The problem is solved for the short term, the data team is the hero, and the cycle begins all over again</p></blockquote><p>Nice post explaining how much BI is trailing when it comes to engineering and especially sustainability. I identify my past self a lot, doing dashboard and asking for more modeling upfront &#128517;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://datafordoers.substack.com/p/the-revolving-door-of-bi&quot;,&quot;text&quot;:&quot;&#128073; Read the blog post&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://datafordoers.substack.com/p/the-revolving-door-of-bi"><span>&#128073; Read the blog post</span></a></p><div><hr></div><h3>Clock speed</h3><p>Great analogy about CPU clock speed and the pace of innovation in our companies.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://sriramk.com/clock-speed&quot;,&quot;text&quot;:&quot;&#128073; Read these few lines&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://sriramk.com/clock-speed"><span>&#128073; Read these few lines</span></a></p><div><hr></div><h1>&#128240; The Blog Post</h1><p>Last month I cross-posted a blog with <a href="https://juhache.substack.com/">Julien</a>. We explored the escaping strategies for vendor lock-in.</p><p>Like everywhere, we should find balance. It's actually not realistic and optimal to escape a vendor lock-in. Sometimes (most of the time?) we just want to get things done. Not using a framework that will create more legacy than outputs.</p><p>We actually want to <a href="https://fromanengineersight.substack.com/p/issue-40-code-is-technical-debt">write as little code as possible</a>.</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:148526839,&quot;url&quot;:&quot;https://juhache.substack.com/p/escaping-vendor-lock-in&quot;,&quot;publication_id&quot;:1211981,&quot;publication_name&quot;:&quot;Ju Data Engineering Newsletter&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe044cc0d-085a-4edc-b634-7f26d8a5d78c_400x400.png&quot;,&quot;title&quot;:&quot;Escaping Vendor Lock-In&quot;,&quot;truncated_body_text&quot;:&quot;Bonjour!&quot;,&quot;date&quot;:&quot;2024-09-05T12:43:49.189Z&quot;,&quot;like_count&quot;:21,&quot;comment_count&quot;:5,&quot;bylines&quot;:[{&quot;id&quot;:35734446,&quot;name&quot;:&quot;Julien Hurault&quot;,&quot;handle&quot;:&quot;juhache&quot;,&quot;previous_name&quot;:&quot;Julien&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c58ce4-f4f1-4eac-854c-a32157cb7b5a_499x579.png&quot;,&quot;bio&quot;:&quot;https://www.linkedin.com/in/julienhuraultanalytics/&quot;,&quot;profile_set_up_at&quot;:&quot;2023-01-17T06:50:54.627Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:1167268,&quot;user_id&quot;:35734446,&quot;publication_id&quot;:1211981,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:1211981,&quot;name&quot;:&quot;Ju Data Engineering Newsletter&quot;,&quot;subdomain&quot;:&quot;juhache&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Each week, I explore and write about the latest tools and best practices for building data platforms.&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e044cc0d-085a-4edc-b634-7f26d8a5d78c_400x400.png&quot;,&quot;author_id&quot;:35734446,&quot;theme_var_background_pop&quot;:&quot;#EA82FF&quot;,&quot;created_at&quot;:&quot;2022-11-25T19:03:28.694Z&quot;,&quot;rss_website_url&quot;:null,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;Ju Hache&quot;,&quot;founding_plan_name&quot;:&quot;Founding Member&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;paused&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;ju_hache&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null},{&quot;id&quot;:23621089,&quot;name&quot;:&quot;Benoit Pimpaud&quot;,&quot;handle&quot;:&quot;fromanengineersight&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1700bc2d-b494-49e4-b282-f061f189382a_2883x2883.jpeg&quot;,&quot;bio&quot;:&quot;Writing From An Engineer Sight, a periodic about data, engineering and design.\nhttps://fromanengineersight.substack.com/&quot;,&quot;profile_set_up_at&quot;:&quot;2021-11-29T14:56:52.665Z&quot;,&quot;twitter_screen_name&quot;:&quot;Ben8t&quot;,&quot;is_guest&quot;:true,&quot;bestseller_tier&quot;:null,&quot;primaryPublicationId&quot;:256742,&quot;primaryPublicationName&quot;:&quot;From An Engineer Sight&quot;,&quot;primaryPublicationUrl&quot;:&quot;https://fromanengineersight.substack.com&quot;,&quot;primaryPublicationSubscribeUrl&quot;:&quot;https://fromanengineersight.substack.com/subscribe?&quot;}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://juhache.substack.com/p/escaping-vendor-lock-in?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!q7Ds!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe044cc0d-085a-4edc-b634-7f26d8a5d78c_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Ju Data Engineering Newsletter</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Escaping Vendor Lock-In</div></div><div class="embedded-post-body">Bonjour&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">a year ago &#183; 21 likes &#183; 5 comments &#183; Julien Hurault and Benoit Pimpaud</div></a></div><div><hr></div><h1>&#127912; Beyond The Bracket</h1><p>Last month I played golf for the first time. I loved it!<br>The sensation of a good drive while walking in nature is the liminal space I'm constantly looking for.<br>It also reminds me of how I enjoyed mini-golf when I was a kid. And how much I found joy in my daily work. Even on the bad days.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://liminalduality.substack.com/p/from-mini-golf-to-golf&quot;,&quot;text&quot;:&quot;&#10024; From Mini-Golf to Golf&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://liminalduality.substack.com/p/from-mini-golf-to-golf"><span>&#10024; From Mini-Golf to Golf</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ROLT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81d1b3e9-32ef-4ab8-8b09-04cfdbe6484e_1456x971.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ROLT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81d1b3e9-32ef-4ab8-8b09-04cfdbe6484e_1456x971.png 424w, https://substackcdn.com/image/fetch/$s_!ROLT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81d1b3e9-32ef-4ab8-8b09-04cfdbe6484e_1456x971.png 848w, https://substackcdn.com/image/fetch/$s_!ROLT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81d1b3e9-32ef-4ab8-8b09-04cfdbe6484e_1456x971.png 1272w, https://substackcdn.com/image/fetch/$s_!ROLT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81d1b3e9-32ef-4ab8-8b09-04cfdbe6484e_1456x971.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ROLT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81d1b3e9-32ef-4ab8-8b09-04cfdbe6484e_1456x971.png" width="580" height="386.79945054945057" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/81d1b3e9-32ef-4ab8-8b09-04cfdbe6484e_1456x971.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:580,&quot;bytes&quot;:2538492,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ROLT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81d1b3e9-32ef-4ab8-8b09-04cfdbe6484e_1456x971.png 424w, https://substackcdn.com/image/fetch/$s_!ROLT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81d1b3e9-32ef-4ab8-8b09-04cfdbe6484e_1456x971.png 848w, https://substackcdn.com/image/fetch/$s_!ROLT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81d1b3e9-32ef-4ab8-8b09-04cfdbe6484e_1456x971.png 1272w, https://substackcdn.com/image/fetch/$s_!ROLT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81d1b3e9-32ef-4ab8-8b09-04cfdbe6484e_1456x971.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p>November hits hard. Christmas time is calling. The night is here.</p><p>I hope you're doing great! You're more than 1400 reading these lines - all over the world.<br>I would love to hear from you. Your recent story. Data or not :)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!e_LN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45dfcb89-7735-4308-b14d-e27ec255bd9f_1674x1168.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!e_LN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45dfcb89-7735-4308-b14d-e27ec255bd9f_1674x1168.png 424w, https://substackcdn.com/image/fetch/$s_!e_LN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45dfcb89-7735-4308-b14d-e27ec255bd9f_1674x1168.png 848w, https://substackcdn.com/image/fetch/$s_!e_LN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45dfcb89-7735-4308-b14d-e27ec255bd9f_1674x1168.png 1272w, https://substackcdn.com/image/fetch/$s_!e_LN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45dfcb89-7735-4308-b14d-e27ec255bd9f_1674x1168.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!e_LN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45dfcb89-7735-4308-b14d-e27ec255bd9f_1674x1168.png" width="592" height="413.0989010989011" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45dfcb89-7735-4308-b14d-e27ec255bd9f_1674x1168.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1016,&quot;width&quot;:1456,&quot;resizeWidth&quot;:592,&quot;bytes&quot;:269060,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!e_LN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45dfcb89-7735-4308-b14d-e27ec255bd9f_1674x1168.png 424w, https://substackcdn.com/image/fetch/$s_!e_LN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45dfcb89-7735-4308-b14d-e27ec255bd9f_1674x1168.png 848w, https://substackcdn.com/image/fetch/$s_!e_LN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45dfcb89-7735-4308-b14d-e27ec255bd9f_1674x1168.png 1272w, https://substackcdn.com/image/fetch/$s_!e_LN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45dfcb89-7735-4308-b14d-e27ec255bd9f_1674x1168.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" style="height:20px;width:20px" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>though most of my weekends are about family, friends, walking in nature, sport, food, reading, etc. I still found time to do nerdy stuff from time to time.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>I'm giving a talk on this exact subject at the <a href="https://www.forward-data-conference.com/programme/talks">Forward Data Conference</a>, happening at the end of the month.</p><p></p></div></div>]]></content:encoded></item></channel></rss>