Previous Episode: About Hackers
Next Episode: About Remote Work

Lars is thinking about distributed systems, and Andreas kind of fears them. The best thing to do for most cases might be to avoid distributing things at all. But if you do end up needing to distribute, you may run into one of the places in the world where worse is better is not necessarily better? Adding distribution on top of something not really built for it is one of the hard problems.

There are deep dives into reconciliation, vector clocks, normalization, and places where fun goes to die. And there, still, are no magical solutions.

Links

Phoenix pubsubWorse is betterElectricSQLCRDT:s - conflict-free replicated data typeThe CAP theoremSoft real timeHighlanderN-tier architecturePostgres replicationVector clockElixir outlawsPhoenix presenceOperational transformationsSplit-brainRiakCouchDBRaftPaxosNormal forms for databasesGoogles' MapreduceGoogle SpannerCockroachDBCassandraContentfulThe Cambria paper - schema evolution in distributed systems with edit lenses

Quotes

Distributed systems are interestingI'm doing an insert!A special little serverThe devil is always in the failure detailsThe naive thresholdThe absolute wrong number of machinesWhere all the fun goes to dieA good, sortable nameThey lie and they driftA simple incrementing number is incredibly usefulGit merge for vector clocksThree is the best number