Explore an algorithm to take advantage of parallelism when combining a large amount of data streaming in over time. We were able to come up with a solution that scales up to any throughput optimally while simultaneously minimizing latency and space usage.
(2015) If you agree with my assumptions that I’ll outline in the post, I believe that at its core, there are six dimensions to consider when evaluating a method for performing and handling asynchronous work. In this post, I provide a survey of concurrency primitives in the mobile app space categorized along these axes.
System-F, the core theory that underlies idealized data abstraction also underlies Dhall, a programmable configuration language. This post enables scholars to better understand data abstraction via an executable description and shows Dhall coders how to use data abstraction to tame complexity.
Complexity in a growing codebase can be tamed through strategic information hiding -- you may know this as encapsulation, modularization, or data abstraction. Knowing how to use data abstraction is important in the short term, but understanding the general concepts equips you to understand these tools as our languages evolve and change.
Semigroups and monoids are the two algebraic structures that are most useful to the working engineer. Discovering the algebra in our APIs give rise to a minimally complex and maximally expressive interface, and the shared vocabulary of these terms give rise to productive teams.