Aug. 12, 2026
Judging by LinkedIn and X, no one is writing code by typing anymore. Everyone's using AI coding tools like Claude Code, Codex, or Cursor. Lately, things have gone even further. Now there's a heated debate about whether one should still read the code produced by the AI tools. Does that mean that clean code is dead?
July 21, 2026
In the past years, Django lost quite some of its popularity. One of the reasons for that is the rapid rise of FastAPI for API development. In this article, we'll take a look at why I'd encourage everyone to think about using Django again.
July 8, 2026
The AI coding output can vary from "That's a pure AI slop!" to "That looks great, let's ship it!". Let's take a look at 5 tips to help you consistently produce better output.
June 17, 2026
AI agents are really great, but they don't always follow all the rules. This article shows how to improve the feedback loop for AI agents using a custom linter, thereby improving the quality of the output.
June 9, 2026
How the auto dependency update broke production, and what we did to prevent that from happening in the future
May 27, 2026
Everyone's talking about AI agents. Only a few are actually building them. Build your first agent and learn about things like tools, structured output, and agent testing.
May 12, 2026
CheatsheetPython is great, but at some point, its performance hits the wall. When this happens, we can rewrite the computationally intensive part of our code to Rust. This series shows how to confidently rewrite Python code to Rust with the power of AI.
May 12, 2026
This article is part 4 in the series that shows how to confidently rewrite Python code to Rust with the power of AI. In this part, we use property-based testing to find and fix a subtle bug that was introduced during the rewrite.
May 5, 2026
This article is part 3 in the series that shows how to confidently rewrite Python code to Rust with the power of AI. In this part, we use the tests provided in parts 1 and 2 and an AI agent to implement a Rust version of the Log parser.
April 28, 2026
This article is part 2 in the series that shows how to confidently rewrite Python code to Rust with the power of AI. In this part, we use tests from part 1 and rewrite them to a contract test pattern to ensure we'll be able to test Python and Rust implementations with the same set of tests.