2026-02-24 09:04:55 CET
in reply to

mleku on Nostr: I fixed that bug at least twice. There were altogether around six PRs I made that sat ...

I fixed that bug at least twice. There were altogether around six PRs I made that sat unreviewed for weeks — some for almost two months.

I have strong architecture skills from nearly nine years of experience building things, and it is a total waste not to listen to what I say. Before I even studied domain-driven design, I already understood that components should push business logic into unified sections of the codebase.

A pattern I seen in almost all projects is what is called "smart UI" with JavaScript, where business logic lives inside presentation layer units. The related antipattern is the "anemic domain," where business logic is scattered across other domains.

This scattering means the surface area required for an LLM — which we now use — to assess and apply changes requires double or more tokens. It also exposes a much greater risk of business logic failing, and regressions keep on happening until you fix that; LLMs are not able to solve problems efficiently or completely if the contact points of a feature or fix require scanning the whole codebase.

I must have fixed around 20 to 30 different race conditions. The complexity of synchronisation in React and JavaScript makes it very challenging to align all the available approaches consistently.

Simple tools like atomic queues (channels), mutexes, and atomic variables are far preferable. The rule is straightforward:

- Where the size of the data is too small for mutexes, use atomics.
- Where it is too large, use mutexes, and rearchitect the data to reduce the change set that must be excluded from concurrent read/write.

I am fine to forgive architectural errors, as I know that when you evolve code, you move around the shape of it sometimes randomly, especially when driven by feature requests. To refuse to enter into a discussion about architecture, however, is a fatal error on the part of a lead developer — one who is obviously so full of vanity about his skills that he cannot take constructive criticism.

I am not blunt and brutal with it; I nudge, then nudge a little more. What happened was that this escalated the attempt to eject me from the team, and when my stress levels reached a threshold, I was done with it. Nobody is exerting proper direction, authority is concealed, and leadership is actually covert manipulation. The old "man behind the king" pattern, which you can find elaborated in great detail in Robert Greene's book "The 48 Laws of Power"