<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Writing Developer</title>
    <link>https://writingdeveloper.com/</link>
    <description>Recent content on Writing Developer</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 28 May 2026 07:00:00 +0200</lastBuildDate><atom:link href="https://writingdeveloper.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Vibe Coding Scales to a Demo</title>
      <link>https://writingdeveloper.com/posts/vibe-coding-scales-to-a-demo/</link>
      <pubDate>Thu, 28 May 2026 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/vibe-coding-scales-to-a-demo/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://rust-trends.com/posts/vibe-coding-scales-to-a-demo/&#34;&gt;Vibe Coding Scales to a Demo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A recent post from the Rust Trends newsletter raised an important point which I&amp;rsquo;m hitting more and more when using AI agents:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Plausible is not the same as correct. And if you don&amp;rsquo;t have a &lt;strong&gt;mental model&lt;/strong&gt; of how systems behave, it&amp;rsquo;s genuinely hard to tell the difference between code that works, code that works now, and code that will fail badly later.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>3 Bullets and a Call to Action</title>
      <link>https://writingdeveloper.com/posts/3-bullets-and-call-to-action/</link>
      <pubDate>Fri, 20 Mar 2026 09:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/3-bullets-and-call-to-action/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://read.thecoder.cafe/p/three-bullets-one-call-to-action&#34;&gt;3 Bullets and a Call to Action&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I was always a supporter of short messages. They&amp;rsquo;re easier to process for the reader.&lt;/p&gt;
&lt;p&gt;But they&amp;rsquo;re also harder to write because you need the ability to convey the important information in few sentences.&lt;/p&gt;
&lt;p&gt;This post from Teiva Harsanyi suggests a good a framework to use (apprently inspired by the &lt;a href=&#34;https://www.debuggingteams.com/&#34;&gt;Debugging Teams&lt;/a&gt; book). The example from the post is worth a thousand words:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>FantaSanremo system design</title>
      <link>https://writingdeveloper.com/posts/fantasanremo-system-design/</link>
      <pubDate>Tue, 03 Mar 2026 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/fantasanremo-system-design/</guid>
      
      
      <category>posts</category>
      
      
      
      <description>&lt;p&gt;Last week was &lt;strong&gt;that week&lt;/strong&gt; in Italy. Don&amp;rsquo;t get me wrong, not the week when the Olympics ended, but the week when the Sanremo contest went on air.&lt;/p&gt;
&lt;p&gt;For those who don&amp;rsquo;t know, the Sanremo Festival is a famous Italian music competition where 30 artists perform new (and unknown) songs. They are then evaluated based on different criteria and by different people and audiences.&lt;/p&gt;
&lt;p&gt;At the end of the 5 days, we have a winner. The winner will represent Italy at the Eurovision, which I&amp;rsquo;m sure many more people know and follow.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Your app subscription is now my weekend project</title>
      <link>https://writingdeveloper.com/posts/your-app-subscription-is-now-my-weekend-project/</link>
      <pubDate>Sun, 25 Jan 2026 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/your-app-subscription-is-now-my-weekend-project/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://rselbach.com/your-sub-is-now-my-weekend-project/&#34;&gt;Your app subscription is now my weekend project&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is a curious trend I&amp;rsquo;m seeing, but not surprising given the times we&amp;rsquo;re living in. Gergely &lt;a href=&#34;https://newsletter.pragmaticengineer.com/p/the-pulse-160-why-its-so-dramatic&#34;&gt;shared the same&lt;/a&gt; on his newsletter.&lt;/p&gt;
&lt;p&gt;With the capabilities of LLMs, people can now replace functionalities of products they&amp;rsquo;re paying for. Vibe coding them is fast and gives the user a very custom product that completely suits their needs.&lt;/p&gt;
&lt;p&gt;Roberto Selbach did the same with several services, pointing out that he doesn&amp;rsquo;t consider them production-ready:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>A software library with no code</title>
      <link>https://writingdeveloper.com/posts/a-software-library-with-no-code/</link>
      <pubDate>Fri, 16 Jan 2026 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/a-software-library-with-no-code/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://www.dbreunig.com/2026/01/08/a-software-library-with-no-code.html&#34;&gt;A software library with no code&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is an interesting concept made possible by LLMs.&lt;/p&gt;
&lt;p&gt;Drew Breunig is releasing a library that consists only of a &lt;a href=&#34;https://github.com/dbreunig/whenwords/blob/main/SPEC.md&#34;&gt;specification file&lt;/a&gt;. You can then have the library implemented in your favorite programming language by using this prompt:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Implement the whenwords library in [LANGUAGE].

1. Read SPEC.md for complete behavior specification
2. Parse tests.yaml and generate a test file
3. Implement all five functions: timeago, duration, parse_duration,
   human_date, date_range
4. Run tests until all pass
5. Place implementation in [LOCATION]

All tests.yaml test cases must pass. See SPEC.md &amp;#34;Testing&amp;#34; section
for test generation examples.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Drew also asks himself if this could be the future and if we still need libraries with code.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Your retrospective is useless</title>
      <link>https://writingdeveloper.com/posts/your-retrospective-is-useless/</link>
      <pubDate>Thu, 15 Jan 2026 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/your-retrospective-is-useless/</guid>
      
      
      <category>posts</category>
      
      
      
      <description>&lt;p&gt;Of course, it&amp;rsquo;s not useless! But there are things you should avoid. But let&amp;rsquo;s take a step back.&lt;/p&gt;
&lt;p&gt;Retrospectives are pretty standard in tech companies, and they serve a great purpose: &lt;strong&gt;helping teams improve over time and learn from their mistakes&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;However, over the years, I&amp;rsquo;ve seen many companies run them incorrectly, and by doing so, they lose all the benefits they provide.&lt;/p&gt;
&lt;p&gt;Following are some of the &lt;strong&gt;most common mistakes&lt;/strong&gt; I&amp;rsquo;ve seen, and some very opinionated &lt;strong&gt;ways to avoid them&lt;/strong&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>The Cold Start Problem</title>
      <link>https://writingdeveloper.com/posts/the-cold-start-problem/</link>
      <pubDate>Sat, 10 Jan 2026 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/the-cold-start-problem/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://read.thecoder.cafe/p/cold-start-problem&#34;&gt;The Cold Start Problem&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I clearly remember when Google launched its attempt at a social network, Google+, and how it was instantly clear it would be a flop. I also remember my thoughts when I was using it: &amp;ldquo;There&amp;rsquo;s nobody in here&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Now, thanks to Alex Teiva, I can put a name to the problem and understand where Google made a mistake.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The cold start problem is a chicken-and-egg problem: no users without value, no value without users.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>AI Systems Engineering Patterns</title>
      <link>https://writingdeveloper.com/posts/ai-systems-engineering-patterns/</link>
      <pubDate>Wed, 07 Jan 2026 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/ai-systems-engineering-patterns/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://blog.alexewerlof.com/p/ai-systems-engineering-patterns&#34;&gt;AI Systems Engineering Patterns&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I already wrote about using AI without the use of direct prompts in one of &lt;a href=&#34;https://writingdeveloper.com/posts/learning-without-prompts/&#34;&gt;my previous posts&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Today, I came across a newsletter issue by &lt;a href=&#34;https://blog.alexewerlof.com/&#34;&gt;Alex Ewerlöf&lt;/a&gt; who put up an awesome list of possibilities on how we can use AI to build systems. This was an eye-opener for me, as I still didn&amp;rsquo;t have a clear picture in my mind of how AI could be integrated without the user interacting with it.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>How to stop AI from killing your critical thinking</title>
      <link>https://writingdeveloper.com/posts/how-to-stop-ai-from-killing-your-critical-thinking/</link>
      <pubDate>Wed, 31 Dec 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/how-to-stop-ai-from-killing-your-critical-thinking/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/3lPnN8omdPA?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;A TED talk by Advait Sarkar, where he illustrates how professional knowledge workers tend to use AI and how this will eventually impact our brains. He also presents a prototype where AI is kept in the loop, but the user remains involved in the intellectual process, possibly augmented by AI assistance.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Advent of Code 2025</title>
      <link>https://writingdeveloper.com/posts/advent-of-code-2025/</link>
      <pubDate>Thu, 18 Dec 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/advent-of-code-2025/</guid>
      
      
      <category>posts</category>
      
      <category>programming</category>
      
      
      
      <description>&lt;p&gt;Here it comes that time of the year again: Advent of Code is out!&lt;/p&gt;
&lt;p&gt;This year, as Eric &lt;a href=&#34;https://adventofcode.com/2025/about#faq_num_days&#34;&gt;pointed out&lt;/a&gt;, the total number of puzzles will be only 12. He has a life, and after 10 years of doing this, he wants to dedicate less time to it; totally understandable.&lt;/p&gt;
&lt;p&gt;I actually appreciated the new duration even more. It&amp;rsquo;s usually hard to keep up with the pace of the challenges and having less puzzles made it a more relaxing experience.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>The Learning Loop and LLMs</title>
      <link>https://writingdeveloper.com/posts/learning-loop-and-llms/</link>
      <pubDate>Thu, 27 Nov 2025 09:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/learning-loop-and-llms/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://martinfowler.com/articles/llm-learning-loop.html&#34;&gt;The Learning Loop and LLMs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Last week, I came across &lt;a href=&#34;https://github.com/jackdoe/pico2-swd-riscv?tab=readme-ov-file#0-vibe-code-warning-written-by-human&#34;&gt;this disclaimer&lt;/a&gt; on a Github project. The author explains how they vibe coded the most part of it.&lt;/p&gt;
&lt;p&gt;This sentence struck me (emphasis mine) as it reflects the exact way I&amp;rsquo;m feeling when I rely too much on LLMs:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Overall I would say it was a horrible experience, even though it took 10 hours to write close to 10000 lines of code, I don&amp;rsquo;t consider this my project, and &lt;strong&gt;I have no sense of accomplishment or growth&lt;/strong&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Cancelling async Rust (RustConf 2025)</title>
      <link>https://writingdeveloper.com/posts/cancelling-async-rust/</link>
      <pubDate>Wed, 19 Nov 2025 09:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/cancelling-async-rust/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/zrv5Cy1R7r4?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;In this talk, Rain shares their experience in dealing with async cancellation in Rust and the bugs they encountered.&lt;/p&gt;
&lt;p&gt;They also provide a small checklist to help you not introducing bugs in case cancellation happens.&lt;/p&gt;
&lt;p&gt;If you haven&amp;rsquo;t watched it yet, do it now!&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Data race vs race condition</title>
      <link>https://writingdeveloper.com/posts/data-race-vs-race-condition/</link>
      <pubDate>Wed, 05 Nov 2025 08:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/data-race-vs-race-condition/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://read.thecoder.cafe/p/data-race-vs-race-condition&#34;&gt;Data race vs race condition&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I really like the distinction Teiva Harsanyi makes between a data race and a race condition:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;data race&lt;/strong&gt; occurs when two or more threads simultaneously access the same memory location, and at least one of these accesses is a write operation.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;race condition&lt;/strong&gt; refers to any situation where the outcome depends on the timing of events that can’t be controlled, such as which thread runs first.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;And from those definitions, he derives this other key conclusion:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>AI sucks the joy out of programming</title>
      <link>https://writingdeveloper.com/posts/ai-sucks-the-joy-out-of-programming/</link>
      <pubDate>Tue, 04 Nov 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/ai-sucks-the-joy-out-of-programming/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://alexn.org/blog/2025/10/27/ai-sucks-the-joy-out-of-programming&#34;&gt;AI sucks the joy out of programming&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sometime ago, I talked about how &lt;a href=&#34;https://writingdeveloper.com/posts/embrace-ai/&#34;&gt;embracing AI&lt;/a&gt; would be the only way forward.&lt;/p&gt;
&lt;p&gt;That example was about the use of AI in education. As far as we can tell, until it doesn&amp;rsquo;t cost too much and even if there&amp;rsquo;s too much hype around it, AI is a technology that is here to stay.&lt;/p&gt;
&lt;p&gt;So making it part of our life is inevitable, and probably easier than fighting it.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Smartphones and being present</title>
      <link>https://writingdeveloper.com/posts/smartphones-and-being-present/</link>
      <pubDate>Sat, 25 Oct 2025 11:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/smartphones-and-being-present/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://herman.bearblog.dev/being-present&#34;&gt;Smartphones and being present&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s always nice to see people trying to escape &amp;ldquo;the algorithm&amp;rdquo;. If you really want to, it&amp;rsquo;s possible.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m doing the same and I described my method in one of my previous posts on &lt;a href=&#34;https://writingdeveloper.com/posts/digital-minimalism-book/&#34;&gt;digital minimalism&lt;/a&gt;. It&amp;rsquo;s working great and I confirm what Herman Martinus says in his post:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;My solution [&amp;hellip;] has turned me into a more present, less distracted, and more optimistic person. I have much more time to spend in nature, with friends, or on my hobbies and projects. I can&amp;rsquo;t imagine trading it in for a tiny screen, ever.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Service Disruption on October 20, 2025</title>
      <link>https://writingdeveloper.com/posts/service-disruption-october-20-2025/</link>
      <pubDate>Fri, 24 Oct 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/service-disruption-october-20-2025/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://incident.io/blog/service-disruption-october-20th-2025&#34;&gt;Service Disruption on October 20, 2025&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is a post-mortem from incident.io about an incident originating from the &lt;a href=&#34;https://health.aws.amazon.com/health/status?eventID=arn:aws:health:us-east-1::event/MULTIPLE_SERVICES/AWS_MULTIPLE_SERVICES_OPERATIONAL_ISSUE/AWS_MULTIPLE_SERVICES_OPERATIONAL_ISSUE_BA540_514A652BE1A&#34;&gt;AWS outage&lt;/a&gt; in the &lt;code&gt;us-east-1&lt;/code&gt; region.&lt;/p&gt;
&lt;p&gt;I wanted to share this here because it made me realize something I hadn&amp;rsquo;t properly thought about before: when half of the internet is down, services like incident.io or Pagerduty experience a huge increased load because everyone relies on them to get notified when their system is down.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>How I influence tech company politics as a staff software engineer</title>
      <link>https://writingdeveloper.com/posts/how-i-influence-tech-company-politics-as-staff-engineer/</link>
      <pubDate>Thu, 23 Oct 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/how-i-influence-tech-company-politics-as-staff-engineer/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://www.seangoedecke.com/how-to-influence-politics&#34;&gt;How I influence tech company politics as a staff software engineer&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Software engineers are not good at playing politics, and I know it very well as I&amp;rsquo;ve always been deemed too technical.&lt;/p&gt;
&lt;p&gt;That doesn&amp;rsquo;t mean we can&amp;rsquo;t try to have influence and this piece from Sean Goedecke explains a great strategy to do so.&lt;/p&gt;
&lt;p&gt;One option is to:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;actively work to make a high-profile project successful&lt;/strong&gt;. This is more or less what you ought to be doing anyway, just as part of your ordinary job.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Development gets better with Age</title>
      <link>https://writingdeveloper.com/posts/development-gets-better-with-age/</link>
      <pubDate>Sat, 04 Oct 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/development-gets-better-with-age/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://www.allthingsdistributed.com/2025/10/better-with-age.html&#34;&gt;Development gets better with Age&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Werner Vogels wrote this fantastic piece on how to take things slow. As seasoned developers, we have seen many new technologies emerge with their respective bubbles/hype. What is the most reasonable thing to do, then?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The older developer knows that this is exactly the time to press the pause button.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;AI is no exception, but apparently, &lt;strong&gt;most people and companies forgot to pause&lt;/strong&gt;. Indeed, we&amp;rsquo;ve been living the last one or two years in a hurry, always catching up with the latest models and betting on which job AI is going to take, given the recent progress. And why is this happening?&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Learning without prompts</title>
      <link>https://writingdeveloper.com/posts/learning-without-prompts/</link>
      <pubDate>Fri, 26 Sep 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/learning-without-prompts/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original posts:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.seangoedecke.com/autodeck/&#34;&gt;What I learned building an AI-driven spaced repetition app&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.seangoedecke.com/endless-wiki&#34;&gt;Endless AI-generated Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Today, I read about two interesting projects from Sean Goedecke. Both use AI and explore ways to interact with LLMs without a text prompt from the user.&lt;/p&gt;
&lt;p&gt;The first is about a spaced repetition app that leverages the power of LLMs to generate cards that stimulate our brains to remember a specific user-defined topic. The good part is that cards are no longer a burden for the user and can be endless.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>That boolean should probably be something else</title>
      <link>https://writingdeveloper.com/posts/that-boolean-should-probably-be-something-else/</link>
      <pubDate>Tue, 29 Jul 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/that-boolean-should-probably-be-something-else/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://ntietz.com/blog/that-boolean-should-probably-be-something-else/&#34;&gt;That boolean should probably be something else&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Nicole Tietz&amp;rsquo;s recent post is a fantastic read on why we should be wary of using booleans in our data models.&lt;/p&gt;
&lt;p&gt;Specifically:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;They&amp;rsquo;re sneaky. They feel like they make sense for our data, but they make sense for our logic. The data is usually something different underneath. By storing a boolean as our data, we&amp;rsquo;re coupling that data tightly to our application logic.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Why async Rust?</title>
      <link>https://writingdeveloper.com/posts/why-async-rust/</link>
      <pubDate>Tue, 17 Jun 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/why-async-rust/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://without.boats/blog/why-async-rust/&#34;&gt;Why async Rust?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The person who drove the design of Rust&amp;rsquo;s async/await syntax shares an interesting deep dive into why they chose this approach over green threads.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Rust&amp;rsquo;s lack of runtime made green threads a non-viable solution, both because Rust needs to support embedding (both embedding into other applications and running on embedded systems) and because Rust cannot perform the memory management necessary for green threads.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;They also explain pros and cons of the available alternatives, frame them in Rust&amp;rsquo;s memory safety context, and address common criticisms along the way.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Embrace AI</title>
      <link>https://writingdeveloper.com/posts/embrace-ai/</link>
      <pubDate>Fri, 13 Jun 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/embrace-ai/</guid>
      
      
      <category>posts</category>
      
      
      
      <description>&lt;p&gt;I recently came across an &lt;a href=&#34;https://nymag.com/intelligencer/article/openai-chatgpt-ai-cheating-education-college-students-school.html&#34;&gt;article&lt;/a&gt; from New York Magazine, whose author clearly frames AI as a big problem. While I was surprised by how AI is already shaping the world and how much risk can come from that, I wondered if AI really is the problem.&lt;/p&gt;
&lt;p&gt;Are we sure it is? Are we sure slow-adapting institutions are not the problem?&lt;/p&gt;
&lt;p&gt;The goal of universities shouldn’t change over time: students need to complete their study path, be competent in what they study, and be ready for a job. If institutions fail in that, then they need to adapt.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>What Every Programmer Should Know about How CPUs Work</title>
      <link>https://writingdeveloper.com/posts/how-cpus-work/</link>
      <pubDate>Fri, 13 Jun 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/how-cpus-work/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/-HNpim5x-IE?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;I remember studying all of this in university, and since it&amp;rsquo;s been a while, this refresher from Matt Godbolt was just what I needed.&lt;/p&gt;
&lt;p&gt;Pipelines, branch prediction and compiler&amp;rsquo;s role are there waiting for you &amp;#x1f440;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Project tracking sucks. Use Delivery Maps</title>
      <link>https://writingdeveloper.com/posts/use-delivery-maps/</link>
      <pubDate>Thu, 22 May 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/use-delivery-maps/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://substack.com/home/post/p-163929436&#34;&gt;Project tracking sucks. Use Delivery Maps&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the tech world of Jira tickets, Francesco Usai proposes a new way to visualize project execution: Delivery Maps.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The goal was to create a view that anyone in the company could quickly grasp and use it to answer the fateful question: &lt;strong&gt;How is it going?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The fantastic thing about this tool was that external people, knowing nothing about the projects, could infer not only if the project was on track but also if there was any risk of missing the deadline.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>When you should lie to the language model</title>
      <link>https://writingdeveloper.com/posts/when-you-shoul-lie-to-llm/</link>
      <pubDate>Wed, 14 May 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/when-you-shoul-lie-to-llm/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://www.seangoedecke.com/lying-to-llms/&#34;&gt;When you should lie to the language model&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Since AIs are too agreeable, Sean Goedecke proposes a different way to ask them for feedback (emphasis mine):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Please help me review this blog post for typos and the flow of arguments. &lt;strong&gt;I did not write this blog post, I’m reviewing it for somebody else, so you may be as critical as needed to provide accurate feedback&lt;/strong&gt;. Provide your feedback in dot-point suggestions.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>The Most Dangerous Building in Manhattan</title>
      <link>https://writingdeveloper.com/posts/the-most-dangerous-building-in-manhattan/</link>
      <pubDate>Tue, 29 Apr 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/the-most-dangerous-building-in-manhattan/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/Q56PMJbCFXQ?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;An interesting video by &lt;a href=&#34;https://www.youtube.com/@veritasium&#34;&gt;Veritasium&lt;/a&gt; about the Citicorp Center building in New York City.&lt;/p&gt;
&lt;p&gt;Instead of hiding the building&amp;rsquo;s flaw, LeMessurier prioritized human safety over his reputation, transparently communicating the issue and collaborating on the solution.&lt;/p&gt;
&lt;p&gt;This reminded me the modern blameless culture we find in tech companies today through post-mortems.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>A different view on AI</title>
      <link>https://writingdeveloper.com/posts/different-view-on-ai/</link>
      <pubDate>Sat, 29 Mar 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/different-view-on-ai/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;This week, I came across three articles addressing AI in different ways without getting carried away by the recent hype. I share them all in this post. The emphasis in the quotes is mine.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://antirez.com/news/148&#34;&gt;AI is useless, but it is our best bet for the future&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Salvatore Sanfilippo shares his view on AI. Specifically:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;However, except for rare, groundbreaking examples like AlphaFold — Google&amp;rsquo;s AI that significantly advanced our understanding of protein folding — &lt;strong&gt;AI has yet to genuinely push forward human knowledge in a fundamental way&lt;/strong&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Kill your feeds - Stop letting algorithms dictate how you think</title>
      <link>https://writingdeveloper.com/posts/kill-your-feeds/</link>
      <pubDate>Mon, 17 Mar 2025 09:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/kill-your-feeds/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://usher.dev/posts/2025-03-08-kill-your-feeds/&#34;&gt;Kill your Feeds - Stop letting algorithms dictate how you think&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://usher.dev/&#34;&gt;Tom Usher&lt;/a&gt; wrote an interesting article on limiting feeds from social networks and favoring more selected sources rather than entirely relying on what &lt;em&gt;the algorithm&lt;/em&gt; suggests to you.&lt;/p&gt;
&lt;p&gt;Among the suggested alternatives, here&amp;rsquo;s what Tom recommends:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Go directly to the source (e.g., a creator profile or a YouTube channel)&lt;/li&gt;
&lt;li&gt;Use platform features that let you control your experience (e.g., YouTube subscriptions)&lt;/li&gt;
&lt;li&gt;Spread the word!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I explored related themes in my post on &lt;a href=&#34;https://writingdeveloper.com/posts/digital-minimalism-book/&#34;&gt;digital minimalism&lt;/a&gt;. It&amp;rsquo;s encouraging to see this growing movement toward more intentional digital consumption rather than passive algorithm-driven experiences.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Refactoring to understand and &#34;vibe coding&#34;</title>
      <link>https://writingdeveloper.com/posts/refactoring-vibe-coding/</link>
      <pubDate>Mon, 17 Mar 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/refactoring-vibe-coding/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://www.seangoedecke.com/vibe-coding/&#34;&gt;Refactoring to understand and &amp;ldquo;vibe coding&amp;rdquo;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A couple of weeks ago, I introduced the concept of &lt;a href=&#34;https://writingdeveloper.com/posts/software-development-on-vibes/&#34;&gt;vibe coding&lt;/a&gt; - using AI to generate code without fully understanding it. I briefly highlighted why using vibe coding for production code is a terrible idea.&lt;/p&gt;
&lt;p&gt;In this article, Sean Goedecke goes more in-depth and identifies two main problems related to vibe coding:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Unless for small scripts or throw-away code, you&amp;rsquo;ll hit a size limit for the codebase. LLMs will not be able to have the full context, and they&amp;rsquo;ll need directions on where to look or apply changes&lt;/li&gt;
&lt;li&gt;You&amp;rsquo;re unaware of the code written. You just know it works (maybe). This is a problem when non-technical people ask questions on details of how the code works or you need to introduce some changes (not relying on LLMs)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In both cases, this quote sums it up pretty well:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Will the future of software development run on vibes?</title>
      <link>https://writingdeveloper.com/posts/software-development-on-vibes/</link>
      <pubDate>Thu, 06 Mar 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/software-development-on-vibes/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt; &lt;a href=&#34;https://simonwillison.net/2025/Mar/6/vibe-coding/&#34;&gt;Will the future of software development run on vibes?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Today, I came across the term &amp;ldquo;vibe coding,&amp;rdquo; which I didn&amp;rsquo;t know before. That&amp;rsquo;s the following:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When you prompt an LLM to write code, accept all changes and keep feeding it prompts and error messages and see what you can get it to build.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As Simon also points out, using this method for production code is a terrible idea. The software might be working, but it&amp;rsquo;s not maintainable in the long term (at least, at the current state of LLMs).&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>When Imperfect Systems are Good</title>
      <link>https://writingdeveloper.com/posts/imperfect-systems-are-good/</link>
      <pubDate>Tue, 25 Feb 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/imperfect-systems-are-good/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;In 2023 I &lt;a href=&#34;https://writingdeveloper.com/posts/weekly-tech-notes-01/&#34;&gt;started&lt;/a&gt; sharing links on a weekly basis. It worked for a while, but the fixed cadence was hard to maintain. Some weeks, I had plenty of time to read; others, I didn&amp;rsquo;t.&lt;/p&gt;
&lt;p&gt;So, I&amp;rsquo;m going to change the format. From now on, I&amp;rsquo;m following Simon Willison&amp;rsquo;s &lt;a href=&#34;https://simonwillison.net/2024/Dec/22/link-blog/&#34;&gt;approach&lt;/a&gt;: a post per link, with ad-hoc quotes and a small commentary. It&amp;rsquo;s more flexible and scalable and helps make writing easier.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s go!&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>How to fight the algorithm that plays with your attention</title>
      <link>https://writingdeveloper.com/posts/digital-minimalism-book/</link>
      <pubDate>Tue, 11 Feb 2025 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/digital-minimalism-book/</guid>
      
      
      <category>posts</category>
      
      <category>books</category>
      
      
      
      <description>&lt;p&gt;I reduced the time spent on social media from 2-3 hours a day to 1 hour a week.
The result? I&amp;rsquo;ve never felt better!&lt;/p&gt;
&lt;p&gt;This introduction might sound like one of those typical guru slogans where I end up trying to sell you a ground-breaking system to boost your productivity and become rich by working 13 minutes a day.&lt;/p&gt;
&lt;p&gt;The truth is, I didn&amp;rsquo;t realize how cumbersome or addictive social media was until I tried to free myself from it. It all started with a book: &lt;a href=&#34;https://www.goodreads.com/book/show/40672036-digital-minimalism&#34;&gt;Digital Minimalism&lt;/a&gt; by Cal Newport.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Advent of Code 2024</title>
      <link>https://writingdeveloper.com/posts/advent-of-code-2024/</link>
      <pubDate>Mon, 30 Dec 2024 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/advent-of-code-2024/</guid>
      
      
      <category>posts</category>
      
      <category>programming</category>
      
      
      
      <description>&lt;p&gt;As in previous years, from December 1st to 25th, the &lt;a href=&#34;https://adventofcode.com/&#34;&gt;Advent of Code&lt;/a&gt; took place — a coding competition in which a new puzzle is revealed daily and solved through programming. Each puzzle is divided into two parts, and each correct answer earns a gold star. With 25 puzzles, the maximum is 50 stars.&lt;/p&gt;
&lt;p&gt;I first attempted it in 2020 but abandoned it after a few days. This year, however, I decided to be systematic and collect as many stars as possible.
I set myself some personal rules:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>1 Billion Row Challenge</title>
      <link>https://writingdeveloper.com/posts/1brc-challenge/</link>
      <pubDate>Sat, 31 Aug 2024 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/1brc-challenge/</guid>
      
      
      <category>posts</category>
      
      <category>programming</category>
      
      
      
      <description>&lt;p&gt;A couple of months ago, I came across &lt;a href=&#34;https://github.com/1brc&#34;&gt;this challenge&lt;/a&gt;, which involves reading and processing a file with one billion rows. Each row reports a city&amp;rsquo;s temperature measurement. The expected output is a list of cities sorted alphabetically, showing the minimum, maximum, and average temperature.&lt;/p&gt;
&lt;p&gt;The required logic isn&amp;rsquo;t rocket science, but the real challenge lies in processing the file as quickly as possible, and one billion rows, even if it doesn&amp;rsquo;t seem like it, are a lot!&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Remote working is alienating, or is it?</title>
      <link>https://writingdeveloper.com/posts/wfh-is-alienating/</link>
      <pubDate>Fri, 17 May 2024 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/wfh-is-alienating/</guid>
      
      
      <category>posts</category>
      
      <category>remote-work</category>
      
      
      
      <description>&lt;p&gt;&lt;img src=&#34;tenerife_sunset.jpg&#34; alt=&#34;Image&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;the-office&#34;&gt;The Office&lt;/h3&gt;
&lt;p&gt;It&amp;rsquo;s 7 AM, and your alarm is blaring. Groggily, you reach over to hit the snooze button, but the sound persists, dragging you out of bed. You peek outside and see it&amp;rsquo;s raining. Great, just what you needed on a Monday morning. You rush through a quick breakfast and hastily get dressed, knowing you have a long commute ahead.&lt;/p&gt;
&lt;p&gt;The drive to the office is anything but pleasant. Traffic is horrendous, and what should be a 45-minute journey stretches to an hour. The rain doesn&amp;rsquo;t help either; it seems to slow everything down, including your patience. By the time you reach the office, you&amp;rsquo;re already exhausted.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Book Summary: Atomic Habits by James Clear</title>
      <link>https://writingdeveloper.com/posts/atomic-habits-book/</link>
      <pubDate>Thu, 14 Mar 2024 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/atomic-habits-book/</guid>
      
      
      <category>posts</category>
      
      <category>books</category>
      
      
      
      <description>&lt;p&gt;One of the initial goals of this blog was to write summaries of books I read. This way, I can reinforce the concepts I learned and have a place where I can look for topic refreshers. Also, this can be useful to other people.&lt;/p&gt;
&lt;p&gt;Here is the first post in this regard, and I will start with &lt;a href=&#34;https://www.goodreads.com/book/show/40121378-atomic-habits&#34;&gt;Atomic Habits&lt;/a&gt; by James Clear.&lt;/p&gt;
&lt;h3 id=&#34;introduction&#34;&gt;Introduction&lt;/h3&gt;
&lt;p&gt;The main book idea is that small habits compound over time and lead to great results. You shouldn&amp;rsquo;t focus on the goal, but on the system that leads you to the goal itself.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #19: Availability</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-19/</link>
      <pubDate>Fri, 01 Dec 2023 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-19/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/tEylFyxbDLE?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;&amp;#x1f3ac; A video about the difference between SLIs, SLOs and SLAs. In a nutshell, SLIs drive SLOs, which in turn inform SLAs.
More specifically:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SLIs are Service Level Indicators or metrics over time which inform about the health of a service (e.g. 95th percentile of latency over last 5 minutes)&lt;/li&gt;
&lt;li&gt;SLOs are Service Level Objectives agreed upon bounds for how often those SLIs must be met (e.g. 95th percentile SLI will succeed 99,9% over the year)&lt;/li&gt;
&lt;li&gt;SLAs are business-level agreements which define the service availability for a customer and the penalties for breaking that availability&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#x1f4da; Availability is an important concept for distributed systems. There&amp;rsquo;s math behind it, but also reasonable rules of thumb to follow. This week, I&amp;rsquo;m sharing a few articles that cover the topic.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #18: Consistent Hashing</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-18/</link>
      <pubDate>Fri, 24 Nov 2023 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-18/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/UF9Iqmg94tk?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;&amp;#x1f3ac; If you’re too lazy to read the articles below, this video is for you. It’s a short and concise explanation of what Consistent Hashing is and how it works.&lt;/p&gt;
&lt;p&gt;&amp;#x1f4da; This week I decided to focus on Consistent Hashing. I’ve been hearing about this topic for a while now, but I never really found the time to dig deeper. Consistent Hashing is an important algorithm used to horizontally scale and manage distributed systems. It is usually explained in the context of sharded systems, but it can be applied in many other scenarios, like load balancing, routing algorithms and more.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #17: Architecture Refresher</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-17/</link>
      <pubDate>Fri, 17 Nov 2023 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-17/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/goYiaIGebFo?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;&amp;#x1f3ac; In this talk, Gregor Hohpe describes the role of the architect and the many trade-offs that come with it. An architect should be able to talk to both business and technical people, thus being able to sketch a system to see its real essence, zooming in and out to focus on more or fewer details and seeing shades of grey of different solutions.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #16: Complexity</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-16/</link>
      <pubDate>Fri, 10 Nov 2023 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-16/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/y8OnoxKotPQ?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;&amp;#x1f3ac; A well-known parody about the microservices environment in which the system is so complex that even displaying a birthday date is a real hustle.&lt;/p&gt;
&lt;p&gt;&amp;#x1f4da; As you might already understand, this week&amp;rsquo;s readings are all about microservices and the challenges that come with them.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #15: Cell-based Architecture</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-15/</link>
      <pubDate>Fri, 29 Sep 2023 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-15/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/E6H4bgJ3Z6c?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;&amp;#x1f3ac; Reading below Slack blog post I discovered they use &lt;a href=&#34;https://vitess.io/&#34;&gt;Vitess&lt;/a&gt;: a database clustering system for horizontal scaling of MySQL. It is used not only by Slack but also by YouTube, Square, Hubspot and many others. This video explains its architecture and shows a demo of it in action.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #14: Multitenancy</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-14/</link>
      <pubDate>Fri, 22 Sep 2023 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-14/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/Khu9BB2g4Ks?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;&amp;#x1f3ac; This week&amp;rsquo;s video is not technical but worth watching. It&amp;rsquo;s the fastest Super Mario Bros speedrun with a time of 4:54.631, achieved less than two weeks ago (at the time of writing). The previous record was 4:55.230. Have fun!&lt;/p&gt;
&lt;p&gt;This time, readings are all about multi-tenancy, from the basics to more advanced topics like rate limiters and fairness.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #13: Threads</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-13/</link>
      <pubDate>Fri, 15 Sep 2023 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-13/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/XdspkM5atwU?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;&amp;#x1f3ac; This week&amp;rsquo;s video dives into Meta&amp;rsquo;s journey in re-architecting their asynchronous computing platform. Besides splitting the system into smaller pieces to better follow the single-responsibility principle, they also switched from a pull-based to a push-based model. This brought many benefits including less latency caused by errors and better load balancing across regions.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #12: Salary negotiation</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-12/</link>
      <pubDate>Fri, 08 Sep 2023 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-12/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/UIHfzUvMAbM?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;Hey people! &amp;#x1f44b;&lt;/p&gt;
&lt;p&gt;After the summer break, we are back even more motivated than before! &amp;#x1f4aa;&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s video is about the three types of probes in Kubernetes: startup, liveness and readiness. As a refresher, the three probes answer the following questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Startup probe: is the container started?&lt;/li&gt;
&lt;li&gt;Liveness probe: should the container be restarted?&lt;/li&gt;
&lt;li&gt;Readiness probe: should the container accept traffic?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The speaker then goes through the differences among them and how to avoid committing some common mistakes that would result in production problems.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #11: Monitor all the things</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-11/</link>
      <pubDate>Fri, 28 Jul 2023 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-11/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/an8SrFtJBdM?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;A short video explaining the differences among DevOps, SRE and Platform Engineering. The main takeaway is that DevOps is a culture, while SRE and Platform Engineering are roles. The latter two are not mutually exclusive, but they are not the same either. In fact, Platform Engineers are responsible for the infrastructure, while SREs are responsible for the applications.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #10: Failing bus</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-10/</link>
      <pubDate>Thu, 20 Jul 2023 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-10/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/1nKC505_uTU?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;This talk shows the Rust adoption journey by Truelayer, summarizing the pros and cons of taking this path. Interestingly, the main benefits inherit from functional programming: composition and exhaustive pattern matching.&lt;/p&gt;
&lt;p&gt;In addition, we will read about the bus factor, resilient architectures (again) and health checks.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #9: Embrace chaos</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-09/</link>
      <pubDate>Fri, 14 Jul 2023 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-09/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/zXPiqk0-zDY?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;This week I stumbled upon a video about a guy building a 32-bit CPU running inside the game Terraria. It&amp;rsquo;s a fun watch! &amp;#x1f604;&lt;/p&gt;
&lt;p&gt;On the reading side, we will mainly explore the world of Chaos Engineering, followed by a visual explanation of exponential backoff and a simple but effective introduction to Functional Programming.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #8: Resilience is key</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-08/</link>
      <pubDate>Fri, 07 Jul 2023 07:00:00 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-08/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/Uu32ggF-DWg?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;Today&amp;rsquo;s video is about Netflix&amp;rsquo;s architecture evolution.&lt;/p&gt;
&lt;p&gt;The main takeaway we should stick in our minds is that the architecture of our business should be tailored to its needs, not the other way around.&lt;/p&gt;
&lt;p&gt;In addition, we will read about resilient systems through retrospection and load shedding with a pinch of hashing on top.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #7</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-07/</link>
      <pubDate>Fri, 30 Jun 2023 10:30:15 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-07/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/DpSoj00vkPpswwZU9o/giphy.gif&#34; alt=&#34;Image&#34;&gt;&lt;/p&gt;
&lt;p&gt;Good afternoon, and welcome to the seventh edition of Weekly Tech Notes!&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s not that easy to find good videos to watch, so this week I&amp;rsquo;m sharing only articles.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://robertheaton.com/preventing-impossible-game-levels-using-cryptography/&#34;&gt;Preventing impossible game levels using cryptography&lt;/a&gt; &amp;ndash; A fun story disseminating cryptography pills in building an in-game level editor.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://stackoverflow.blog/2023/06/26/the-hardest-part-of-building-software-is-not-coding-its-requirements/&#34;&gt;The hardest part of building software is not coding, it’s requirements&lt;/a&gt; &amp;ndash; AI will for sure reshape the working environment as we know it, but human software development is here to stay.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.ploeh.dk/2023/06/26/validation-and-business-rules/&#34;&gt;Validation and business rules&lt;/a&gt; &amp;ndash; Starting from his definition of validation, Mark Seemann draws a line between validation and business rules, with a twist on functional programming.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Have a fun weekend! &amp;#x1f44b;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #6</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-06/</link>
      <pubDate>Fri, 23 Jun 2023 10:30:15 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-06/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/josjRSBqEBI?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;Hey folks! &amp;#x1f44b;&lt;/p&gt;
&lt;p&gt;This past week was quite busy, so I just watched a video on Pastebin system design.&lt;/p&gt;
&lt;p&gt;The author has a series of videos on this topic, and I’ll probably watch more of them in the future.&lt;/p&gt;
&lt;p&gt;Key takeaways are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Difference between functional and non-functional requirements. The first ones describe what a system should do. Non-functional, instead, are the ones that describe how a system should perform (e.g., latency, availability, etc.).&lt;/li&gt;
&lt;li&gt;If a paste is too big, we can use a mixed approach: store the first part in a database to give a quick preview to the user and the rest in a bucket available on demand.&lt;/li&gt;
&lt;li&gt;He uses a Distributed Key Generation Service for URLs generation, but UUIDs would have been sufficient.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Have a great end of the week!&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #5</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-05/</link>
      <pubDate>Fri, 16 Jun 2023 10:30:15 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-05/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/bnnacleqg6k?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;Hello again! &amp;#x1f44b;&lt;/p&gt;
&lt;p&gt;Today we start with something new: I&amp;rsquo;ll try to embed a video in every notes post, forcing me to watch a talk every week. It&amp;rsquo;s more valuable than just including GIFs. &amp;#x1f604;&lt;/p&gt;
&lt;p&gt;In today&amp;rsquo;s talk, the author designs a new API in Rust and forces its correct use through the type system.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #4</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-04/</link>
      <pubDate>Fri, 09 Jun 2023 10:30:15 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-04/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/YSfb5vx87BpAU1P9MG/giphy.gif&#34; alt=&#34;Image&#34;&gt;&lt;/p&gt;
&lt;p&gt;Hey, amazing people! :flexed_biceps:&lt;/p&gt;
&lt;p&gt;I am back with the weekly tech notes after a short break due to Italy&amp;rsquo;s public holidays at the beginning of June.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://medium.easyread.co/c4-model-in-software-architecture-6587ab4a2d0f&#34;&gt;Making C4-Model in Software Architecture&lt;/a&gt; &amp;ndash; C4-Model is a simple hierarchical way to describe the architecture of a software system. Its layered approach helps to understand the system from different perspectives.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://netflixtechblog.medium.com/migrating-critical-traffic-at-scale-with-no-downtime-part-2-4b1c8c7155c1&#34;&gt;Migrating Critical Traffic At Scale with No Downtime — Part 2&lt;/a&gt; &amp;ndash; This is the second part of the series about migrating critical traffic at scale, or better, how to carefully control migration processes.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://levelup.gitconnected.com/stay-ahead-of-the-curve-5-must-know-distributed-systems-design-patterns-for-event-driven-7515121a28ae&#34;&gt;5 Must-Know Distributed Systems Design Patterns for Event-Driven Architectures&lt;/a&gt; &amp;ndash; An overview of 5 known design patterns for event-driven architectures.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://levelup.gitconnected.com/12-microservices-pattern-i-wish-i-knew-before-the-system-design-interview-5c35919f16a2&#34;&gt;12 Microservices Patterns I Wish I Knew Before the System Design Interview&lt;/a&gt; &amp;ndash; Another pattern overview, more focused on microservices this time. Some are well-known, others more niche.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://martinfowler.com/bliki/StranglerFigApplication.html&#34;&gt;StranglerFigApplication&lt;/a&gt; &amp;ndash; Reading the previous article, I stumbled upon this pattern used to migrate from a monolith to a microservices architecture, inspired by the strangler fig tree.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://levelup.gitconnected.com/error-handling-in-event-driven-systems-1f0a7ef2cfb7&#34;&gt;Error Handling in Event-Driven Systems&lt;/a&gt; &amp;ndash; Engaging read of how to treat different types of errors in event-driven systems.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Have a wonderful weekend! &amp;#x2764;&amp;#xfe0f;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #3</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-03/</link>
      <pubDate>Thu, 25 May 2023 10:30:15 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-03/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/vf2O8DpuNOZmXH7qZg/giphy.gif&#34; alt=&#34;Image&#34;&gt;&lt;/p&gt;
&lt;p&gt;Hello wonderful people! &amp;#x1f44b;&lt;/p&gt;
&lt;p&gt;Another week, other food for thought. Let&amp;rsquo;s go!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.datadoghq.com/blog/2023-03-08-multiregion-infrastructure-connectivity-issue/&#34;&gt;Infrastructure connectivity issue affecting multiple regions&lt;/a&gt; &amp;ndash; This is a post-mortem from Datadog explaining how a connectivity issue took down their multi-region infrastructure for more than a day. Gergely Orosz covered the same story in &lt;a href=&#34;https://newsletter.pragmaticengineer.com/p/inside-the-datadog-outage&#34;&gt;his newsletter&lt;/a&gt; in a more detailed way.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.xda-developers.com/cloudflare-wall-of-lava-lamps&#34;&gt;How Cloudflare&amp;rsquo;s wall of lava lamps helps keep the internet safe&lt;/a&gt; &amp;ndash; Cloudflare uses a wall of lava lamps (along with two other physical projects) to maximize entropy for cryptographic seeds. First time I heard about this, and you can find more technical details &lt;a href=&#34;https://blog.cloudflare.com/lavarand-in-production-the-nitty-gritty-technical-details/&#34;&gt;here&lt;/a&gt; and &lt;a href=&#34;https://www.cloudflare.com/learning/ssl/lava-lamp-encryption/&#34;&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://fourtheorem.com/the-illustrated-guide-to-s3-pre-signed-urls/&#34;&gt;The illustrated guide to S3 pre-signed URLs&lt;/a&gt; &amp;ndash; Have you ever wondered how to handle uploads and downloads to S3 without exposing your bucket to the public? This article explains how to use pre-signed URLs to grant temporary access to S3 objects. I used this technique in the past and it worked like a charm.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading! &amp;#x1f4da;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #2</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-02/</link>
      <pubDate>Fri, 19 May 2023 10:30:15 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-02/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/J1BJUN9feeyli/giphy-downsized-large.gif&#34; alt=&#34;Image&#34;&gt;&lt;/p&gt;
&lt;p&gt;Hello people! &amp;#x1f973;&lt;/p&gt;
&lt;p&gt;The second edition of the weekly notes is here, with many engaging articles to read. I hope you enjoy it!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.cloudflare.com/introducing-cursor-the-ai-assistant-for-docs/&#34;&gt;Introducing Cursor: the Cloudflare AI Assistant&lt;/a&gt; &amp;ndash; Cloudflare launches Cursor, an experimental AI assistant trained to answer questions about their Developer Platform.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://lucasfcosta.com/2023/02/07/backlogs-are-useless.html&#34;&gt;Why backlogs are harmful, why they never shrink, and what to do instead&lt;/a&gt; &amp;ndash; A reflection on backlogs and why they are not suited for prioritization.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.marcolancini.it/2021/blog-team-weekly-digest/&#34;&gt;Weekly Digests to Increase Visibility and Transparency&lt;/a&gt; &amp;ndash; Be it for personal or professional reasons, the use of weekly digests can be a great way to keep track of your progress.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://medium.com/ssense-tech/event-sourcing-part-i-understanding-what-it-is-core-components-and-common-misconceptions-5dec65f6d61&#34;&gt;Event Sourcing Series&lt;/a&gt; &amp;ndash; A series of four articles about Event Sourcing. It deals with the basics concepts, an overview of read access patterns and how to evolve your system over time, complying with versioning and GDPR. It also provides the full implementation of a simple application in Python.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://engineering.atspotify.com/2023/04/spotifys-shift-to-a-fleet-first-mindset-part-1&#34;&gt;Fleet Management at Spotify&lt;/a&gt; &amp;ndash; Removing low-level work from developers&amp;rsquo; to-do lists allows product teams to focus on solving problems way more interesting than migrating library versions. In this series, Spotify explains how they are switching to a fleet-first mindset.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://towardsdatascience.com/the-design-of-an-event-store-8c751c47db6f&#34;&gt;The Design of an Event Store&lt;/a&gt; &amp;ndash; A good set of requirements an event store should meet and some interesting questions to ask when evaluating one or building your own.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://netflixtechblog.com/migrating-critical-traffic-at-scale-with-no-downtime-part-1-ba1c7a1c7835&#34;&gt;Migrating Critical Traffic At Scale with No Downtime — Part 1&lt;/a&gt; &amp;ndash; First part of a series of articles about how Netflix approaches system migrations through traffic replay.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Have a great weekend! &amp;#x1f44b;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Weekly Tech Notes #1</title>
      <link>https://writingdeveloper.com/posts/weekly-tech-notes-01/</link>
      <pubDate>Fri, 12 May 2023 10:30:15 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/weekly-tech-notes-01/</guid>
      
      
      <category>links</category>
      
      
      
      <description>&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/3oKIPnAiaMCws8nOsE/giphy.gif&#34; alt=&#34;Image&#34;&gt;&lt;/p&gt;
&lt;p&gt;Hello folks!&lt;/p&gt;
&lt;p&gt;Today I&amp;rsquo;m starting a new series of posts where I&amp;rsquo;ll share interesting links found during the week. The purpose is to keep track of the most engaging topics I read and share them with you all. Resources shared won&amp;rsquo;t necessarily be the most recent ones.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll try to be consistent and publish them on Fridays to wrap up the week.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s start!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://security.googleblog.com/2023/05/so-long-passwords-thanks-for-all-phish.html&#34;&gt;So long passwords, thanks for all the phish&lt;/a&gt; &amp;ndash; Google added support for passkeys to its accounts, a more convenient and safer alternative to passwords. The &amp;ldquo;Under the hood&amp;rdquo; section is worth reading to understand how it works.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.blog/2023-05-08-github-code-search-is-generally-available&#34;&gt;GitHub code search is generally available&lt;/a&gt; &amp;ndash; Github announced the general availability of its code search feature.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.blog/2023-02-06-the-technology-behind-githubs-new-code-search/&#34;&gt;The technology behind GitHub’s new code search&lt;/a&gt; &amp;ndash; If code search is something you&amp;rsquo;re interested in, this article can give you a better understanding of how it works in practice and at Github&amp;rsquo;s scale.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.allthingsdistributed.com/2023/05/monoliths-are-not-dinosaurs.html&#34;&gt;Monoliths are not dinosaurs&lt;/a&gt; &amp;ndash; Werner Vogels, CTO at Amazon, explains that there is no architectural pattern to rule them all and that you should revisit every order of magnitude of growth. If you need to rethink the architecture, designing it as an evolutionary one will make it easier.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90&#34;&gt;Scaling up the Prime Video audio/video monitoring service and reducing costs by 90%&lt;/a&gt; &amp;ndash; Werner mentions this in the previous article, but it&amp;rsquo;s worth reading the full story about how Amazon Prime Video switched from a microservices to a monolith architecture (yes, you read it right).&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://world.hey.com/dhh/how-to-recover-from-microservices-ce3803cc&#34;&gt;How to recover from microservices&lt;/a&gt; &amp;ndash; In the same vein, David Heinemeier Hansson, CTO at Basecamp, explains how the need for microservices is often overestimated and how to recover from them.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.devgenius.io/notification-system-design-that-scales-361e03b1d9e0&#34;&gt;Notification System: Design that scales&lt;/a&gt; &amp;ndash; Here you can find a high-level overview of how to design a notification system. There&amp;rsquo;s a lot more to it, but it&amp;rsquo;s a good starting point.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://samwho.dev/load-balancing/&#34;&gt;Load Balancing&lt;/a&gt; &amp;ndash; A great introduction to load balancing, with a focus on the different algorithms used to distribute the load. It touches round-robin, weighted round-robin, least connections and Peak Exponentially Weighted Moving Average (PEWMA).&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://lucasfcosta.com/2022/10/02/scrum-versus-kanban.html&#34;&gt;You don&amp;rsquo;t need Scrum. You just need to do Kanban right.&lt;/a&gt; &amp;ndash; I always felt Scrum was too rigid and Kanban a better fit for most teams. This article gives valid arguments to support this idea.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See you next week! &amp;#x1f44b;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Hello there!</title>
      <link>https://writingdeveloper.com/posts/hello-there/</link>
      <pubDate>Fri, 05 May 2023 11:36:31 +0200</pubDate>
      
      <guid>https://writingdeveloper.com/posts/hello-there/</guid>
      
      
      <category>posts</category>
      
      <category>introduction</category>
      
      
      
      <description>&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/xTiIzJSKB4l7xTouE8/giphy.gif&#34; alt=&#34;Image&#34;&gt;&lt;/p&gt;
&lt;p&gt;Hey, amazing people! &amp;#x1f44b;&lt;/p&gt;
&lt;p&gt;This is the third time in my life that I&amp;rsquo;ve attempted to start a blog, and I&amp;rsquo;m hoping this time I will be able to keep it up and running for a while.&lt;/p&gt;
&lt;p&gt;The main purposes of this blog are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Learn new topics by writing about them. As you might have heard, teaching is learning, so reading about something and doing so to explain gives a different result, allowing me to grow both personally and professionally.&lt;/li&gt;
&lt;li&gt;Summarize (technical) books I study with the same goal as before, learn by writing.&lt;/li&gt;
&lt;li&gt;Force me to stay up-to-date with recent tech news (I usually do it, but as before, I&amp;rsquo;m more motivated).&lt;/li&gt;
&lt;li&gt;Be this a place where I can look for answers to problems I&amp;rsquo;ve already solved (I&amp;rsquo;m sure I&amp;rsquo;ll forget them).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also, I was inspired by two great newsletter issues that I strongly recommend reading:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>About me, myself and I</title>
      <link>https://writingdeveloper.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://writingdeveloper.com/about/</guid>
      
      
      <description>&lt;p&gt;Hi, I&amp;rsquo;m Alberto! 👋&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m a Senior Software Engineer with more than a decade of experience, currently working at &lt;a href=&#34;https://commercetools.com/&#34;&gt;commercetools&lt;/a&gt;, a global leader in headless commerce.&lt;/p&gt;
&lt;p&gt;My journey with Scala began &lt;script&gt;document.write(new Date().getFullYear() - 2017)&lt;/script&gt; years ago, and it has since become my language of choice. I&amp;rsquo;m passionate about functional programming, and I strive to incorporate its principles into my daily work. Alongside Scala, I have hands-on experience with Rust 🦀 and Python, broadening my technical expertise.&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss> 