I realised I wasn't Tailscale's target customer when I reported a 100% reproducible iOS bug/regression over a year ago. It was confirmed, logged, and forgotten.
Jurassic Park III (2001) has a 3D printer that’s central to a plot line. I know they have a long history but I remember thinking that was more sci-fi than the dinosaurs.
My local theater does “mystery movies” on select Monday nights where for $6 I can see a before first run movie with the catch that I don’t know what it is before it starts. The last JP movie was one of these last summer and I was so glad I didn’t pay regular price for it. I had hoped it could be good but it turned out to just be a lot of nonsense to the point where I was hoping the dinosaurs would eat all the people.
A big misconception I've seen is the assumption that Nostr relays are federated and share messages between one another. This is not how it works. So if you're building a "Twitter clone" the client app must search multiple relays and post to multiple relays. If clients are not using a relay in common they cannot see one another.
The end result is a bad experience for both user and developer. Using a single relay is centralised and defeats the point. Using multiple relays is slow and cumbersome and requires the user to know/care which relays they are connecting to.
When I played with Nostr a couple years ago the "NIPs" were already a complete mess. Later NIPs supersede earlier NIPs changing how clients are supposed to interpret messages. At least some are flagged as "unrecommended: deprecated" now.
Relays can federate. The point is that Nostr as a protocol is saying nothing about this and does not care either.
I'm running an indexer (a relay) which federates with other relay indexers. Similar how activitypub relays work. Any client can connect to indexer to help bootstrapping and find metadata around events. There are many ways to discover stuff from clients even without being connected to the same relay.
This is a valid observation and hurdle of sorts. One to me, which is a fascinating problem to work on.
There are a few approaches to solve this. For instance NIP65, where one defines on their profile meta which relays they read/write to, giving clients the ability to discover all the right content. That's just one approach, and some are exploring other ideas. It seems like a very solvable problem anyway.
That's a misconception: you don't "use" relays (in the sense that you don't have to have a static list of relays you always use), you write to relays. When reading you connect to the relays of whatever the people you want to read from.
Some apps indeed use this method of selecting a static set of relays, and if that was the protocol you would be correct about centralization or bloat, but this is legacy from a naïve unfinished early implementation, most apps do the correct thing now and the rest is transitioning.
Most clients now support outbox, so you don't need a common relay. Users have inbox and outbox relays, and clients use these to retrieve and send notes.
Since relays don't own user generated content, there is no need to "federate" client's generally rely on user-selected relay sets. The user chooses where they want to read/write events to/from.
That said, many of the "larger" relays do store events from other relays (federation if you prefer). Primal does, TheForrest does, nostr.land and so on. Nostr.land specifically has a purpose of aggregating notes from many other public relays, with spam filtering. It's a paid relay built for that purpose. Don't want that, use someone else.
Most users get to see 99% of notes from the current relay federation now, but it's also impossible to check those metrics.
Certain clients and signers store notes privately so if a relay ever decides to censor your notes you just publish to a different relay if they don't have your notes already.
Chances are if you use ANY of the popular paid relay providers, your going to get warnings on 3/4 write events that the other relays _already_ have the note published to the first. It's usually that quick...
Finally, relays "federate" by acting as clients themselves. Most relay software available already offers this as an option, may use it as a local cache for when on mobile and network/wifi is slow. Their local relay slowly pulls notes from other relays (or outbox) and caches those notes for when they load their client up. It's cache and the client dev didn't even have to write that functionality, it was transparent.
Finally, other's mentioned outbox, which has it's own set of issues as well, but it doesn't matter because a client developer can choose to give the user the option if they want. Going from federated, to peer-to-peer which was the intention.
There are some messed up things on a few NIP because the technology evolved fast.
Most NIP are fine and continuously improved.
This is trivial to solve when there is there a periodic release of the NIP as done in other specs. So far there hasn't been much need for that formality, most developers understand quickly how to create tools on top of it.
Mastodon merged their server-side recursive fetching of remote replies feature in the summer of this year so unless instance admins used 3rd party scripts to achieve that you couldn't rely on your reply actually being shown to the recipient. ActivityPub is complicated like that.
Nostr has a better UX than ActivityPub IMO, for the basic reason that you do not need to learn how to self-host a server or depend on an unaccountable admin that might shut down the server at any time. In Nostr, you just create an account and go!
The big issue is the lack of content, but that's a social problem, not a UX problem.
Nostr’s UX on Primal is 10x better than Mastodon imo. I haven’t looked into how it works but every time I try an application with it, it’s been an unpleasant experience.
> Delete old emails and pictures as data centres require vast amounts of water to cool their systems.
Also the UK government:
> Taken together, the 50 measures will make the UK irresistible to AI firms looking to start, scale, or grow their business. It builds on recent progress in AI that saw £25 billion of new investment in data centres announced since the government took office last July.
When George Orwell wrote 1984 it wasn’t just the Soviet Union he was criticizing.
He was also satirizing some of the most absurd parts of British political culture too. Doublethink wasn’t just part of Soviet political culture. It was part of British political culture and clearly still is based on what you just posted.
I heard Russel Brand once say something like the mark of an intelligent man is the ability to hold two conflicting ideas. And then I remembered his first TV job as Big Brother's Big Mouth!
Nevermind water, there were (still are?) restrictions on new builds in the West London area because the grid could not cope due to the ever increasing number of data centres popping up in old trading estates.
As far as accessibility goes... yeah, the lack of semantic markup is pretty shocking! I'll remember to prompt for that next time I try anything like this.
I just tried it in VoiceOver on iOS and the page was at least navigable - the buttons for the days work - but yeah, I'd be very ashamed to ship something like this if it wasn't a 20 minute demo (and I'm a bit ashamed even given that.)
I'm running "Make open-sauce-2025.html accessible to screenreaders" in Codex now to see what happens.
Definitely. If I had a Claude.md or agents.md or whatever in that repo saying "make mobile friendly sites that use semantic HTML and are accessible for screenreaders" I bet I'd get much better results from them.