<?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>Fri, 20 Mar 2026 09:00:00 +0200</lastBuildDate><atom:link href="https://writingdeveloper.com/index.xml" rel="self" type="application/rss+xml" />
    <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>Original post: 3 Bullets and a Call to Action
I was always a supporter of short messages. They&amp;rsquo;re easier to process for the reader.
But they&amp;rsquo;re also harder to write because you need the ability to convey the important information in few sentences.
This post from Teiva Harsanyi suggests a good a framework to use (apprently inspired by the Debugging Teams book). The example from the post is worth a thousand words:</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>Last week was that week 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.
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.
At the end of the 5 days, we have a winner.</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>Original post: Your app subscription is now my weekend project
This is a curious trend I&amp;rsquo;m seeing, but not surprising given the times we&amp;rsquo;re living in. Gergely shared the same on his newsletter.
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.
Roberto Selbach did the same with several services, pointing out that he doesn&amp;rsquo;t consider them production-ready:</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>Original post: A software library with no code
This is an interesting concept made possible by LLMs.
Drew Breunig is releasing a library that consists only of a specification file. You can then have the library implemented in your favorite programming language by using this prompt:
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.</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>Of course, it&amp;rsquo;s not useless! But there are things you should avoid. But let&amp;rsquo;s take a step back.
Retrospectives are pretty standard in tech companies, and they serve a great purpose: helping teams improve over time and learn from their mistakes.
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.
Following are some of the most common mistakes I&amp;rsquo;ve seen, and some very opinionated ways to avoid them.</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>Original post: The Cold Start Problem
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;.
Now, thanks to Alex Teiva, I can put a name to the problem and understand where Google made a mistake.
The cold start problem is a chicken-and-egg problem: no users without value, no value without users.</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>Original post: AI Systems Engineering Patterns
I already wrote about using AI without the use of direct prompts in one of my previous posts.
Today, I came across a newsletter issue by Alex Ewerlöf 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.</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>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.
I noted down some quotes from the talk that hit home.
Welcome to the age of outsourced reason. Where the knowledge worker no longer engages with the materials of their craft.</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>Here it comes that time of the year again: Advent of Code is out!
This year, as Eric pointed out, 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.
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.</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>Original post: The Learning Loop and LLMs
Last week, I came across this disclaimer on a Github project. The author explains how they vibe coded the most part of it.
This sentence struck me (emphasis mine) as it reflects the exact way I&amp;rsquo;m feeling when I rely too much on LLMs:
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 I have no sense of accomplishment or growth.</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>In this talk, Rain shares their experience in dealing with async cancellation in Rust and the bugs they encountered.
They also provide a small checklist to help you not introducing bugs in case cancellation happens.
If you haven&amp;rsquo;t watched it yet, do it now!</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>Original post: Data race vs race condition
I really like the distinction Teiva Harsanyi makes between a data race and a race condition:
A data race occurs when two or more threads simultaneously access the same memory location, and at least one of these accesses is a write operation. A race condition refers to any situation where the outcome depends on the timing of events that can’t be controlled, such as which thread runs first.</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>Original post: AI sucks the joy out of programming
Sometime ago, I talked about how embracing AI would be the only way forward.
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.
So making it part of our life is inevitable, and probably easier than fighting it.</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>Original post: Smartphones and being present
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.
I&amp;rsquo;m doing the same and I described my method in one of my previous posts on digital minimalism. It&amp;rsquo;s working great and I confirm what Herman Martinus says in his post:
My solution [&amp;hellip;] has turned me into a more present, less distracted, and more optimistic person.</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>Original post: Service Disruption on October 20, 2025
This is a post-mortem from incident.io about an incident originating from the AWS outage in the us-east-1 region.
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.</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>Original post: How I influence tech company politics as a staff software engineer
Software engineers are not good at playing politics, and I know it very well as I&amp;rsquo;ve always been deemed too technical.
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.
One option is to:
actively work to make a high-profile project successful. This is more or less what you ought to be doing anyway, just as part of your ordinary job.</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>Original post: Development gets better with Age
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?
The older developer knows that this is exactly the time to press the pause button.
AI is no exception, but apparently, most people and companies forgot to pause. 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.</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>Original posts:
What I learned building an AI-driven spaced repetition app Endless AI-generated Wikipedia 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.
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.</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>Original post: That boolean should probably be something else
Nicole Tietz&amp;rsquo;s recent post is a fantastic read on why we should be wary of using booleans in our data models.
Specifically:
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.</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>Original post: Why async Rust?
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.
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.
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.</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>I recently came across an article 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.
Are we sure it is? Are we sure slow-adapting institutions are not the problem?
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.</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>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.
Pipelines, branch prediction and compiler&amp;rsquo;s role are there waiting for you &amp;#x1f440;</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>Original post: Project tracking sucks. Use Delivery Maps
In the tech world of Jira tickets, Francesco Usai proposes a new way to visualize project execution: Delivery Maps.
The goal was to create a view that anyone in the company could quickly grasp and use it to answer the fateful question: How is it going?
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.</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>Original post: When you should lie to the language model
Since AIs are too agreeable, Sean Goedecke proposes a different way to ask them for feedback (emphasis mine):
Please help me review this blog post for typos and the flow of arguments. 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. Provide your feedback in dot-point suggestions.</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>An interesting video by Veritasium about the Citicorp Center building in New York City.
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.
This reminded me the modern blameless culture we find in tech companies today through post-mortems.
A fun quote from the video, after LeMessurier proposed to Stubbins to make the building&amp;rsquo;s design more complex, even if not needed:</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>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.
Original post: AI is useless, but it is our best bet for the future
Salvatore Sanfilippo shares his view on AI. Specifically:
However, except for rare, groundbreaking examples like AlphaFold — Google&amp;rsquo;s AI that significantly advanced our understanding of protein folding — AI has yet to genuinely push forward human knowledge in a fundamental way.</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>Original post: Kill your Feeds - Stop letting algorithms dictate how you think
Tom Usher wrote an interesting article on limiting feeds from social networks and favoring more selected sources rather than entirely relying on what the algorithm suggests to you.
Among the suggested alternatives, here&amp;rsquo;s what Tom recommends:
Go directly to the source (e.g., a creator profile or a YouTube channel) Use platform features that let you control your experience (e.</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>Original post: Refactoring to understand and &amp;ldquo;vibe coding&amp;rdquo;
A couple of weeks ago, I introduced the concept of vibe coding - using AI to generate code without fully understanding it. I briefly highlighted why using vibe coding for production code is a terrible idea.
In this article, Sean Goedecke goes more in-depth and identifies two main problems related to vibe coding:
Unless for small scripts or throw-away code, you&amp;rsquo;ll hit a size limit for the codebase.</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>Original post: Will the future of software development run on vibes?
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:
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.
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).</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>In 2023 I started 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.
So, I&amp;rsquo;m going to change the format. From now on, I&amp;rsquo;m following Simon Willison&amp;rsquo;s approach: 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.</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>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!
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.
The truth is, I didn&amp;rsquo;t realize how cumbersome or addictive social media was until I tried to free myself from it.</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>As in previous years, from December 1st to 25th, the Advent of Code 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.
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.</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>A couple of months ago, I came across this challenge, 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.
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!</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>The Office 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.
The drive to the office is anything but pleasant.</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>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.
Here is the first post in this regard, and I will start with Atomic Habits by James Clear.
Introduction The main book idea is that small habits compound over time and lead to great results.</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>&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:
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) 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) SLAs are business-level agreements which define the service availability for a customer and the penalties for breaking that availability &amp;#x1f4da; Availability is an important concept for distributed systems.</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>&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.
&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.</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>&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.
&amp;#x1f4da; This week is all about a refresher on architecture components and terminology.</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>&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.
&amp;#x1f4da; As you might already understand, this week&amp;rsquo;s readings are all about microservices and the challenges that come with them.
Death by a thousand microservices &amp;ndash; A well-informed rant on why you most likely don&amp;rsquo;t need microservices Data Sharing Issues in a Microservice Architecture &amp;ndash; Why sharing data between microservices is a complex topic and how you can deal with it: from eventual consistency to Three-Phase commit.</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>&amp;#x1f3ac; Reading below Slack blog post I discovered they use Vitess: 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.
&amp;#x1f4da; This week&amp;rsquo;s readings are all about Cell-based Architecture, a pattern that is becoming more and more popular in the industry.</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>&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!
This time, readings are all about multi-tenancy, from the basics to more advanced topics like rate limiters and fairness.
Multitenancy in action &amp;ndash; An easy-to-follow introduction to multitenancy with some initial considerations on how to structure different layers: URLs, code and database.</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>&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.
Now let&amp;rsquo;s dive into some readings. This week is almost all about Meta sources, from their new social app Threads to their asynchronous computing platform.</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>Hey people! &amp;#x1f44b;
After the summer break, we are back even more motivated than before! &amp;#x1f4aa;
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:
Startup probe: is the container started? Liveness probe: should the container be restarted? Readiness probe: should the container accept traffic? The speaker then goes through the differences among them and how to avoid committing some common mistakes that would result in production problems.</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>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.
But now it&amp;rsquo;s reading time and today we will read about monitoring and audit logging.</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>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.
In addition, we will read about the bus factor, resilient architectures (again) and health checks.
What’s the bus factor and 7 ways to increase it &amp;ndash; The previous talk mentioned the bus factor as one of the cons of adopting a new technology.</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>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;
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.
The five modes of chaos engineering experimentation &amp;ndash; Chaos Engineering is a discipline that aims to improve the resilience of distributed systems by introducing controlled experiments that simulate real-world failures.</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>Today&amp;rsquo;s video is about Netflix&amp;rsquo;s architecture evolution.
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.
In addition, we will read about resilient systems through retrospection and load shedding with a pinch of hashing on top.
Resilient Systems Through Retrospection &amp;ndash; Ryan Peterman highlights three insightful questions you need to ask every time you join a retrospective on past incidents: how can we detect and mitigate problems faster?</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>Good afternoon, and welcome to the seventh edition of Weekly Tech Notes!
It&amp;rsquo;s not that easy to find good videos to watch, so this week I&amp;rsquo;m sharing only articles.
Preventing impossible game levels using cryptography &amp;ndash; A fun story disseminating cryptography pills in building an in-game level editor. The hardest part of building software is not coding, it’s requirements &amp;ndash; AI will for sure reshape the working environment as we know it, but human software development is here to stay.</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>Hey folks! &amp;#x1f44b;
This past week was quite busy, so I just watched a video on Pastebin system design.
The author has a series of videos on this topic, and I’ll probably watch more of them in the future.
Key takeaways are:
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.</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>Hello again! &amp;#x1f44b;
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;
In today&amp;rsquo;s talk, the author designs a new API in Rust and forces its correct use through the type system.
But now, let&amp;rsquo;s go with the usual articles!
Writing Python like it&amp;rsquo;s Rust &amp;ndash; In the same vain as today&amp;rsquo;s talk, this article shows how to write more robust and less error-prone Python code by exploiting its (fake) type system.</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>Hey, amazing people! :flexed_biceps:
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.
Making C4-Model in Software Architecture &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. Migrating Critical Traffic At Scale with No Downtime — Part 2 &amp;ndash; This is the second part of the series about migrating critical traffic at scale, or better, how to carefully control migration processes.</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>Hello wonderful people! &amp;#x1f44b;
Another week, other food for thought. Let&amp;rsquo;s go!
Infrastructure connectivity issue affecting multiple regions &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 his newsletter in a more detailed way. How Cloudflare&amp;rsquo;s wall of lava lamps helps keep the internet safe &amp;ndash; Cloudflare uses a wall of lava lamps (along with two other physical projects) to maximize entropy for cryptographic seeds.</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>Hello people! &amp;#x1f973;
The second edition of the weekly notes is here, with many engaging articles to read. I hope you enjoy it!
Introducing Cursor: the Cloudflare AI Assistant &amp;ndash; Cloudflare launches Cursor, an experimental AI assistant trained to answer questions about their Developer Platform. Why backlogs are harmful, why they never shrink, and what to do instead &amp;ndash; A reflection on backlogs and why they are not suited for prioritization.</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>Hello folks!
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.
I&amp;rsquo;ll try to be consistent and publish them on Fridays to wrap up the week.
Let&amp;rsquo;s start!
So long passwords, thanks for all the phish &amp;ndash; Google added support for passkeys to its accounts, a more convenient and safer alternative to passwords.</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>Hey, amazing people! &amp;#x1f44b;
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.
The main purposes of this blog are:
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.</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>Hi, I&amp;rsquo;m Alberto! 👋
I&amp;rsquo;m a Senior Software Engineer with more than a decade of experience, currently working at commercetools, a global leader in headless commerce.
My journey with Scala began 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.</description>
      
    </item>
    
  </channel>
</rss> 