Pinned Tweet
The challenge of making my VPN app, Passepartout, from Apple-centric to multi-platform: porting Swift on Windows, to start with.
davidederosa.com/2025/04/cro…
Davide retweeted
you should read fiction, learn history, explore stuff that isn't just "immediately useful."
so much of life is drawing on experience. If your experience is operating so thoroughly in a specific box you really limit yourself.
Andrej Karpathy just said your kids should ignore most of school.
"80% of education should be math, physics, CS."
Not because it's useful - because it carves grooves in the brain.
Grooves that get harder to carve the older you get.
In a pre-AGI world: it gets you a job.
In a post-AGI world: it makes you a functioning, empowered human.
Everything else? Tack it on later.
The cognitive foundation is the only foundation that survives the transition.
🇪🇺 Chat Control has passed 😔
They can and will now legally scan any person's messages, emails and photos you send without a warrant
The way they passed this law when the majority of the European Parliament was against it will shock you:
They waited until most EP members were on holiday so only a few were present and then created an "urgent" vote for it to pass it through
There's nothing democratic about any of it and big powerful forces are behind this that can manipulate the EU for whatever they want
Democracy in Europe died a bit today 😔
Replying to @gandalv7
Illegaler Geschäftsordnungstrick der Parlamentspräsidentin - Eilantrag, der die Qualifizierte Mehrheit (360 Stimmen) GEGEN die Chatkontrolle gebraucht hätte, an einem Tag, an dem nur knapp 600 MEPs vor Ort waren, wegen Urlaub etc…
A weird upside of doing sports, but being average at them, is that aging won’t beat you as if you used to be a high performer. You can’t miss those times when you were strong if you never were.
Davide retweeted
"If you can't intimidate people into silence and compliance with the woke orthodoxies by threatening their job or their social circle, you might be able to threaten them with actual violence. That's what the "nazi" accusation is there to convey." world.hey.com/dhh/calling-so…
When I pick a high-level language over C to avoid "rewriting everything", at some point, I regularly regret not having used C in the first place. By no means is the time wasted on build systems and abstractions a better investment.
Davide retweeted
I got a bit colorful in this reply, but let me describe why this drives me so crazy, especially now in 2025:
Now someone comes along to make their web app, and they are using React or something.
So now we have *at minimum* 4 layers of wrapping: React -> browser API -> SDL -> OS API.
Each layer adds inefficiency and bugs and wastes a large amount of programmer time.
This is just on *one browser*. Every single other web browser has to run the same React app in the same way, with some *different* stack of 4+ wrappers all acting on each other.
What is the goal of all these browsers doing all these heterogeneous things that sucks up all these programmer life years? Actually the goal is to ***provide no new functionality***, because not only does a browser API not provide anything that was not in the pre-browser APIs, they all have to be compatible with each other or web pages won't work.
Meanwhile every other system, that is not a browser, that also wants to provide a consistent API to its users, has to do the same thing, but different, because the provided APIs are different.
So if we are putting this huge amount of effort in to do all this redundant heterogeneous programming to solve the same problem dozens or hundreds of times, it must really be worth it, right? Like, we must be solving some super serious difficult rocket science problem?
No, keyboard and mouse input is very close to the simplest possible API. You have information about each event. That information is a small set of enums and flags. But everyone has trivially different numbers for their enums and flags because everyone wants trivially different numbers for their enums and flags. (If you get really crazy, you might want to identify which device an event came from, but almost no programmers do this).
So we do this immense amount of programming effort, slowness at runtime, bugs to users, etc, in order to map trivially different numbers back and forth.
If we are going to screw around forever making mess after mess for such a simple thing, we don't deserve to be able to do complex and nuanced things. And so it has come to be: we almost can't do complex and nuanced things at all, any more. But even if we could, we wouldn't have the time.
Multiply this by 1000 different systems, and you get today's software.
I feel programmers in 2025 are just very low-IQ compared to how programmers are "supposed" to be. It's like there's a very simple maze on a piece of paper in front of us but we just can't figure out the line to draw through the maze. So we get out a crayon and scribble (incidentally making the maze bigger) but we have a big dumb idiot smile for a few minutes because we contributed to open source!!!! (Followed by years of painful toothache as we deal with the things we actually typed).
[BTW, jai adds to this problem -- we have our own set of trivially different numbers and flags. I hate it and I think it is stupid, but because I am spending my time and energy making a programming language, engine, and game, I don't have the bandwidth to solve the actual problem here, the solution to which seems to be political to at least a substantial degree.]
xitter.cf/Jonathan_Blow/status/1…
Replying to @icculus @ladybirdbrowser
Literally everyone everywhere has had to solve this problem over and over redundantly in many many many copies of essentially the same code, but somehow we can’t fucking get it together.
While I have nothing against "vibe coding" per se, I think it harms software-making in the way too many casual relationships do to the ability to make long-term bonds. In fact, it's not about coding at all. It's about building "care" for the product.
I'm curious to see how many AI-gen software will survive the first year. LLMs produce write-only code by default, and it takes a decent amount of care to lead them in the right direction towards a well-designed product. Only someone who cares will step in and "take care of that".
Funny how permie-normies see MRR/ARR as a lifetime customer commitment, in that you get eternal income for a one-time effort. Same "buy a house to save on rent" vibe. Truly no clue about how the economy works.
One year ago the average was constantly 10C more. Thanks EU for defeating the climate change with your plastic bottle caps.











