<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Home on Arnau Díaz</title><link>https://arnaudiaz.com/</link><description>Recent content in Home on Arnau Díaz</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://arnaudiaz.com/index.xml" rel="self" type="application/rss+xml"/><item><title>build a library</title><link>https://arnaudiaz.com/writing/build-a-library/</link><pubDate>Sun, 24 May 2026 18:56:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/build-a-library/</guid><description>&lt;p&gt;Eight months ago I started dumping everything I read into Apple Notes. Every day. At the end of the month I review it, keep what&amp;rsquo;s worth keeping, merge it into a file, push it to a forge. That&amp;rsquo;s it.&lt;/p&gt;&#10;&lt;p&gt;I didn&amp;rsquo;t do this to build a &amp;ldquo;second brain&amp;rdquo;. I wanted to solve a simpler problem: remember what I read.&lt;/p&gt;&#10;&lt;p&gt;A few months later, something else started happening. I had references. When talking with teammates or friends, I could quickly pull papers, blog posts, talks or examples. Now, instead of vaguely remembering ideas, I had the actual source. One of the reasons I started this blog too. I share my own posts frequently and my posts have references.&lt;/p&gt;</description></item><item><title>offline</title><link>https://arnaudiaz.com/writing/offline/</link><pubDate>Fri, 08 May 2026 14:24:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/offline/</guid><description>&lt;p&gt;If my development environment needs the internet to work, that&amp;rsquo;s a dependency bug.&lt;/p&gt;&#10;&lt;p&gt;The network is the least reliable resource I have. Keep it out of the critical path.&lt;/p&gt;&#10;&lt;p&gt;I test this by turning Wi-Fi off.&lt;/p&gt;&#10;&lt;p&gt;If the build fails, or the tests stop, or the docs disappear, something still lives outside the machine. That&amp;rsquo;s the thing to fix.&lt;/p&gt;&#10;&lt;p&gt;A good development loop works offline. &lt;code&gt;cargo build&lt;/code&gt; builds. &lt;code&gt;cargo test&lt;/code&gt; tests. &lt;code&gt;cargo doc --open&lt;/code&gt; opens the docs. The binary runs. The help text works. The man page is there.&lt;/p&gt;</description></item><item><title>stress your tests</title><link>https://arnaudiaz.com/writing/stress-your-tests/</link><pubDate>Mon, 09 Feb 2026 18:46:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/stress-your-tests/</guid><description>&lt;p&gt;Most integration tests can be load tests. I don’t see this done enough.&lt;/p&gt;&#10;&lt;p&gt;Good testing advice is clear. &amp;ldquo;&lt;a href="https://x.com/rauchg/status/807626710350839808"&gt;Write tests. Not too many. Mostly integration.&lt;/a&gt;&amp;rdquo; I add a layer: most tests can be stress tests. Or load tests, if you prefer.&lt;/p&gt;&#10;&lt;p&gt;A load test is not defined by tooling, but by intent. It &lt;strong&gt;saturates a constrained resource&lt;/strong&gt; (CPU, memory, disk, network) until limits are reached. Assertions move past correctness and into stability, throughput, latency, failure modes.&lt;/p&gt;</description></item><item><title>you will be google</title><link>https://arnaudiaz.com/writing/you-will-be-google/</link><pubDate>Wed, 28 Jan 2026 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/you-will-be-google/</guid><description>&lt;p&gt;Early in my career I worked with a Google team on an open-source project. &lt;strong&gt;I&#10;didn&amp;rsquo;t like it&lt;/strong&gt;. Strict reviews, rigid style, heavy testing discipline.&#10;Everything felt slow and overengineered. A waste of time. I moved on, and&#10;everyone said the obvious thing: you’re not Google, you don’t need to do what&#10;Google does. That’s true. But it’s incomplete.&lt;/p&gt;&#10;&lt;p&gt;Teams don’t stay small and stable. People move. Engineers leave. New ones&#10;arrive. Managers become directors. Projects change owners. Roadmaps change.&#10;Priorities shift. What started as a greenfield project, written with the latest&#10;tools, becomes &lt;a href="https://laike9m.com/blog/avoid-mini-frameworks,171/"&gt;legacy&lt;/a&gt;&#10;faster than expected.&lt;/p&gt;</description></item><item><title>user experience is the tool</title><link>https://arnaudiaz.com/writing/user-experience-tool/</link><pubDate>Mon, 26 Jan 2026 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/user-experience-tool/</guid><description>&lt;h2 id="tools"&gt;Tools&lt;/h2&gt;&#10;&lt;p&gt;When I use a tool, I want the tool to care about me. I want it to be good. I&#10;want it to explain itself. I don&amp;rsquo;t want to search Google for documentation, skim&#10;blog posts, or click through SEO just to remember how something works.&lt;/p&gt;&#10;&lt;p&gt;I want examples. I want clarity. Everything I need should be part of the tool&#10;itself. That&amp;rsquo;s not how most software works anymore. Everything is monetized.&#10;Everything is optimized for ads, engagement, and searches.&lt;/p&gt;</description></item><item><title>one test to rule them all</title><link>https://arnaudiaz.com/writing/one-test-to-rule-them-all/</link><pubDate>Tue, 30 Dec 2025 16:42:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/one-test-to-rule-them-all/</guid><description>&lt;p&gt;What I&amp;rsquo;m aiming for:&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;make test&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;One test harness everywhere&lt;/strong&gt;. If wiring it to a new environment needs special glue, the issue is almost always in your system boundaries, not the tests. And it doesn&amp;rsquo;t need to be &lt;code&gt;make&lt;/code&gt;. It could be &lt;code&gt;cargo&lt;/code&gt;, &lt;code&gt;go&lt;/code&gt;, &lt;code&gt;bazel&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;One entry point&lt;/strong&gt;. Let config handle the differences. Sometimes it&amp;rsquo;s simple:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ENV=local make test&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ENV=ci make test&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ENV=staging make test&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ENV=prod make test&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Sometimes it needs more variables:&lt;/p&gt;</description></item><item><title>jujutsu techniques</title><link>https://arnaudiaz.com/writing/jujutsu-techniques/</link><pubDate>Wed, 17 Dec 2025 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/jujutsu-techniques/</guid><description>&lt;p&gt;I was upgrading a project to Spring Boot 4. Multiple modules and libraries. Java, Gradle, AWS, CI, Docker&amp;hellip; The kind of change that usually demands long-lived branches, careful sequencing, and a lot of trial and error.&lt;/p&gt;&#10;&lt;p&gt;What surprised me wasn&amp;rsquo;t the technical complexity. It was how much the shape of the work changed once the cost of being wrong went to zero.&lt;/p&gt;&#10;&lt;p&gt;This is what my tree looked like:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;➜ java-upgrade git:&lt;span class="o"&gt;(&lt;/span&gt;5561fa3&lt;span class="o"&gt;)&lt;/span&gt; ✗ jj&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;@ nruuvkns arnau@local 2025-12-12 20:31:20 spring4 27d4b705&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├─╮ upgrade to spring boot 4.0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ○ rzoyrzpv arnau@local 2025-12-12 20:30:29 jackson3 d76dcecc&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │ upgrade from jackson2 to jackson3&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;○ │ yyxuxnmk arnau@local 2025-12-12 20:31:17 aws-cloud git_head&lt;span class="o"&gt;()&lt;/span&gt; 5561fa39&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├─╯ upgrade aws cloud &lt;span class="m"&gt;4&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;○ ttusytzr arnau@local 2025-12-12 20:30:29 spring35 5a817998&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ upgrade to spring boot 3.5&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;○ uolmolxo arnau@local 2025-12-12 20:30:29 java-25 26dda0de&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├─┬─╮ upgrade to java sdk &lt;span class="m"&gt;25&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │ ○ yvklzspu arnau@local 2025-12-12 20:29:47 aws-sdk-2 e2045bf6&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │ │ upgrade to java aws sdk &lt;span class="m"&gt;2&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ○ │ mkwpqylt arnau@local 2025-12-12 20:30:18 refactor-cache &lt;span class="m"&gt;36105341&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ├─╯ simplifies cache by removing external dependencies&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;○ │ qxmnvtxp arnau@local 2025-12-12 20:29:56 docker-image 49a19a38&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├─╯ ci uses in-house image and new action gradle tasks&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;○ kpqwwnkk arnau@local 2025-12-12 20:29:42 gradle bf2b0dad&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ upgrade gradle &lt;span class="m"&gt;8&lt;/span&gt; to gradle &lt;span class="m"&gt;9&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;◆ zzzzzzzz root&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="m"&gt;00000000&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Nothing was planned in advance&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>noise is not music</title><link>https://arnaudiaz.com/writing/noise-is-not-music/</link><pubDate>Thu, 11 Dec 2025 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/noise-is-not-music/</guid><description>&lt;p&gt;On &lt;a href="https://arnaudiaz.com/writing/simulacra-and-simulation/"&gt;Simulacra and Simulation&lt;/a&gt; we see how easily we mistake motion for meaning. &lt;a href="https://arnaudiaz.com/writing/borges/"&gt;Borges&lt;/a&gt; wrote that two mirrors are enough to create a labyrinth. Now, consider sound.&lt;/p&gt;&#10;&lt;p&gt;We make noise to be noticed. We announce, post, ping, repeat. Sometimes visibility, sometimes ego. Noise tempts us because it feels like progress. It gives shape to uncertainty. It fills gaps that should stay empty for real work to happen. But like Borges’ mirrors, it creates infinite reflections—convincing, familiar, and entirely false.&lt;/p&gt;</description></item><item><title>writing hard things</title><link>https://arnaudiaz.com/writing/writing-hard-things/</link><pubDate>Sun, 09 Nov 2025 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/writing-hard-things/</guid><description>&lt;p&gt;I&amp;rsquo;ve worked on hard problems: implemented AI papers, optimized backend services, troubleshot networking issues in production, databases. Some for work, some for fun.&lt;/p&gt;&#10;&lt;p&gt;Building hard things gives you &lt;strong&gt;understanding&lt;/strong&gt; and &lt;strong&gt;skills&lt;/strong&gt;. Everyone talks too much about understanding. Nobody talks enough about skills. If you don&amp;rsquo;t build hard things, you won&amp;rsquo;t know these skills exist. You won&amp;rsquo;t learn them.&lt;/p&gt;&#10;&lt;p&gt;Understanding:&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;What I cannot create I don&amp;rsquo;t understand! - Richard Feynman&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;Skills:&lt;/p&gt;</description></item><item><title>resource driven design</title><link>https://arnaudiaz.com/writing/resource-driven-design/</link><pubDate>Tue, 28 Oct 2025 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/resource-driven-design/</guid><description>&lt;p&gt;In this post we explore how starting from resources (CPU, RAM, DISK, NETWORK)&#10;can drive clearer, simpler and more robust system design — rather than beginning&#10;with features, frameworks or fancy architecture.&lt;/p&gt;&#10;&lt;p&gt;Modern software don’t fail because they lack abstractions. They fail because&#10;they ignore hardware.&lt;/p&gt;&#10;&lt;h2 id="cultural-disconnect"&gt;Cultural disconnect&lt;/h2&gt;&#10;&lt;p&gt;Engineering is about solving a problem in a specific context: time, team,&#10;budget, tools, and both functional and non-functional requirements.&lt;/p&gt;&#10;&lt;p&gt;Yet many projects start from features, then pick tools, patterns, and scaling&#10;strategies without ever asking what hardware they actually need. It&amp;rsquo;s what the&#10;&lt;a href="https://cellperformance.beyond3d.com/articles/2008/03/three-big-lies.html"&gt;Three Big Lies&lt;/a&gt;&#10;of software engineering called out years ago, abstraction sold as progress.&lt;/p&gt;</description></item><item><title>snapshots, property and simulation testing</title><link>https://arnaudiaz.com/writing/snapshots/</link><pubDate>Tue, 21 Oct 2025 00:02:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/snapshots/</guid><description>&lt;p&gt;Your test suite passes. Your coverage is 90%. You deploy to production. Your software breaks.&lt;/p&gt;&#10;&lt;p&gt;Traditional testing measures the wrong things. It counts lines of code covered, not bugs prevented. It tests components in isolation, not how they interact in the real world. It catches the bugs you expect, not the ones that actually matter.&lt;/p&gt;&#10;&lt;p&gt;You ship correctness bugs that unit tests never catch. The best way to avoid bugs is to &lt;a href="https://www.teamten.com/lawrence/programming/dont-write-bugs.html"&gt;not write them in the first place&lt;/a&gt;—but when you do, you need tests that actually catch them.&lt;/p&gt;</description></item><item><title>invariants</title><link>https://arnaudiaz.com/writing/invariants/</link><pubDate>Tue, 21 Oct 2025 00:01:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/invariants/</guid><description>&lt;h2 id="making-impossible-states-impossible"&gt;making impossible states impossible&lt;/h2&gt;&#10;&lt;p&gt;Last week, a race condition crashed production at 3 AM. The bug was impossible to reproduce in development, but a single assertion would have caught it immediately. This is why assertions exist: they make impossible states impossible.&lt;/p&gt;&#10;&lt;p&gt;Some developers think assertions are just debugging tools. Not true. Assertions are contracts that prevent your code from reaching invalid states. Without assertions, bugs hide in impossible states. With assertions, impossible states become impossible. When combined with good &lt;a href="https://arnaudiaz.com/writing/this-is-ci/"&gt;CI&lt;/a&gt;, every change becomes visible, every assumption gets tested, and every deployment becomes predictable. As &lt;a href="https://typesanitizer.com/blog/assertions.html"&gt;this analysis&lt;/a&gt; shows, assertions are crucial for catching correctness violations that types cannot prevent.&lt;/p&gt;</description></item><item><title>this is ci</title><link>https://arnaudiaz.com/writing/this-is-ci/</link><pubDate>Tue, 21 Oct 2025 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/this-is-ci/</guid><description>&lt;p&gt;Last month, a developer updated a library version. The application worked fine in development, but production crashed at 2 AM. The deployment pipeline had passed all tests—but it hadn&amp;rsquo;t tested the actual change. This is why most CI fails: it tests code, not changes. When CI fails, production breaks, teams lose trust, and changes become dangerous.&lt;/p&gt;&#10;&lt;p&gt;Most teams think CI is about running tests on GitHub. They&amp;rsquo;re wrong. CI is about correctness and detecting changes automatically. We test to have correct code and detect changes, and CI is that process being &lt;a href="https://graydon2.dreamwidth.org/1597.html"&gt;continuous&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>dev log</title><link>https://arnaudiaz.com/writing/dev-log/</link><pubDate>Thu, 16 Oct 2025 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/dev-log/</guid><description>&lt;p&gt;This year I started a development log for my work notes. It made me far more effective. I control my work, measure my impact, and keep visibility on what I am doing and with whom.&lt;/p&gt;&#10;&lt;p&gt;Tools support the method. Pick one you will use consistently; the method drives results.&lt;/p&gt;&#10;&lt;p&gt;Remember:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Use tools and adapt them so they feel natural.&lt;/li&gt;&#10;&lt;li&gt;Simple and easy beats complex and hard.&lt;/li&gt;&#10;&lt;li&gt;Clarity beats volume.&lt;/li&gt;&#10;&lt;li&gt;Use references for easy and fast navigation.&lt;/li&gt;&#10;&lt;li&gt;Keep your notes structured and easy to search.&lt;/li&gt;&#10;&lt;li&gt;A note is useful if it moves a decision, an action, or a result.&lt;/li&gt;&#10;&lt;li&gt;A note is useful if you can share it with somebody else.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="structure"&gt;Structure&lt;/h2&gt;&#10;&lt;p&gt;I use Apple Notes. It is simple. It supports tags, search, and note references. It syncs with my work phone and, most importantly, it works for me.&lt;/p&gt;</description></item><item><title>design is not a senior priviliege</title><link>https://arnaudiaz.com/writing/design-is-not-senior/</link><pubDate>Mon, 16 Jun 2025 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/design-is-not-senior/</guid><description>&lt;p&gt;Some teams treat architecture as a separate role reserved for &amp;ldquo;senior&amp;rdquo; engineers. They draw the diagrams, make the decisions, and pass the work.&lt;/p&gt;&#10;&lt;p&gt;This separation &lt;strong&gt;is a problem&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;Design isn&amp;rsquo;t a reward for experience. It&amp;rsquo;s a skill that improves with practice, not just time. Like any skill, it should be part of the job from the start.&lt;/p&gt;&#10;&lt;h2 id="you-grow-by-doing"&gt;You grow by doing&lt;/h2&gt;&#10;&lt;p&gt;You don&amp;rsquo;t learn implementation all at once. You start small: an endpoint, a form, a script. Later, you take on a bigger piece: auth, infra, data flows. Eventually, you ship whole services, across teams or markets.&lt;/p&gt;</description></item><item><title>visibility and collaboration</title><link>https://arnaudiaz.com/writing/visibility-collaboration/</link><pubDate>Tue, 03 Jun 2025 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/visibility-collaboration/</guid><description>&lt;p&gt;Software engineering requires &lt;strong&gt;collaboration&lt;/strong&gt; by nature.&lt;/p&gt;&#10;&lt;p&gt;Consider the classic split: one engineer builds the backend while another builds the frontend. They can work in parallel, but only if they know what each other is doing and they know what to do. The moment they don&amp;rsquo;t, progress slows.&lt;/p&gt;&#10;&lt;p&gt;Two methods address this. Management-enforced process with agile techniques like daily standups and bureaucracy. Or software engineering culture born from the team itself. They serve different goals. Management wants visibility to control, monitor and &amp;ldquo;check in.&amp;rdquo; Good software engineers want to get the work done and do it well. The latter is the foundation of good team culture.&lt;/p&gt;</description></item><item><title>how to code clearly</title><link>https://arnaudiaz.com/writing/how-to-code-clearly/</link><pubDate>Sun, 22 Dec 2024 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/how-to-code-clearly/</guid><description>&lt;p&gt;This piece adapts the wisdom from the &lt;a href="https://davedye.com/2019/07/12/how-to-write-good/"&gt;International Paper Company&amp;rsquo;s famous writing campaign&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="how-to-code-clearly"&gt;How to code clearly&lt;/h2&gt;&#10;&lt;p&gt;If you are afraid to code, don&amp;rsquo;t be. If you think you&amp;rsquo;ve got to string together big fancy constructs and high-flying functions, forget it. To code well, you only need to know how to get your ideas across simply and clearly.&lt;/p&gt;&#10;&lt;p&gt;It&amp;rsquo;s not easy. But it&amp;rsquo;s easier than you might imagine. There are only three basic requirements:&lt;/p&gt;</description></item><item><title>oblique strategies</title><link>https://arnaudiaz.com/writing/oblique-strategies/</link><pubDate>Tue, 17 Sep 2024 22:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/oblique-strategies/</guid><description>&lt;blockquote&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;These cards evolved from our separate observations on the principles underlying what we were doing. Sometimes they were recognized in retrospect (intellect catching up with intuition), sometimes they were identified as they were happening, sometimes they were formulated.&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;They can be used as a pack (a set of possibilities being continuously reviewed in the mind) or by drawing a single card from the shuffled pack when a dilemma occurs in a working situation. In this case, the card is trusted even if its appropriateness is quite unclear. They are not final, as new ideas will present themselves, and others will become self-evident.&lt;/p&gt;</description></item><item><title>pg on tech managers</title><link>https://arnaudiaz.com/writing/pg-on-tech-managers/</link><pubDate>Sat, 07 Sep 2024 22:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/pg-on-tech-managers/</guid><description>&lt;p&gt;pg&amp;rsquo;s savage &lt;a href="https://paulgraham.com/foundermode.html"&gt;take&lt;/a&gt; on tech managers:&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;&amp;ldquo;Hire good people and give them room to do their jobs.&amp;rdquo; He followed this advice and the results were disastrous.&lt;/p&gt;&#10;&lt;p&gt;What this often turns out to mean is: hire professional fakers and let them drive the company into the ground.&lt;/p&gt;&#10;&lt;p&gt;C-level execs, as a class, include some of the most skillful liars in the world.&lt;/p&gt;</description></item><item><title>what is code</title><link>https://arnaudiaz.com/writing/what-is-code/</link><pubDate>Mon, 22 Jul 2024 14:16:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/what-is-code/</guid><description>&lt;p&gt;What is code? An instruction, a creation, a structure, a symphony.&lt;/p&gt;&#10;&lt;p&gt;AND&lt;/p&gt;&#10;&lt;p&gt;How do you use it? When it computes.&lt;/p&gt;&#10;&lt;p&gt;What is a program? A medium.&lt;/p&gt;&#10;&lt;p&gt;What is a machine? A collaborator, a colleague.&lt;/p&gt;&#10;&lt;p&gt;What is a byte? A unit of movement.&lt;/p&gt;&#10;&lt;p&gt;What is an algorithm? A means to an end.&lt;/p&gt;&#10;&lt;p&gt;What is data? A pulse, a narrative.&lt;/p&gt;&#10;&lt;p&gt;What is refactoring? Another chance.&lt;/p&gt;&#10;&lt;p&gt;What is design? A conversation, a dialogue.&lt;/p&gt;</description></item><item><title>simulacra and simulation</title><link>https://arnaudiaz.com/writing/simulacra-and-simulation/</link><pubDate>Fri, 05 Jan 2024 15:23:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/simulacra-and-simulation/</guid><description>&lt;p&gt;In his book &amp;ldquo;Simulacra and Simulation&amp;rdquo; published in 1981, Jean Baudrillard concluded that we were living in a simulation constructed by the media. We could argue that in tech companies, we live in a simulation constructed by management.&lt;/p&gt;&#10;&lt;p&gt;Baudrillard categorizes the breakdown of the image into simulation via four successive phases in his book &amp;ldquo;Simulations&amp;rdquo;:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;The image first reflects a basic reality.&lt;/li&gt;&#10;&lt;li&gt;Then it masks or perverts that basic reality.&lt;/li&gt;&#10;&lt;li&gt;Then it masks the absence of a basic reality.&lt;/li&gt;&#10;&lt;li&gt;Finally, the image bears no relation to any reality whatever, it is its own pure simulacrum.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;In a company, processes and methodologies are distorted until they only exist in a pure simulacrum. Take meetings as an example:&lt;/p&gt;</description></item><item><title>the way of a true leader</title><link>https://arnaudiaz.com/writing/the-way-of-a-true-leader/</link><pubDate>Mon, 04 Dec 2023 15:25:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/the-way-of-a-true-leader/</guid><description>&lt;p&gt;A reflection on Ursula K. Le Guin.&lt;/p&gt;&#10;&lt;p&gt;Acting simply.&lt;/p&gt;&#10;&lt;p&gt;A true leader remains almost invisible to those they guide, letting their actions speak for themselves.&lt;/p&gt;&#10;&lt;p&gt;Lesser leaders may be known, admired, feared, or even despised. If someone is admired, feared, or despised for being a leader, can they truly be one? True leaders don&amp;rsquo;t seek the spotlight.&lt;/p&gt;&#10;&lt;p&gt;Trust is a reflection. What you give is what you receive.&lt;/p&gt;&#10;&lt;p&gt;When work is done quietly and effectively, people will say, &amp;ldquo;We did it.&amp;rdquo;&lt;/p&gt;</description></item><item><title>before you speak</title><link>https://arnaudiaz.com/writing/before-you-speak/</link><pubDate>Sat, 09 Sep 2023 22:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/before-you-speak/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;Is it true?&lt;/li&gt;&#10;&lt;li&gt;Is it necessary?&lt;/li&gt;&#10;&lt;li&gt;Is it kind?&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>borges</title><link>https://arnaudiaz.com/writing/borges/</link><pubDate>Tue, 23 May 2023 09:46:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/borges/</guid><description>&lt;p&gt;Creating abstractions means traversing an endless maze of illusions and distorted information. Mirrors deceive.&lt;/p&gt;&#10;&lt;p&gt;Simplifying abstractions is to submerge oneself in the limitless complexity of reality. Myriads of grains of sand.&lt;/p&gt;&#10;&lt;p&gt;It only takes two facing mirrors to build a labyrinth.&lt;/p&gt;&#10;&lt;p&gt;Our fate is either to perish, disoriented in the labyrinth, or to be swallowed by the sands.&lt;/p&gt;&#10;&lt;h2 id="on-exactitude-in-science"&gt;On Exactitude in Science&lt;/h2&gt;&#10;&lt;blockquote&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;&amp;hellip; In that Empire, the Art of Cartography attained such Perfection that the map of a single Province occupied the entirety of a City, and the map of the Empire, the entirety of a Province. In time, those Unconscionable Maps no longer satisfied, and the Cartographers Guilds struck a Map of the Empire whose size was that of the Empire, and which coincided point for point with it. The following Generations, who were not so fond of the Study of Cartography as their Forebears had been, saw that that vast Map was Useless, and not without some Pitilessness was it, that they delivered it up to the Inclemencies of Sun and Winters. In the Deserts of the West, still today, there are Tattered Ruins of that Map, inhabited by Animals and Beggars; in all the Land there is no other Relic of the Disciplines of Geography.&lt;/p&gt;</description></item><item><title>this is not a hello world</title><link>https://arnaudiaz.com/writing/this-is-not-a-hello-world/</link><pubDate>Mon, 22 May 2023 10:03:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/this-is-not-a-hello-world/</guid><description>&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Hello World&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This is not a hello world.&lt;/p&gt;&#10;&lt;p&gt;This is not a program.&lt;/p&gt;&#10;&lt;p&gt;This is not code.&lt;/p&gt;</description></item><item><title>creative space and time</title><link>https://arnaudiaz.com/writing/creative-space-and-time/</link><pubDate>Fri, 21 Apr 2023 10:06:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/creative-space-and-time/</guid><description>&lt;p&gt;Software engineering runs on creativity and problem solving. Some people call it an art.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;space: choosing your projects, your methods, your tools. where anything personal in&#10;the work comes from&lt;/li&gt;&#10;&lt;li&gt;time: setting your own pace. when a feature ships, how long you sit with it, whether&#10;you get to go back and make it better&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="for-company-growth"&gt;For company growth&lt;/h2&gt;&#10;&lt;p&gt;Hire skilled engineers. Give them space and time.&lt;/p&gt;&#10;&lt;h2 id="for-team-growth"&gt;For team growth&lt;/h2&gt;&#10;&lt;p&gt;Hire skilled engineers. Give them space and time.&lt;/p&gt;</description></item><item><title>impact metrics</title><link>https://arnaudiaz.com/writing/impact-metrics/</link><pubDate>Tue, 11 Apr 2023 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/impact-metrics/</guid><description>&lt;p&gt;Impact is not how many operations you have. It&amp;rsquo;s which ones matter when they break.&lt;/p&gt;&#10;&lt;p&gt;Some teams track total traffic, average response times, aggregate error rates. Those&#10;numbers hide the story. The useful question is which endpoints hurt a user most when&#10;they fail.&lt;/p&gt;&#10;&lt;p&gt;Someone is setting up your tool for the first time. If the onboarding call fails, they&#10;leave. That single failure costs you more than a thousand slow searches, and it has&#10;nothing to do with volume.&lt;/p&gt;</description></item><item><title>david lynch motivates you</title><link>https://arnaudiaz.com/writing/david-lynch-motivates-you/</link><pubDate>Wed, 25 Jan 2023 10:44:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/david-lynch-motivates-you/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;Stay alert&lt;/li&gt;&#10;&lt;li&gt;Do your work&lt;/li&gt;&#10;&lt;li&gt;Don&amp;rsquo;t worry about the world going by&lt;/li&gt;&#10;&lt;li&gt;Don&amp;rsquo;t sit around doing nothing&lt;/li&gt;&#10;&lt;li&gt;Get in gear and do it&lt;/li&gt;&#10;&lt;li&gt;Don&amp;rsquo;t take no for an answer&lt;/li&gt;&#10;&lt;li&gt;Figure out how to get it done&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Translate these lessons to Cinema, or a painting, or to whatever.&lt;/p&gt;</description></item><item><title>emotional micromanagement</title><link>https://arnaudiaz.com/writing/emotional-micromanagement/</link><pubDate>Fri, 12 Aug 2022 16:33:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/emotional-micromanagement/</guid><description>&lt;p&gt;Examples of Micromanagement and Emotional Micromanagement&lt;/p&gt;&#10;&lt;h2 id="classic-micromanagement"&gt;Classic micromanagement:&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;They demand to be copied on every email, even when it’s irrelevant.&lt;/li&gt;&#10;&lt;li&gt;They refuse to delegate even the smallest tasks.&lt;/li&gt;&#10;&lt;li&gt;They constantly monitor where employees are: at desks, online, even bathroom breaks.&lt;/li&gt;&#10;&lt;li&gt;They ask for updates on every minor task and obsess over deadlines.&lt;/li&gt;&#10;&lt;li&gt;They never ask for input from others.&lt;/li&gt;&#10;&lt;li&gt;They enjoy correcting tiny mistakes in other people&amp;rsquo;s work.&lt;/li&gt;&#10;&lt;li&gt;They overanalyze even the lowest-priority tasks.&lt;/li&gt;&#10;&lt;li&gt;They are never satisfied with anything employees do.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="emotional-micromanagement"&gt;Emotional micromanagement:&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;They force themselves into all casual conversations.&lt;/li&gt;&#10;&lt;li&gt;They organize team activities and off-sites to build a &amp;ldquo;family&amp;rdquo; feeling.&lt;/li&gt;&#10;&lt;li&gt;They constantly check on employee emotions, believing it&amp;rsquo;s their job to fix them.&lt;/li&gt;&#10;&lt;li&gt;They demand frequent updates about feelings and personal issues.&lt;/li&gt;&#10;&lt;li&gt;They act as unasked-for coaches and psychologists, pushing employees to &amp;ldquo;find their passion&amp;rdquo;.&lt;/li&gt;&#10;&lt;li&gt;They take pleasure in correcting how others manage mental health or soft skills.&lt;/li&gt;&#10;&lt;li&gt;They will OKR your personal life: &lt;em&gt;&amp;ldquo;When was the last time you saw your mom? How did it make you feel? Can I help you? Let me help you!&lt;/em&gt;.&lt;/li&gt;&#10;&lt;li&gt;They are never satisfied with your well-being. yYu must grind harder, achieve more, smile wider.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>code readibility</title><link>https://arnaudiaz.com/writing/code-readibility/</link><pubDate>Tue, 07 Jun 2022 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/code-readibility/</guid><description>&lt;p&gt;Two definitions, from one of the best courses I&amp;rsquo;ve taken.¹&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;syntax: the rules that say what counts as valid code. punctuation, keywords, structure&lt;/li&gt;&#10;&lt;li&gt;semantics: what that code means. what it does, what it represents&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;So readability is syntax that makes semantics obvious.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;not imperative versus functional&lt;/li&gt;&#10;&lt;li&gt;not tabs, spaces, or where the braces go&lt;/li&gt;&#10;&lt;li&gt;whether a value is being moved or copied&lt;/li&gt;&#10;&lt;li&gt;whether I&amp;rsquo;m holding a reference or the thing itself&lt;/li&gt;&#10;&lt;li&gt;whether a loop mutates what it touches or leaves it alone&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;A good language makes semantics obvious. A good programmer does it anyway, when the&#10;language won&amp;rsquo;t.&lt;/p&gt;</description></item><item><title>engineers as gardeners</title><link>https://arnaudiaz.com/writing/engineers-gardeners/</link><pubDate>Fri, 06 May 2022 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/engineers-gardeners/</guid><description>&lt;p&gt;We need to let go of the idea that software development is about planning and execution.&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;Never forget, agile is here to save management, not software.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="software-development-as-an-act-of-gardening-rather-than-architecting"&gt;Software development as an act of gardening rather than architecting:&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Planting seeds: Just as gardeners start with seeds, we begin with initial ideas or prototypes. We cultivate these ideas, allowing them to grow and evolve.&lt;/li&gt;&#10;&lt;li&gt;Tending the garden: We set up our infrastructure and build pipelines to nourish our code, much like watering plants and providing nutrients.&lt;/li&gt;&#10;&lt;li&gt;Adapting to changes: We face challenges like bugs and incidents, similar to dealing with pests or weather conditions in a garden. We adjust and care for our software as it matures.&lt;/li&gt;&#10;&lt;li&gt;Growing new features: As our product evolves, we cultivate new features or adjust existing ones. As planting new seeds or grafting branches to ensure the garden continues to thrive.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;By thinking of ourselves as gardeners, we focus on nurturing software through its life cycle. We prepare the soil, plant seeds, and guide their growth, adapting as needed and celebrating the results.&lt;/p&gt;</description></item><item><title>traits of good programmer</title><link>https://arnaudiaz.com/writing/traits-of-good-programmer/</link><pubDate>Fri, 11 Feb 2022 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/traits-of-good-programmer/</guid><description>&lt;h2 id="checklist"&gt;checklist&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;say please and thank you&lt;/li&gt;&#10;&lt;li&gt;show respect for the other person&amp;rsquo;s opinion, never say &amp;ldquo;you&amp;rsquo;re wrong&amp;rdquo;&lt;/li&gt;&#10;&lt;li&gt;if you are wrong, admit it&lt;/li&gt;&#10;&lt;li&gt;talk about your own mistakes before criticizing&lt;/li&gt;&#10;&lt;li&gt;be a good listener&lt;/li&gt;&#10;&lt;li&gt;be a good friend and a good son&lt;/li&gt;&#10;&lt;li&gt;don&amp;rsquo;t criticize, condemn, or complain&lt;/li&gt;&#10;&lt;li&gt;give honest and sincere appreciation&lt;/li&gt;&#10;&lt;li&gt;treat people well&lt;/li&gt;&#10;&lt;li&gt;become genuinely interested in other people&lt;/li&gt;&#10;&lt;li&gt;breathe clean air&lt;/li&gt;&#10;&lt;li&gt;exercise your body, mind and spirit&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>think in 3d</title><link>https://arnaudiaz.com/writing/think-3d/</link><pubDate>Wed, 12 Jan 2022 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/think-3d/</guid><description>&lt;p&gt;Traffic goes up, performance goes down, and the team reaches for one of two levers:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;horizontal scaling, adding more instances&lt;/li&gt;&#10;&lt;li&gt;vertical scaling, buying bigger machines&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Pause for a moment. Did you notice something missing? If not, you might be seeing in 2D.&lt;/p&gt;&#10;&lt;p&gt;Both levers treat the symptom. Both assume the application is already as fast as it can&#10;be. That assumption costs money, adds moving parts, and slows the team down.&lt;/p&gt;</description></item><item><title>unix philosophy</title><link>https://arnaudiaz.com/writing/unix-philosophy/</link><pubDate>Thu, 03 Jun 2021 19:39:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/unix-philosophy/</guid><description>&lt;h2 id="the-unix-philosophy-1"&gt;the unix philosophy &lt;a href="#fn-1"&gt;1&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;born from practice, not theory.&#10;bottom-up. small systems. real interfaces.&#10;built by engineers who debugged their own ideas.&lt;/p&gt;&#10;&lt;p&gt;the unix philosophy isn’t a method.&#10;it’s a mindset — simple parts, clean rules, and just enough abstraction.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="there-is-no-rule-six"&gt;there is no rule six&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;you can&amp;rsquo;t predict where code will be slow.&lt;/li&gt;&#10;&lt;li&gt;measure before you optimize.&lt;/li&gt;&#10;&lt;li&gt;don&amp;rsquo;t use fancy algorithms unless &lt;code&gt;n&lt;/code&gt; is huge — and even then, measure.&lt;/li&gt;&#10;&lt;li&gt;simple is faster to write, easier to debug.&lt;/li&gt;&#10;&lt;li&gt;data structures matter more than algorithms.&lt;/li&gt;&#10;&lt;li&gt;there is no rule six. &lt;a href="#fn-2"&gt;2&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="modularity"&gt;modularity&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;write simple parts with clean interfaces&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>bill evans</title><link>https://arnaudiaz.com/writing/bill-evans/</link><pubDate>Mon, 01 Mar 2021 23:00:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/bill-evans/</guid><description>&lt;h2 id="the-creative-process-and-self-teaching"&gt;The Creative Process and Self-Teaching&lt;/h2&gt;&#10;&lt;p&gt;Evans explains the step-by-step process of creative problem-solving.&lt;/p&gt;&#10;&lt;h2 id="be-real-and-true"&gt;Be real and true&lt;/h2&gt;&#10;&lt;p&gt;People approximate the result instead of tackling it honestly at even the simplest level, yet each effort must be entirely true, real, and accurate.&lt;/p&gt;&#10;&lt;p&gt;They prefer to blur the whole problem rather than focus on one small piece with precision.&lt;/p&gt;&#10;&lt;h2 id="if-youre-confused-you-wont-find-your-way-out"&gt;If you&amp;rsquo;re confused, you won&amp;rsquo;t find your way out&lt;/h2&gt;&#10;&lt;p&gt;Approximating the whole thing vaguely may feel like touching it, but the path leads to confusion, and soon you become so lost that you cannot find your way out.&lt;/p&gt;</description></item><item><title>elements of programming</title><link>https://arnaudiaz.com/writing/elements-of-programming/</link><pubDate>Tue, 01 Dec 2020 20:19:00 +0000</pubDate><guid>https://arnaudiaz.com/writing/elements-of-programming/</guid><description>&lt;p&gt;&lt;em&gt;The Elements of Programming Style&lt;/em&gt; (1974) by Brian Kernighan and P.J. Plauger&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="clarity-first"&gt;clarity first&lt;/h2&gt;&#10;&lt;p&gt;write clearly. not cleverly.&#10;say what you mean. directly.&#10;let the reader see the intent.&lt;/p&gt;&#10;&lt;p&gt;use libraries.&#10;reuse what works. copy the good parts. improve them.&#10;good artists copy. great engineers don’t waste time.&lt;/p&gt;&#10;&lt;p&gt;avoid unnecessary variables.&#10;prefer simple, immutable data when you can.&#10;benchmark before you trade clarity for performance.&lt;/p&gt;&#10;&lt;p&gt;computers are fast.&#10;let them handle what they’re good at.&lt;/p&gt;</description></item><item><title>now</title><link>https://arnaudiaz.com/now/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/now/</guid><description>&lt;h2 id="2026--09"&gt;2026 / 09&lt;/h2&gt;&#10;&lt;p&gt;I quit my last job to bet on text. Text still wins.&lt;/p&gt;&#10;&lt;p&gt;Most of what I think about now is spec-driven development and agentic flows. Same bet, really: a machine does the right thing when somebody bothered to write down what the right thing was.&lt;/p&gt;&#10;&lt;p&gt;Reading:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Clarice Lispector&amp;rsquo;s &lt;em&gt;The Hour of the Star&lt;/em&gt;&lt;/li&gt;&#10;&lt;li&gt;Calvino&amp;rsquo;s &lt;em&gt;Cosmicomics&lt;/em&gt;&lt;/li&gt;&#10;&lt;li&gt;Sam Sheridan&amp;rsquo;s &lt;em&gt;The Fighter&amp;rsquo;s Mind&lt;/em&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Listening to lots of salsa and bachata!&lt;/p&gt;</description></item><item><title>the library</title><link>https://arnaudiaz.com/library/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arnaudiaz.com/library/</guid><description>&lt;p&gt;A long-term collection of texts I revisit.&lt;/p&gt;&#10;&lt;p&gt;Five layers: &lt;strong&gt;Programming&lt;/strong&gt; (implementation), &lt;strong&gt;Tests&lt;/strong&gt; (quality) , &lt;strong&gt;Engineering Process&lt;/strong&gt; (structure), &lt;strong&gt;Culture&lt;/strong&gt; (foundation), and &lt;strong&gt;Others&lt;/strong&gt; (misc high-quality references).&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="programming"&gt;Programming&lt;/h2&gt;&#10;&lt;p&gt;How we implement ideas&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://amturing.acm.org/award_winners/knuth_1013846.cfm"&gt;Knuth – Programming as an Art&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pages.cs.wisc.edu/~remzi/Naur.pdf"&gt;Peter Naur – Programming as Theory Building&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pages.cs.wisc.edu/~remzi/OSTEP/"&gt;OSTEP&lt;/a&gt; — the definitive OS textbook.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://people.freebsd.org/~lstewart/articles/cpumemory.pdf"&gt;What Every Programmer Should Know About Memory&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.infoq.com/presentations/Simple-Made-Easy/"&gt;Simple Made Easy&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://erlang.org/download/armstrong_thesis_2003.pdf"&gt;Joe Armstrong Thesis&lt;/a&gt; — concurrency and fault tolerance.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.cs.umd.edu/~nau/cmsc421/norvig-lisp-style.pdf"&gt;Peter Norvig – Good Style&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://norvig.com/design-patterns/design-patterns.pdf"&gt;Peter Norvig – Design Patterns&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://harmful.cat-v.org/software/OO_programming/why_oo_sucks"&gt;Armstrong – Why OOP Sucks&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.cs.umd.edu/~abadi/papers/abadi-pacelc.pdf"&gt;PACELC Theorem&lt;/a&gt; — latency vs consistency.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/tigerbeetle/tigerbeetle/blob/main/docs/TIGER_STYLE.md"&gt;Tiger Style&lt;/a&gt; — system design philosophy.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://users.ece.utexas.edu/~adnan/pike.html"&gt;5 Rules Programming (Rob Pike)&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/sirupsen/napkin-math"&gt;Napkin Math&lt;/a&gt; — intuitive performance math.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="tests"&gt;Tests&lt;/h2&gt;&#10;&lt;p&gt;Quality: Design, strategy, and verification&lt;/p&gt;</description></item></channel></rss>