Embed Notice
HTML Code
Corresponding Notice
- Embed this notice
pistolero :thispersondoesnotexist: (p@freespeechextremist.com)'s status on Monday, 25-Jul-2022 19:31:40 JSTpistolero :thispersondoesnotexist: An AP server tier-list for the shittiness in handling the Accept header:
S-tier: PeerTube
A-tier: Misskey, Pleroma
B-tier:
...
D-tier: Against all odds, *Mastodon* actually does something more or less what you're supposed to do. (Go figure.)
Mastodon probably does it correctly because Rails has facilities that automatically do this because collectively, bullshit feature-factory startups have decided to outsource things like "Read a few paragraphs to understand this plain-text protocol that took off precisely because it's so easy to understand and work with" to framework authors. Don't fall for it, just read the RFC, it's easy, I swear: https://datatracker.ietf.org/doc/html/rfc2616 . (Honk is absent from the list because Honk has yet to cause any problems.)
I'll usually put something on while I eat, watch a little TV and chill, you know? So over the course of a few days, I re-watched this speech Woz gave in 1984 about the early history of Apple and I've seen it before, but the thing that stood out this time was his account of how he designed the floppy drive controller. He sat down, he studied the Shugart specs, he applied what he knew about those and parity bits and he came up with a design that required five chips, at a time when most of them used 10-50; he joked that he didn't know enough to make one that took 50 chips. (Eventually they did custom silicon and moved all five chips onto one chip: https://en.wikipedia.org/wiki/Integrated_Woz_Machine . It would have been prohibitively difficult to integrate a 50-chip design.) This is several miles from the "I slapped the codebase with dependencies it until it worked" style of development most people do: if your codebase acts like you've been getting drunk and battering it, usually it's because you have. (I love you all but please have some goddamn pride as engineers and study the things you have to implement.)
And that concludes a post I am likely to regret because it will upset someone that I don't want to upset and will also come back to bite me when someone has to debug their code and it turns out that the source is a fuckup I have made with Revolver. The former may not occur, but the latter definitely will, with as much certainty as the spelling mistake you will make when criticizing someone else's spelling mistakes (though a spelling mistake in a post someone makes does not tend to result in having to debug your code and then make your code jump through hoops because the bug is in another codebase).
Thank you for reading my blog post.