Rui Marques retweeted
On my way to the office this morning, I passed a group of young people protesting, a Palestinian flag draped over their shoulders.
And I asked myself a question I can't shake: why does this generation always fall into the same trap? No matter the history. No matter the context. Even the ones from wealthy families, who went to the best schools, who were dealt every good card. Always the same trap.
I don't think it's stupidity. I think it's a mechanism. And a mechanism can be taken apart, piece by piece.
A. The observation: everything the state touches becomes unaffordable.
Look at economist Mark Perry's famous chart, the one people call "the chart of the century." It tracks US prices since 2000.
At the top, what explodes: hospital services, college tuition, textbooks, childcare, housing. Increases of +100%, +150%, up to +250%, far above general inflation.
At the bottom, what collapses: TVs, software, phones, toys, clothing. A TV today costs a fraction of what it did in 2000, for an infinitely better product.
Look at what separates the two groups. It isn't technology. It isn't complexity. It's one variable: how much the state is involved.
At the top, sectors that are subsidized, regulated, shielded from competition, where the state funds demand and blocks supply. At the bottom, sectors where companies fight every single morning to serve you better and cheaper.
B. The mechanism: why it's systematic.
When the state subsidizes demand without freeing supply, prices rise. Every time. Guaranteed student loans, and universities raise tuition. Housing aid plus blocked building permits, and rents skyrocket. Administered healthcare, and bureaucracy eats the budget before it ever reaches the patient.
In France it's even more vicious, because the price doesn't disappear: it hides. You never see the hospital bill, you pay it through payroll contributions. You never see the cost of school, you pay it through taxes. Public spending at 57% of GDP, one of the heaviest tax burdens in the world, more than €3.4 trillion in debt. And the result? Overflowing ERs, falling PISA scores, young people who can't afford to live in the city where they work.
The market didn't fail in these sectors. It was never allowed in.
C. Suffering demands a culprit.
A 22-year-old lives all of this in their bones. They can't find a place to live. Their degree either buries them in debt or opens no doors. The future feels blocked. That suffering is real, and I don't deny it for a second.
But human beings can't stand suffering without a culprit. They need a face. A scapegoat.
And this is where everything is decided: who taught them how to read the world?
D. Whoever tells the story picks the villain.
Schools are public. Universities are public. Culture runs on grants. Film goes through funding committees. Public broadcasting shapes the narratives. The people handing down the interpretive framework are, overwhelmingly, paid by the very system that creates the problem.
Do you really think that system is going to name itself as the culprit?
No. It names the capitalist. The boss. The landlord. "The rich." The multinational. The commercial West. Same role, same casting, every time.
E. One lens, a thousand causes.
And this brings me back to that flag. A generation taught to read every situation through a single lens, oppressor on one side, rich, Western, capitalist, oppressed on the other, will apply that lens everywhere. To housing. To climate. To conflicts on the other side of the world. The cause changes, the lens stays. That's why the trap is always the same: it's not the cause that draws them in, it's the way of thinking that was installed in them.
F. The perfect inversion.
Here's the irony. Capitalism is the force that drove down the price of almost everything it touched. The state is the force that blew up the price of almost everything it captured. And young people blame the first for the crimes of the second.
It's like blaming the firefighter for the fire because you saw him at the scene.
G. The ballot box confirms it.
In the US, a few weeks out from the midterms, a large share of urban young voters is getting ready to vote Democrat for more state, more spending, more regulation. New York elected a self-described socialist mayor, carried by young voters, on promises of rent freezes and city-run grocery stores. Rent freezes, the policy that has made housing scarcer everywhere it's been tried. The cure that worsens the disease.
In France, it's the same play in two acts. Part of the youth votes for the radical left, which promises more state. Another part votes for the center, which promises to "manage" the state well, and has dug the debt deeper than ever. Two different ballots, one shared assumption: the problem is the market, the solution is the state.
H. The way out.
These young people aren't stupid. They're right to be angry. They're just aiming at the wrong target.
The day they understand that their rent, their tuition and their hospital are expensive precisely because the state runs them, their anger will change direction. They'll stop protesting against those who create. They'll start protesting against those who capture.
That day, the greatest intellectual scam of our time will be over.
I'm 42.
Employee from Portugal with kids.
Working fully remote for 6+ years and been developing software for companies for 16+ years.
I am about to start launching software publicly so wish me luck! 🙏
Rui Marques retweeted
China published the most uncomfortable paper on vibe coding.
ETH Zurich tested 100 developers in a controlled, commercial-grade vibe coding environment to see who actually succeeds.
The findings are brutal.
The researchers tracked computer science achievement, written communication skills, and general cognitive reasoning.
They wanted to see what actually predicts vibe coding proficiency when you never touch a line of source code yourself.
Two major predictors emerged.
Written communication proficiency mattered. The ability to structure thoughts and articulate intent unambiguously in text directly impacts what the AI builds.
But that wasn't even the main takeaway.
Computer science achievement was a massive, dominant predictor of success.
Even when researchers controlled for general intelligence and reasoning skills, CS background still heavily dictated who built working software and who completely crashed.
In fact, CS knowledge contributed roughly twice the unique predictive variance of writing skills alone.
Why? Because vibe coding isn't about writing code. It’s about debugging logic.
When an AI agent builds a complex application and quietly breaks an edge case under the hood, a non-technical user looks at the glowing UI and assumes it works.
They don't know what questions to ask. They don't know what logic to challenge. They lack the mental models to recognize architectural catastrophe.
You can prompt your way past syntax.
You cannot prompt your way past a fundamental lack of engineering intuition.
The hype told us that learning to code is dead because language is all you need.
The data just proved the opposite.
To truly master the vibe, you still need to understand how the machine thinks.
Yes please 🙏
Portugal charges foreigners 20% and its own people 48%
A $150,000 tech salary, run through 44 tax codes. Lisbon finishes 42nd. Only Helsinki and Brussels take more.
I checked the arithmetic against the 2026 IRS schedule. It holds. On €129,904 the state takes €59,288. Effective rate 45.6%. I land within $18 of the chart.
That is the flattering number.
Add the 23.75% employer contribution. A Lisbon firm spends €160,756 to put €70,616 in an engineer's pocket. A 56% wedge. At the margin it is 64%. To give a senior engineer €1,000 more in net pay, a Portuguese company must find €2,810.
Every formerly communist capital on this list takes less than we do. Tallinn 22.4%. Prague 27.9%. Budapest 33.5%. Warsaw 41.0%. Bucharest 41.5%. Madrid, one border away, takes 39.1%.
One reason is a line nobody in Lisbon argues about. Spain caps the social security base at €5,101.20 a month — €61,214 a year. Germany caps it. The United States caps it. Portugal does not. A Portuguese worker on €130,000 pays €14,289 in contributions. A Spaniard on the same salary pays about €4,000. Same job, €10,000 apart, before a cent of income tax.
Now the part that should embarrass us.
Portugal already offers 20%. It is called IFICI, Article 58.º-A of the Estatuto dos Benefícios Fiscais. Move here from abroad, take a qualified job, and you pay a flat 20% for ten years. The state takes 31% instead of 45.6%. On this chart that is New York, not Brussels.
The condition is that you must not have been a Portuguese tax resident in the previous five years.
The state knows what a good engineer is worth. It has written the price into law. It just will not sell at that price to anyone in Coimbra.
Two objections, and my answers.
"Nobody in Portugal earns €130,000, so the chart is a fantasy."
Correct, and it makes the case worse. At €45,000 the state takes 31.4% — roughly London. The median developer does not leave over the rate. He leaves over the gross. Amsterdam pays double. Seattle pays triple.
But ask why the gross is low. No Lisbon employer can win a bidding war at €2.81 of cost per €1 of net pay. The wedge is not a consequence of low wages. It is a cause of them. The chart holds salary constant, which is the one thing the world refuses to do.
"Young workers pay far less, because of IRS Jovem."
They do, for exactly ten years, on the first €29,542. Then the regime expires.
Follow one engineer. Year 1, earning €32,000, the state takes 11%. Year 6, on €55,000, it takes 23.9%. Year 9, on €70,000, 33.1%. Year 11, still on €70,000, 37.8%. His salary has not moved and his net pay falls by €3,294.
He is thirty-three. He has eight years of experience and a LinkedIn inbox. We have built a tax system that is kind to him while he is cheap and turns on him the moment he becomes valuable. It is a retention policy that stops working at precisely the age when retention starts to matter.
What I propose.
I modeled the cautious version: cap contributions at €88,000, kill the solidarity surcharge, move the 48% threshold to €250,000. Result: 45.7% becomes 42.2%. Lisbon climbs from 42nd to 38th. Not worth the political capital.
So, three moves.
One. Cap social contributions. Both sides, at three to four times the average wage, with a matching cap on pension accrual. This is not radical. It is what Spain, Germany and the United States already do. We are the outlier and nobody can explain why.
Two. Extend IFICI to everyone in an eligible activity. No residency-history test. Include the Portuguese who stayed and the ones who want to come home. The regime either works, in which case give it to everybody, or it does not, in which case scrap it. A tax code that charges a foreigner 20% and a Portuguese 48% for the same desk is not a policy. It is an insult with a portaria number.
Three. Then merge the two into a taxa única at 20%, with a large personal allowance and contributions capped. On €129,904 that puts the total take at 26% and net pay at $111,067. Lisbon lands eleventh, between Geneva and Denver.
The third step costs real money and has to be paid for by spending less. Anyone who tells you it pays for itself is selling something.
A tech worker needs a laptop and a contract. This chart tells him where to sign it.
Rui Marques retweeted
O Salário Mínimo Nacional deixou de ser um piso, em Portugal, passou a ser a bitola….
O salário mínimo como bitola é a compressão silenciosa da economia portuguesa…
Dados recentes do Banco de Portugal mostram um índice de Kaitz próximo dos 90%: o salário mediano está encostado ao mínimo. Isto significa que o mínimo já não protege apenas a base da distribuição salarial, define-a.
Cada aumento deixa de afetar apenas os mais vulneráveis e passa a arrastar o centro, por via administrativa e não por criação de valor.
O efeito mais imediato é a compressão. A diferença entre quem entra no mercado e quem investiu em qualificação ou experiência torna-se residual. O prémio pelo esforço desaparece, trabalhar mais, saber mais ou produzir mais passa a valer quase o mesmo.
A fiscalidade agrava o problema, pequenos aumentos salariais são rapidamente absorvidos por impostos e contribuições, tornando a progressão ainda menos visível no rendimento líquido, a compressão não é apenas salarial, é também fiscal.
Do lado das empresas, o impacto é desigual. As grandes estruturas absorvem, as PME ajustam: menos horas, menos contratação, mais precariedade, o emprego não desaparece necessariamente das estatísticas, mas degrada-se.
O próprio Estado reforça este mecanismo,como grande empregador e financiador da economia, difunde o salário mínimo como referência implícita, estendendo a compressão a vários setores.
O resultado aparece como uma melhoria estatística da desigualdade, mas é uma igualdade achatada, quando os salários se colam, as carreiras deixam de progredir, e quando não há progressão, o talento sai. A emigração qualificada é, em parte, um reflexo desta ausência de diferenciação.
Nada disto implica que o salário mínimo não deva crescer, implica, sim, que não pode substituir a produtividade como motor da evolução salarial, quando isso acontece, deixa de ser proteção e passa a ser distorção.
Portugal não tem apenas salários baixos, tem salários comprimidos e enquanto o mínimo for a bitola de todo o sistema, continuará a ter mais igualdade nos números e menos mobilidade na vida.
bportugal.pt/publicacao/bole…
If companies are burning through these much tokens for text based workloads, imagine the burn for image or video as its usage scales 🥵
Rui Marques retweeted
I strongly believe there are entire companies right now under heavy AI psychosis and its impossible to have rational conversations about it with them. I can't name any specific people because they include personal friends I deeply respect, but I worry about how this plays out.
I lived through the great MTBF vs MTTR (mean-time-between-failure vs. mean-time-to-recovery) reckoning of infrastructure during the transition to cloud and cloud automation. All those arguments are rearing their ugly heads again but now its... the whole software development industry (maybe the whole world, really).
It's frightening, because the psychosis folks operate under an almost absolute "MTTR is all you need" mentality: "its fine to ship bugs because the agents will fix them so quickly and at a scale humans can't do!" We learned in infrastructure that MTTR is great but you can't yeet resilient systems entirely.
The main issue is I don't even know how to bring this up to people I know personally, because bringing this topic up leads to immediately dismissals like "no no, it has full test coverage" or "bug reports are going down" or something, which just don't paint the whole picture.
We already learned this lesson once in infrastructure: you can automate yourself into a very resilient catastrophe machine. Systems can appear healthy by local metrics while globally becoming incomprehensible. Bug reports can go down while latent risk explodes. Test coverage can rise while semantic understanding falls. Changes happens so fast that nobody notices the underlying architecture decaying.
I worry.
Mini Shai-Hulud 👀 socket.dev/blog/pnpm-11-adds…
Kind of hoping that AI is the bulldozer and software engineers will start riding bulldozers instead of shoveling, which is much cooler TBH.
Better this than the alternative which is, as you know, something between unemployment or janitor 🥲
Rui Marques retweeted
“Instead of trying to beat the S&P, why not buy the S&P and have more free time?”.
Ouch 😳
We hacked the AWS JavaScript SDK, a core library powering the entire @AWScloud ecosystem - including the AWS Console itself 🤯
How did we do it? Just two missing characters was all it took.
This is the story of #CodeBreach 🧵👇
Rui Marques retweeted
Replying to @vite_js
proxy + HTTP2 support ❤️❤️❤️
a lot of people will benefit from this, though maybe they haven't realised yet 😂😅
Rui Marques retweeted
When I politely decline scheduling a "quick call", it's not because I don't literally have the time — there's always room for 15 minutes here or half an hour there! — it's that I can't afford to spare the attention.
Yes please!
Cookie banners have been a blight on the internet. Worse than the old scourge of pop-up advertisements! They need to die entirely. The idea has failed. Nobody reads any of it. If you want to ban targeted ads, do that. Let's see if the EU can correct, politico.eu/article/europe-c…
Rui Marques retweeted
One concept I wish more people were aware of is the Tocqueville Effect.
Named for Alexis de Tocqueville, this concept describes the curious phenomenon by which people become more frustrated as problems are resolved:
As life gets better, people think it's getting worse!🧵
Rui Marques retweeted
When girls were behind in school, society asked, "What's wrong with the system?" and made reforms. Now, as boys have fallen behind, people ask, "What's wrong with boys?"
Maybe it’s not them, but us! Education systems must adapt for our boys too, with hands-on learning, more male teachers, and support for different learning styles to make sure it’s fair for all students.



























