Kuba

Kuba

@kuba.zalas.pl

Software Engineer https://zalas.pl

346 followers192 following269 posts

Pinned

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.

It's like the whole industry is trying to reinvent itself, questioning everything it once relied on to keep at least some sanity in software development. Have LLMs really changed anything in this regard? 🤔

Kuba reposted

In the face of generative AI coding agents, the role of human-led architecture becomes even more important in the crafting of software-intensive systems.

Is the harness driving the developer or is it the other way around? 🤔

Leanpub@leanpub.bsky.social

Becoming a Harness-Driven Developer: Building Reliable Systems in the Age of AI-Generated Code by Miloš Kecman 📖 on Leanpub! AI can generate code faster than ever. Link: leanpub.com/becoming-a-h... #books #ebooks #leanpublishing

In search for a new terminal that doesn't get into my way I found Kitty and I think it's going to stay. Integrates well with tmux and fish. That's all I ask for.

Sad if true.

Kent Beck@kentbeck.com

On Still Burning I told Keith Adams this shift erases two of my books. Crafting code so it communicates to other humans was a real craft. But it's like horseshoeing now: no leverage in being the best horseshoer, even the world's best.

This is why I'm experimenting with lode coding. I'm not ready for cognitive surrender. fjzeit.github.io/coding/lode-...

fjzeit.github.ioGetting Started with Lode CodingNote: This article was updated on 27 Jan 2026 to cover a stepwise improvement in the approach. The lode-overview.md has been removed and replaced with a system prompt which you can either append on th...
Kuba@kuba.zalas.pl

"[..] Delegation produces surrender. Cooperation produces what he calls mutual amplification: a loop where your prompts sharpen the model’s output, which sharpens your next prompts, which sharpens your model of the problem." addyosmani.com/blog/cogniti...

I'm sorry i doubted you GitHub and tried to jump to bitbucket first and gitlab later. What was I thinking? They're unstable half baked toys compared to you.

When I start test-driving a project my actions seem to be chaotic at first. An order soon emerges and my actions start being more focused and intentional. When I start a project without writing tests my actions seem to be focused and intentional at first. A chaos soon unfolds bringing regret. #tdd

I'm experimenting with AI Assistants to get them to do projects my way. My approach is document how I'd like things done while I do them. Then I revert the change and let the assistant do it.

View full thread

When I finally decided to agree to suggested changes, it turned out Junie did exactly what I expected it to do, rather than what it it would do, lol.

I'm experimenting with AI Assistants to get them to do projects my way. My approach is document how I'd like things done while I do them. Then I revert the change and let the assistant do it.

View full thread

I got excellent results with AI Assistant. It decomposed the steps exactly the way I expected it to.

Junie tough, didn't communicate what it was planning to do accurately. For example, it told me it's going to remove most of my settings.gradle.kts. It mislead me into thinking it wasn't listening to instructions.

I'm experimenting with AI Assistants to get them to do projects my way. My approach is document how I'd like things done while I do them. Then I revert the change and let the assistant do it.

View full thread

^^ this is me teaching it how to define a project module by documenting I expect a hexagonal architecture layout with a distinct domain model inside the application.

I'm experimenting with AI Assistants to get them to do projects my way. My approach is document how I'd like things done while I do them. Then I revert the change and let the assistant do it.

View full thread

I'm experimenting with AI Assistants to get them to do projects my way. My approach is document how I'd like things done while I do them. Then I revert the change and let the assistant do it.

I guess it's like documenting the project, except I get instant feedback if my writing is well received and understood.

Hopefully, I'll end up with good documentation and a set of micro-prompts to do certain tasks on the project. Once I have micro-prompts, perhaps I'll be able to start using macro-prompts for slightly bigger tasks.

Role-playing - objects are more players of their roles than instances of their types. -- Sandi Metz #oop

View full thread

To stub - I'm using this mock to stub these values. To spy - I'm using this mock to spy on that important interaction. To stub - I generated this mock from this contact to stub these interactions. To design - I'm using this mock helping me to design interactions with this collaborator.

Makes sense to me since what defines the test double is its runtime behavior rather than how the mocking framework or developer labels it.

She offers advice on what to do instead: make peace with everyone calling the test doubles mocks, but add a verb for how it is used.

"You can draw a line around any part of your code and call it anything you like, but only when you have to maintain the tests do boundaries become real." “Hexagonal Architecture Explained” Alistair Cockburn & Juan Manuel Garrido de Paz #hexagonalarchitecture #portsandadapters #testing

Kuba reposted

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.

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.

Spreadsheets are underrated. It might seem that a spreadsheet would limit me in some ways, but its limitations turn out to be a superpower.

Limited options gave me an unprecedented focus on what's important. I'd have created a better app now that I've created the spreadsheet. The thing is I don't need to as it brilliantly solves my problem.

Kuba reposted

“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