Joined March 2009
375 Photos and videos
Patrick Westerhoff retweeted
3 Dec 2025
Crucial is shutting down — because Micron wants to sell its RAM and SSDs to AI companies instead. It’s already getting hard to build an affordable PC, and the exit of the longstanding provider of consumer memory is going to make that even more challenging theverge.com/news/837594/cru…
137
612
4,773
448,332
Patrick Westerhoff retweeted
7 Oct 2025
I wrote a comic about AI art theoatmeal.com/comics/ai_art
29
222
640
99,190
Patrick Westerhoff retweeted
3 Nov 2024
400
2,384
41,717
1,526,675
Patrick Westerhoff retweeted
Where do I start. OOP is not a discipline, it's a paradigm, a mode of thinking about how programming ought to be. OOP is not primarily about data structures. Not at all. An object is mostly an abstract interface. It might have some data, or it might not. Many OOP practices encourage creating objects that only hold references to other objects and no concrete data at all. The problem with programming is that computers can only ever move data around and perform some arithmetic operations on them. That's really all they do. Everything else is built on top of that. Display, audio, and networking at just I/O operations, and I/O to the CPU just looks like reading/writing to and from memory. There are levels of abstractions, and often times it's beneficial to isolate lower level concerns from higher level concerns. You can do that just fine with good old procedures. Sometimes, it's beneficial to have "abstract" objects that could potentially have many different implementations. A file system is the thing that comes to mind most of the time. I can read/write to files without worrying about the underlying file system. That's a good thing. Not everything is a file system though! Not everything needs to be abstracted and hidden. The criticism against OOP is usually around the level of granularity. Within your own code base, you want to know how everything works. You don't want to _hide_ things from yourself. It might be useful to limit the scope of visibility for some fields, but it's always on an "it depends" basis. OOP wants you to make strong boundary modules on very small scales, and it comes with absolute rules to help enforce that, like always making everything private by default, and always dealing with abstract objects instead of concrete data and procedures. When the QT below says that OO is a discipline, they mean that following the OO heuristics is always the right thing to do and it's better to just always do it and get used to doing it, and you don't get to argue about it, just like you always fasten your seat belt, always take a daily shower, always brush your teeth before bed, always go to the gym on schedule, always follow the correct diet. Don't second guess yourself every other step. Just do the right things and you will get the good results. The problem of course is that you do not get the good results from following the OO rules because they are wrong when applied as such. Some things can be useful all the time and you should do them even if they bother you a little bit, like fastening your seat belt. Some things are useful some of the time but not other times, like taking the highway vs the regular road, riding the train vs calling a taxi. The answer is always "it depends". This is not to say that there are no heuristics. There are, but not everyone agrees on them. Different groups of programmers have different heuristics. Some of them overlap, some of them don't. Some of my heuristics that I found to be immensely helpful in making programs easier to understand and reason about: - Prefer regular data and procedures - Prefer languages where structs have value semantics (as opposed to reference semantics) - Zero value initialization by default Everything else is "it depends". How big should the file be? It depends. How long should a function be? It depends. How big should a module be? It depends.
OO is a discipline in which data structures are hidden behind dedicated functions that are called through a jump table. If you take out the jump table then you get “object based” programming. If you then remove the words “hidden” and “dedicated” you get regular old programming. So when people say that OOP is bad, which of those three constraints are they referring to? It can’t be the jump table because the utility is obvious and the cost is virtually zero. It can’t be “dedicated” or “hidden” because those constraints are optional in virtually all OOPLs. The only conclusion I can come to is that they have no rationale but have their own favorite style. They don’t understand that style well enough to tout its virtues and so fall back on disparaging others.
20
26
388
99,459
Patrick Westerhoff retweeted
Replying to @GergelyOrosz
Because in any negotiation, you have no power at all if you're unwilling to walk away from the table. If you have no deal-breaker, then you'll take whatever is offered, even if it's 37 cents per audiobook sale, which is, according to my calculations, what I would actually get.
1
1
12
857
Patrick Westerhoff retweeted
Replying to @GergelyOrosz
No one is coming to help authors. We have to help ourselves. And that means being willing to walk away from the table. Even if we miss out on 65-80% of the market.
1
1
12
626
Patrick Westerhoff retweeted
How is it allowed that: - Audible has 65% market share in the US for audibooks - It offers 20% royalty share to authors if audibooks are sold non-exclusive (so, outside Audible as well). So for a $10 audiobook: Amazon takes $8, publisher gets $2! 80% take rate!!
54
68
1,161
165,527
Patrick Westerhoff retweeted
It's not harmless. It's not "just an innocent thing" to be fooled by AI. You NEED to be able to discern and differentiate reality. You NEED to know how the world works on a basic level. Because fooling you with baby animals and flowers is just the start of something much worse.
264
14,666
45,076
1,495,474
Patrick Westerhoff retweeted
The European Council has taken a proposal to force mandatory scanning of all photos and videos sent through private messengers (including encrypted messengers like Signal) and they’ve rebranded it as “upload moderation.” The implication is that it’s voluntary when it’s not.
The European Council may reach a final negotiating position on the proposed regulation this week. Leaked document suggests users of E2EE messaging services could opt-out of "upload moderation" by not being able to send images or URLs. therecord.media/european-cou…
49
772
1,818
608,610
Patrick Westerhoff retweeted
"i have 10 years experience building stable, reliable, maintainable software systems" the software systems:
68
385
7,840
1,217,544
Patrick Westerhoff retweeted
Replying to @xyz3va
Hold on... you're saying the head of security at rabbit made a random alt, joined your discord, and posted an ip grabber?
7
47
2,647
122,328
Patrick Westerhoff retweeted
Pavel Durov, the CEO of Telegram, has recently been making a big conspiracy push to promote Telegram as more secure than Signal. This is like promoting ketchup as better for your car than synthetic motor oil. Telegram isn’t a secure messenger, full stop. That’s a choice Durov made.
20
478
3,226
459,911
Patrick Westerhoff retweeted
Telegram has launched a pretty intense campaign to malign Signal as insecure, with assistance from Elon Musk. The goal seems to be to get activists to switch away from encrypted Signal to mostly-unencrypted Telegram. I want to talk about this a bit. 1/
282
5,016
17,625
4,672,892
RT @Volksverpetzer: Liebe Faschisten, wir gehen nicht "für die Ampel" auf die Straße, wir laufen GEGEN DIE AFD! Als Demokraten können wir…
689
RT @wongmjane: @skoops Photorealistic photo of a hardcore Twitter employee frantically dramatically manically presenting an extremely compl…
44
Patrick Westerhoff retweeted
18 Nov 2022
Since it's feeling particularly relevant for some reason right now, here's my Mastodon explainer targeted at internet users of a certain age Mastodon is just blogs and Google Reader, skinned to look like Twitter simonwillison.net/2022/Nov/8…
5
24
93
I was really slow to add my Mastodon account to my Twitter profile despite having one for years. So in case you want to follow me in the Fediverse: mastodon.xyz/@poke
1
Over the years, people have been repeatedly looking at the first tweet ever made. But it's going to be so much more interesting to know what the last tweet ever was when this all goes down.
1
2
Patrick Westerhoff retweeted
it should've been Facebook 💔
621
30,101
255,467