Kuba
banner
kuba.zalas.pl
Kuba
@kuba.zalas.pl
Software Engineer

https://zalas.pl
Pinned
Kuba @kuba.zalas.pl · Nov 15
At its core, I see #EventSourcing as a transformation of a command and past events to a list of new events.

The command is an intent to perform an action.

Events capture decisions made.

We can also get an error back if the command cannot be executed.
Reposted by Kuba
Me in 2005: let me code this whole system over the weekend.

Me in 2015: let me glue these open-source projects together to confirm if the idea is worth doing.

Me in 2025: let me spend a couple of hours creating a spreadsheet so I don't have to write the app.
November 16, 2025 at 9:28 PM
Me in 2005: let me code this whole system over the weekend.

Me in 2015: let me glue these open-source projects together to confirm if the idea is worth doing.

Me in 2025: let me spend a couple of hours creating a spreadsheet so I don't have to write the app.
November 16, 2025 at 9:28 PM
Reposted by Kuba
“duplication is far cheaper than the wrong abstraction”

- Sandi Metz in “All the little things” at RailsConf 2014

The quote is often put out of context to support the idea it’s always better to postpone the abstraction until there’s enough duplication.
#SoftwareDevelopment #oop
January 14, 2025 at 8:12 AM
The day hasn't passed yet and I think Ghostty will also replace tmux for me.
/me installs ghostty
September 23, 2025 at 7:48 PM
/me installs ghostty
September 23, 2025 at 7:33 PM
I still can't believe I can just play this game on my mobile.
September 12, 2025 at 8:26 PM
. @lunivore.bsky.social 's blog is such a great resource for #BDD related content.

"Don’t start with BDD, and definitely don’t start with the tools."
Step Away from the Tools
This may seem odd coming from someone who spent months coding a BDD tool, but seriously… put it down. Step away. BDD has taken off in the last few years, and lots of people have approached me…
lizkeogh.com
September 8, 2025 at 9:59 AM
Reposted by Kuba
You know what?

DON'T hire entry-level software developers.
DO use chatbots to generate as much of your code as possible.
DON'T bother investing in your dev teams and dev processes.
DO let their ability to comprehend code atrophy.

I've got my eye on a bigger house, you see.
September 6, 2025 at 9:39 AM
"There’s always more to build than we have time or resources to build—always."

If you somehow started to build 10x quicker, would you fire 9/10 of your developers or would you rather start building 10x more? 🤔
August 8, 2025 at 12:29 PM
Reposted by Kuba
Putting all your controllers in one directory and your views in another
Is like putting the cortisone and hemorrhoid cream in the drawer with toothpaste because they're all tubes.
August 7, 2025 at 12:10 PM
I re-read the introduction to "User Story Mapping" by Jeff Patton, and there are so many gems in this chapter alone.
August 7, 2025 at 11:57 AM
The Big OOPs: Anatomy of a thirty-five-year mistake is an excellent talk.

I love it when someone makes the effort to dig into the background of concepts instead of reinventing their own interpretations.

Those who don't learn the past are deemed to repeat it.

youtu.be/wo84LFzx5nI?...
Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025
YouTube video by Better Software Conference
youtu.be
July 20, 2025 at 10:17 AM
Reposted by Kuba
July 17, 2025 at 2:43 PM
July 17, 2025 at 2:43 PM
Reading "hexagonal architecture explained" by Alistair Cockburn. I need to stop each time a driving or a driven port is mentioned and think if it's inbound or outbound. As a non native English speaker I much prefer the inbound/outbound terms.
June 22, 2025 at 6:52 PM
IntelliJ plugin request: Visualise the testing strategy based on test labels/tags. Include the time it takes to run each layer.
I like this reincarnation of the testing pyramid - the testing iceberg. It shows how not all business-readable tests need to be end-to-end, or even integrated.

claysnow.co.uk/the-testing-...
June 10, 2025 at 10:13 AM
I like this reincarnation of the testing pyramid - the testing iceberg. It shows how not all business-readable tests need to be end-to-end, or even integrated.

claysnow.co.uk/the-testing-...
June 10, 2025 at 10:12 AM
Thank you, @dev.to for the new badge, but I'd rather be able to save an article to update the canonical URL. What I get instead:
Whoops, something went wrong:
status: 500
error: Internal Server Error
June 3, 2025 at 1:38 PM
Final (at least for now) batch of articles are now migrated from dev.to to my personal domain. These are from my well received event sourcing series: zalas.pl/series/event...

#eventsourcing #ddd #dddesign #kotlin
Event Sourcing
Jakub Zalas is a software engineer, architect, and trainer who takes great pride in his craft and quality of work. Friends call him Kuba. Get in touch for consultancy, training or software development...
zalas.pl
June 3, 2025 at 1:18 PM
I stumbled upon an opinion that in modern #dddesign the Aggregate should be freed from its constraints and the Dynamic Consistency Boundary (DCB) is the next cool thing.
May 28, 2025 at 8:52 PM
Another one migrated. "Collaboration and contract tests":

zalas.pl/collaboratio...
Collaboration and contract tests
A collaboration test is an example of interactions between the subject of the test and its collaborators. For convenience, speed, reliability, or isolation, collaborators are often replaced with test ...
zalas.pl
May 22, 2025 at 8:23 PM
I started migrating my blog to Hugo from dev.to. I'll be doing it post by post, while revising the content.

First blog post is now moved: zalas.pl/on-granulari...
On granularity of tests focused on behaviour
Behaviour A function is one of the smallest units of behaviour. Given an input, it returns the output. Function This means that given the context (input), the function’s behaviour can be verified by c...
zalas.pl
May 21, 2025 at 10:57 PM
I have finally automated releases of one of my open-source projects. A new release is made weekly, if the last build succeeded. Now the project is on autopilot 😎

github.com/jakzal/phpqa...
github.com
May 20, 2025 at 9:44 AM
I don't know if I can go back to working in an office...
May 14, 2025 at 9:49 AM
What's the best static-page generator for a blog in 2025?

I went with dev.to initially as I just wanted to write. Some of the articles turned out to be valuable for others, and I'd like to host them under my own domain now on github pages.
Hm... I noticed that some of the images have disappeared from (at least) one of my @dev.to blog posts: dev.to/jakub_zalas/...

Anyone else experienced this?
Functional event sourcing
In the previous post, we looked at the benefits of a domain model implemented in a purely functional...
dev.to
May 14, 2025 at 9:03 AM