Defeating the menace of distributed systems complexity is no simple task. It requires simultaneously solving the problems of consistency, reliability, and fault tolerance.
What would happen if we took immutability seriously? Immutability -- the self-imposed architectural constraint that data cannot be modified or deleted ...
Delete is an obviously destructive operation, but Update is no better. Updates overwrite the data that was once present. What would software look like if the..
Defeating the menace of distributed systems complexity is no simple task. It requires simultaneously solving the problems of consistency & reliability, and…
Immutability the self-imposed architectural constraint that data cannot be modified or deleted solves many of the technical problems of distributed systems…
Delete is an obviously destructive operation, but Update is no better. Updates overwrite the data that was once present. What would software look like if the…
Iteration Zero! What your product owner hears is "A whole iteration with zero to show." Let's set up a pipeline for delivering value to the product owner. It…
“This book can absolutely fundamentally change the nature of our industry as we go forward.”
- Jeff Doolittle
“ This book can absolutely fundamentally change the nature of our industry as we go forward.”
- Jeff Doolittle
Software is math. Every class is a theorem. The compiler is the proof. And unit tests check our work.. Michael L Perry has built upon the works of mathematicians like Bertrand Meyer, James Rumbaugh, and Donald Knuth to develop a mathematical system for software development. He has captured this system in a set of open source projects.
Historical Modelling is a technique for system analysis and design based on immutable historical facts. I started thinking about this idea in 2001 while working on a distributed system. The gift card system had the unique ability to redeem value without making a network connection. The project struggled with all of the classic data management problems.
Software is math. Every class is a theorem. The compiler is the proof. And unit tests check our work.. Michael L Perry has built upon the works of mathematicians like Bertrand Meyer, James Rumbaugh, and Donald Knuth to develop a mathematical system for software development. He has captured this system in a set of open source projects.
Historical Modelling is a technique for system analysis and design based on immutable historical facts. I started thinking about this idea in 2001 while working on a distributed system. The gift card system had the unique ability to redeem value without making a network connection. The project struggled with all of the classic data management problems.
Once I started building systems using the principles of immutability, I saw common problems and patterns of implementation. APIs needed to exchange not trees but graphs. Databases needed to support multiple foreign keys. Queries that include WHERE NOT EXISTS were common, and needed to be fast. So I started building abstractions that solved these problems.