Avatar
shinohai
4bc7982c4ee4078b2ada5340ae673f18d3b6a664b1f97e8d6799e6074cb5c39d
E Crypto Libertas | PGP: 0x260FA57BCE677A5C04BF60BA4A75883CC1B1D34C

Pretty sure this is the oldest Linux kernel on a still-functioning device I own.

Then some people's spiritual states are so bad they hafta go shitpost on nostr, virtue-signaling about what they perceive as bad to get a minuscule dopamine rush.

nostr:note109v32w355954g80j9h56n3qv648k85lkxzgzhuvvjqlz962lm3eq5vdtnc

Replying to Avatar m4dire0701

Your typical Rust programmer.

nostr:note19a0jcm4c4x82wwhkgydxyxm65wqd6gedmmllvshtcc3f9muujwsqqu39kj

Nostr is a giant shit show. The fact that our software interoperates at all is a miracle and probably just a temporary anomaly. Given enough time, the relentless breaking changes being made to published NIPs will eventually break everything.

Linux succeeded because "WE DO NOT BREAK USERSPACE". For nostr to succeed, changes must "NOT BREAK EXISTING IMPLEMENTATIONS". There shouldn't be any exceptions to that EVEN IF THE IMPLEMENTATION WAS NON-COMPLIANT.

Pay close attention to Linus right here:

> Are you saying that pulseaudio is entering on some weird loop if the

> returned value is not -EINVAL? That seems a bug at pulseaudio.

Mauro, SHUT THE FUCK UP!

It's a bug alright - in the kernel. How long have you been a

maintainer? And you *still* haven't learnt the first rule of kernel

maintenance?

If a change results in user programs breaking, it's a bug in the

kernel. We never EVER blame the user programs. How hard can this be to

understand?

Linus doesn't want to break pulseaudio EVEN THOUGH pulseaudio was doing the wrong thing.

It seems like every week I find a NIP that I've coded for has changed. This last week I think it happened three times already. Sometimes it's a small change and I quickly update my code. But I can't read all the PRs, and I'm afraid dozens of small changes have slipped past my notice. Gossip is probably now incompatible with multiple other implementations which happen to have implemented different versions of the same NIPs (some older, some newer).

Even if we didn't have any breaking changes, the simple fact that different software implements different optional NIPs itself presents to end users like broken software. Why does it work in Damus but not Amethyst? Why does it work in Amethyst but not Coracle? That is an even harder problem to solve.

But let's at least solve the easier problem and stop changing NIPs. If you don't like a NIP make a new one, don't break the current one. Even if you think the current one sucks balls and should have never happened. Even if you think there aren't many implementations out there.

"HEY GUYS! LET'S MAKE NOSTR LIKE SYSTEMD AND PID1 ALL THE THINGS!"

No one can keep up with the 8`742`000 lines of code in the protocol BUT IT DOES THINGS!

The Great Pumpkin, having given up on Charlie Brown ever finding the G spot, starts an OnlyFans instead.

nostr:note1cjmwwmqc2qth8dqp5q98lrcx0kz89supvn7a3j83dzn2cu90l8qqslfw0t

Dropped almost 20K sats on this and the bitch got mad and locked me out of the apartment. Any of you guys got a spare corner in the garage for me?

Well I ain't gonna fuck the pillow unless it's naked.

Putting a pillowcase on it during sex is some Mormon shit.

nostr:note1rd95nqnzddmyxh459tnse2kk7epjy70f5hlw69yz2yuahfygskrqhq4e7y

"God didn't make Tranbo, my HRT did!"

`static const unsigned int`

This kills the Hoaxtoshi.

nostr:note1xvt7eyfquc87s5vw5xquljh2yuxtx26c63whwax3gr26z2gw5aeq4z7cg5