Bach and the High Baroque by Robert Greenberg
One Up On Wall Street by Peter Lynch
Divide and conquer has been a core strategy in software engineering. We decompose our systems into smaller modules with focused, simple functionalities and compose them back to provide richer features. In a complex modular system, developers regularly have to dedicate a significant portion of code and effort to such composition.
Needless to say, it provides fundamental benefits to be able to compose and decompose computation with ease. This is where Functional Programming (referred to as FP) mainly focuses on. …
For lack of a better term, traffic oversaturation is when the incoming traffic exceeds the capacity of the service. During traffic oversaturation, all the excessive traffic will have to wait in some queues in the service. The latencies quickly grow to the point where no requests get served within the acceptable time frame. Worse, if the incoming traffic doesn’t significantly slow down due to the high latency, e.g. when the users keep retrying regardless of the failed requests, the service will probably experience out-of-memory melt-down further down the line.
I categorize traffic oversaturation into two types based on their causes: positive oversaturation and negative oversaturation. …