A Brief Review of Dynamo
· ☕ 1 min read

As a highly available and scalable distributed data store, the design principles of Dynamo features high availability for writes (via reconciliation during reads), incremental scalability (consistent hashing), symmetry, decentralization, and heterogeneity (via virtual nodes).


[MECpp]Item-33 Make Non-Leaf Classes Abstract
· ☕ 7 min read

The general rule: non-leaf classes should be abstract. This will yields dividends in the form of increased reliability, robustness, comprehensibility, and extensibility throughout our software.


[MECpp]Item-32 Program in the Future Tense
· ☕ 2 min read

Things change. Future tense thinking increases the reusability of the code we write, enhances its maintainability, makes it more robust, and facilitates gracefully in an environment where change is a certainty.