Generating Alt Texts for Images with Claude
August 17, 2026 ☕️ 3 minutes read
A longstanding grievance with several social media platforms has been how they promote the use of AI in content creation, but for all the wrong use cases. For…
👋🏻 Hello, traveller! I’m a software craftsperson with a strong passion for making work and life better for software engineers. This blog contains insights related to modern software engineering practices. Read the longer story of me, and if you liked what you read subscribe to my feed.
August 17, 2026 ☕️ 3 minutes read
A longstanding grievance with several social media platforms has been how they promote the use of AI in content creation, but for all the wrong use cases. For…
August 15, 2026 ☕️ 4 minutes read
I was watching Scott Tolinski’s insightful video on Syntax about the negative mental health effects developers experience while coding with AI. Measuring it…
August 5, 2026 ☕️ 4 minutes read
I’m writing this post with Neovim editor. You probably haven’t heard of it. Or if you’ve ever come close to talking with a software developer, you’ve probably…
February 18, 2026 ☕️ 3 minutes read
Ha, got you there, did I? For once, the title of my blog post intentionally deceives you. Well, as a matter of fact I do have a vibe-coding workflow. It goes…
January 8, 2026 ☕️ 6 minutes read
Originally published on Polar Squad blog. In the previous chapter, we gained confidence through comprehensive testing, including unit tests, property-based…
December 10, 2025 ☕️☕️ 8 minutes read
Originally published on Polar Squad blog. In the previous post, we improved the design of our GitHub Action to make it testable. But having testable code is…
December 4, 2025 ☕️ 4 minutes read
Originally published on Polar Squad blog. Like many other types of scripts, GitHub Actions suffer from a common problem: it’s tempting to take a legacy Bash or…
December 3, 2025 ☕️ 1 minute read
Originally published on Polar Squad blog. Have you ever rushed to push a GitHub Action, only to watch it fail in the pipeline? Or inherited an action so tightly…
November 25, 2025 ☕️ 7 minutes read
I’m going to show you two code snippets that solve the same problem of comparing two inputs. One takes ten lines. The other takes seventy. Which one would you…
June 10, 2025 ☕️☕️ 9 minutes read
Thomas Ptacek published this article in the Fly.io company blog. You might ask why such a one-sided and belittling rant with plenty of toxic vitriol could be…
March 25, 2025 ☕️☕️ 12 minutes read
Originally published on Polar Squad blog Generative AI tools have changed how we developers approach our daily work. Today, headlines tout the arrival of AI…
March 8, 2025 ☕️ 5 minutes read
Some years ago, I noticed I had grown increasingly frustrated with the modern trends in the software engineering field. People I had worked and conversed with…
March 2, 2025 ☕️☕️ 10 minutes read
Benefits of Small Batches and Vertical Slicing When capturing and writing down the work we need to do, we often add it to our designated issue-tracking system…
January 15, 2024 ☕️ 5 minutes read
Whenever there is a new film from the master of anarchistic cinema, Yorgos Lanthimos, I must remind myself to bring something to support my jaws into the…
October 14, 2023 ☕️ 3 minutes read
One technique of ensuring my work will be remembered is giving back professional pointers on how the client can improve the quality of their product and process…
May 7, 2023 ☕️ 7 minutes read
The goal of every software team is to deliver the solution into their users’ hands sooner than later. In this post, I will explain how to set up a CI/CD…
May 3, 2023 ☕️☕️ 8 minutes read
In the previous chapters, you saw how the heart of our architecture — services, gateways, and domain models — were covered with behavioural IO-free tests…
May 2, 2023 ☕️ 4 minutes read
In the previous chapters, I have demonstrated the power of designing and testing a backend within the frontend, but you can only walk so far. I haven’t touched…
February 28, 2023 ☕️ 5 minutes read
Whether you follow the domain-driven design or not, clean domain modelling is one of the most crucial problems we software engineers must tackle. Why is that…
January 31, 2023 ☕️☕️ 8 minutes read
In the previous post, I designed our service and use case handlers. However, it had one glaring detail I left unexplained: the gateway. What exactly is a…
January 29, 2023 ☕️☕️ 8 minutes read
The essence of software lies in the problems it helps us to solve. Software that doesn’t offer a solution to the problem is only code for the joy of coding…
January 28, 2023 ☕️ 3 minutes read
Long gone in the past are websites that purely displayed static, seldom changing content to visitors. Today, almost all user interfaces are web applications…
November 5, 2022 ☕️ 4 minutes read
In software development, there’s a lot of talk about small vs big batches. However, that talk mostly comes from the Lean methodologies perspective, which, while…
September 27, 2022 ☕️ 4 minutes read
The single most important topic in functional programming is to understand what a function is. Inherently, a function is a way to map the input value of some…
September 18, 2022 ☕️ 5 minutes read
I often ponder my work and where I want to head with it. Thus, it’s only logical to understand what I need to learn to get there. Moreover, the more I think of…
September 17, 2022 ☕️☕️☕️ 17 minutes read
I’m going to admit something: I had trouble understanding test-driven development (TDD) and it took me a long time to get over it. TDD felt mysterious…
August 22, 2022 ☕️ 2 minutes read
I’ve recently participated in discussions related to developer productivity. I think productivity is harmful because it can fool us into thinking high-frequency…
August 20, 2022 ☕️ 5 minutes read
Recently, I had a discussion with my team regarding an always timely question: at what level should I write my automated tests: unit, integration, or end-to-end…
August 8, 2022 ☕️☕️☕️☕️ 18 minutes read
This post was originally published in Futurice blog. Disclaimer: similar to other ways of working, both pair and mob programming are known to elicit heated…
June 27, 2022 ☕️ 1 minute read
Few rules in designing clean code have been as crucial for me as Kent Beck’s four rules of simple design. To jog your memory, they are as follows: Well-designed…
