The world runs on badly written software. I have even written some highly incompetent code myself for essential services. Finding terrible bugs and then looking for who caused them has almost humbled me once or twice.
The world runs on badly written software. I have even written some highly incompetent code myself for essential services. Finding terrible bugs and then looking for who caused them has almost humbled me once or twice.
They did not care about data integrity and schema migration. It's probably the most incompetent thing one can do when working with data in such a system.
That's why we define database schemas, or write protobuf schemas, or avro schemas, and parse JSON data in the frontend with zod.
As a rule of thumb you don't even just change the datatype of a field and hope it works. You introduce a new field and migrate over the course step by step from the old field to the new field, i.e. you write the data into two fields, and read the data from the new field or fallback to the old field.
Actually their use of the Riposte message system in 1999 was not that different in what we use today in many cloud-based systems with microservices.