
Gabriel Ferreira
1.8K posts

Gabriel Ferreira
@gabrielhsferr
Artesão de software com preguiça de todo o resto.


For 50 years, software engineering ran on code rationing. Writing code was expensive, so we rationed it carefully through roadmaps, RFCs, prioritization meetings, and scope reviews. This created a role: the No Engineer. No, that won't scale. No, we don't have bandwidth. No, that's out of scope. No, we need a design doc first. The No Engineer was valuable for 50 years. Every "no" saved real money. Their judgment was the rationing system. LLMs will be the end of code rationing. Code is cheap now. And while the No Engineer is explaining why something can't be done, the Yes Engineer has already shipped three versions of it. If you're a Yes Engineer, the next decade is yours.







Demorou um pouco mas consegui otimizar MUITO meu fluxo com AI no trabalho. Agora oficialmente IM UNSTOPPABLE











I migrated a project off MediatR after the licensing change. The first thing I did was Google "build your own CQRS dispatcher .NET" and copy the top result. Assembly scanning, MakeGenericType, GetMethod, and Invoke. The classic pattern every blog uses. Ran the benchmarks against MediatR 12.4.1. The custom dispatcher was slower. Not a little slower. 2.9x slower. 148.5 ns per dispatch vs MediatR's 50.4 ns. I had escaped a commercial license and shipped worse code. The fix was embarrassingly obvious once I thought about it. The reflection was happening on every single dispatch call. MakeGenericType builds a new type every time. GetMethod scans method tables every time. Invoke boxes arguments every time. The answer: do the reflection once at startup. Build typed wrappers. Store them in a FrozenDictionary. The dispatch path becomes one dictionary lookup, one cast, one virtual call. 11.5 ns. 4.4x faster than MediatR. That's the lesson. The point of building your own isn't to ship something different. It's to ship something better. And "better" means you actually benchmark it against the thing you're replacing. I documented the full dispatcher, four pipeline behaviors, and the migration guide. Here is the entire article - codewithmukesh.com/blog/cqrs-with…



A moça na academia me perguntou minha religião e eu respondi que sou ateu. O sorriso desmanchou, vi a decepção tomando conta do seu ser. Senti que se eu tivesse matado alguem causaria menos choque









Devs criticavam tanto a métrica de linhas de código para medir a produtividade, agora as pessoas ficam fazendo maxtoken para demostrar performance.


Além disso, deve ter meia dúzia de bairros no Brasil onde a oferta de airbnb tem impacto relevante no preço dos aluguéis. Vcs moram rm Cuzinho Cheiroso do Oeste e acham que estão em Barcelona.











