Live data from Hacker News

Reddit’s blackout protest is set to continue indefinitely

old.reddit.com

751–760 of 795 posts

Re: Reddit’s blackout protest is set to continue indefinitely

#751

Earlier quoted context omitted.

I’m a technical person and I still don’t understand what federation is. I also read somewhere to treat it like email. What is like email? To who? I don’t understand how all the servers are interlinked and what it means to post from one server to another. Do I have identities on all the servers?

When you make an account on one server, it doesn't duplicate that account to other servers. Each server is independent, but they can interact together. It's like if you opened up a reddit thread while logged into your hacker news account, and decided to respond to a comment in the reddit thread. Federation would give you that ability. Your username, in that thread, would be something like "cdelsolar@news.ycombinator.…

thanks, this made it click a bit better.

Re: Reddit’s blackout protest is set to continue indefinitely

#752

Earlier quoted context omitted.

This is a good explanation, but the real, inflation-adjusted bond yield is still negative.

Is it? The 12-month inflation rate for May 2023 was 4% and the federal funds rate is 5%.

Remember that the move away from VC started over a year ago, but... Once you factor in corporate taxes, you're still at 0%.

Re: Reddit’s blackout protest is set to continue indefinitely

#753

Earlier quoted context omitted.

Solving active/backup HA for Matrix is pretty straightforward: postgres replication for the db and a shared filesystem for the media repo. When the primary postgres+synapse goes down, promote the secondary to primary, and continue. We’re also working on account portability (MSC4014) that would eventually support active/active at the matrix layer, but it’s not ready tet.

Thanks! PostgreSQL replication is hard for me. I know how to set up "classic" replication, but automatic failover and recovery that can solve split-brain issues is, sadly, not something I've figured out. And if it's not the machine, but the network that goes down (which happens few times a year on consumer-grade connections), it's a problem that happens in practice. I have learned how to repair nodes by hand, but I d…

postgres itself doesn't really do more than a leader/follower failover. There is always one source of truth: the leader, and whatever timestamp in the WAL they have written until. This is replicated to the follower. If the leader stops talking, the follower takes over. That's more or less it.

(if you have a third-party commercial PG extension with clustering, like EnterpriseDB or CitusDB, ask them, they'll tell you what they want you doing.)

there is no inherent clustering support in postgres. You can't scatter tables across servers/etc. It's not supported. Always one master server - if you need more storage you can use SAS/fibrechannel/etc of course but there is one postgres instance that's in charge.

All of the postgres replication idioms rely on that model: the WAL is reliable up to the point it's been received/verified. If you've faithfully played out the WAL throughout your existence, everyone's storage instance is at the exact same state and the only thing that matters is who's got the most recent timestamp from the host.

This also includes bringup strategies: if you have an atomically checksummed snapshot of the datasets (all storage, and pg_wal, at the same instant) then you can also spawn new nodes. ZFS can do that. And with an incremental copy-on-write you can replicate the base state, then replicate only the changes (which is much faster) and then fail over quickly. That's popular for other applications that don't have sophisticated ACID stuff, the higher-layer stuff at the PG app level probably makes more sense if it fits your usecase.

Anyway short version is, I'd think about a simple blue-green system (or round-robin system) where you can set an environment flag, and blue frontend nodes can simply choose to direct traffic to green backend's pgbouncer or similar when they see that. Then you flip web traffic over. Then you shut down the blue pg instance, and stuff fails over gracefully. The "healthy", "progressing", and "migrated" states, if that makes sense. And there is always one healthy node, even if you need to bring it up from backups. Yes, you have to look whether the other side is still healthy but that is now a k8s/pod problem and not an app one.

If you can live with an instance in the US and one in Europe or similar, and perhaps a few occasional seconds of "they're down?"/"i'm down?" failover downtime, a simple blue/green failover is probably easiest. Someone is master until they're down for 30+ seconds, the other server tries to notice failover failure and tests whether it's down to a couple canary servers via ping/etc, and if they realize they're offline still then they shoot themselves in the head and let the succession happen. As soon as any other server is aware a failover happened (header announcement from appserver instances) then shoot yourself in the head. It's just a "make sure there's no split brain" procedure, trading some availability. That's the tradeoff RDBMS makes, it's atomic/consistent and partition-proof, it's just not available.

Cassandra is a fantastic match for your problem though, especially if you can define availability zones ("I want each of these regions to be self available") but then you have to deal with split brain. And queues/kafka can potentially solve that if you want or can prove some lower bound on queue iteration position (globally or per-follower).

It's all about what parts of your system you want to be unreliable. Using signatures is an interesting crutch over "availability" though - proving a key was issued by a trusted server is fine, and you can propagate revocations (session and cert) relatively quickly and hopefully trust the revocation. And that cert tree doesn't require a lot of deterministic state, if your PKA structure can scale and issue certs regularly. Rolling server cert issue/revocation (as a liveness check) is an interesting model imo. It's all stateless but you can check that (short-term/ephemeral) cert X was actually signed by keyserver Y and cert X signed Z etc, but we know X was actually revoked at time T before that etc. That's always seemed like a reasonably decent "best-effort" propagation, have stuff like revocation handled through redis sync/etc and just check the state for inconsistencies with the known state of the world.

Re: Reddit’s blackout protest is set to continue indefinitely

#755
post #684
post #677

Earlier quoted context omitted.

That is untrue, you still need a server to facilitate discovery/passthrough. Peer-to-peer does not exist in the wider internet for most consumers.

> you still need a server to facilitate discovery/passthrough You could just bruteforce IPv4 until you hit a peer that will give you a set of known peers.

I don't think pex/dht operate on 'well known' ports. in fact, I think most clients are configured to randomize the port they use on each startup.

most every client comes with a list of 'bootstrap peers' for dht though.

Re: Reddit’s blackout protest is set to continue indefinitely

#756

This whole thing is for sure an outraged mob that the internet sees plenty of times. Just look at this poll for r/indiedev: https://www.reddit.com/r/IndieDev/comments/149uqfc/rindiedev... Majority of votes want it closed down, and basically all comments want to keep it open. You don't have to be a community member to vote, so this can mean only 1 thing: users from outside of r/indiedev are voting to close it. edit: i…

Literally every single submission on reddit has that sort of vote/comment ratio. But sure, keep dismissing it, enjoy not being able to google stuff I guess.

No it doesn't. r/rpgmaker voted to keep it open for example.

Re: Reddit’s blackout protest is set to continue indefinitely

#757
post #666

Earlier quoted context omitted.

> What makes you think doing things for the good of people is excluded by for profit businesses? This entire thread is proof. The entire thread is platforms that people liked started to suck as soon as they decided to make a profit. Sure theoretically profitable businesses can be good for people, but I’m not holding my breath for an example. > The problem with doing things for the good of people in a general sense is…

But they do have to make a profit or they will cease to exist. Money is not some fictional number.

I mean… contextually, it kinda has been for the past decade if you’ve been in tech.

It’s only starting to matter now because those fictional numbers are starting to become very real, very fast, given the current state of interest rates.

Re: Reddit’s blackout protest is set to continue indefinitely

#758

Earlier quoted context omitted.

I would add on - enshittification driven by money, as coined by Cory Doctorow https://pluralistic.net/2023/01/21/potemkin-ai/#hey-guys

That's not a new trend, though. It's the bait-and-switch startup ecosystem has been built around for over a decade now. There may, however, be some underlying trend that's the reason why so many social media companies are pulling the bait-and-switch right now, simultaneously.

The simple reason is usually the best - it works

Re: Reddit’s blackout protest is set to continue indefinitely

#759

Earlier quoted context omitted.

Lemmy has the same discoverability and usability problems as Mastodon. Especially for non-technical users, there's too much friction required to find their communities and aggregate them into a single usable feed with a nice client. And that's assuming they can even conceptualize what the fediverse is. I'm a technical user, and I closed join-lemmy.org after ten seconds because it was too many clicks to get to an inte…

The front page of lemmy: Lemmy - A link aggregator for the fediverse. Join a Server - Run a Server - Follow communities anywhere in the world Lemmy is a selfhosted social link aggregation and discussion platform. No, no. You lead with the benefits to the user. This isn't Github. It suffers from the same problem as Mastodon - "Join a server". But which one? These federated things need to be set up so that there's "no…

Multiple servers... Even on reddit I'd want a separate user for separate groups of subreddits... (at least for posting, for reading it could work as you describe, probably client could authenticate at one server, but connect to others to get the data). Just make sure that the client can support this cleanly/efficiently.

Re: Reddit’s blackout protest is set to continue indefinitely

#760

Earlier quoted context omitted.

Revenue != profit

If you're making 2.8 billion in Revenue with no profit on a Twitch-like product, that's a you problem, not the creators problem. They already extract a ton of money from creators and generate revenue with ads. Twitch is spamming ads like it's TV in the 90's.

Without knowing the operating costs your sentence really makes no sense, this single number doesn't matter, what matters is its relation to the operating costs.
Post reply on HN