Can't help but think "Doesn't matter if a machine or a human with (even slightly) different background wrote it", maximizing information flow is maximizing common assumptions and "culture" to only have to communicate a small set of current information for the task at hand. Being a team means having built a joint context so to say. This has always been the purpose of design documents and they always were too big or too small. Because you did not write them, but the others. If you only produce code you think they are the past and useless. If you iterate and your team grows, you start seeing the value in always current docs that are containing just what is not in your everyday culture.
All the best for you and your growing family. I had a similar experience recalibrating my values...
The article revolves a lot around the "how" and "why" but does not really answer it's own title. We thought we have the answer right there: in democracies, the people delegates working out the rules to a group of elected people. The rules then are enforced by another, independent group of people. Currently this seems to be broken in (not only) the USA.
The answer is: historically the incumbents define the rules and use safety as an excuse to build their moats by gaining exclusive rights and they end up being cartel/monopolies.
(Some years ago, people argued that "it's already broken so voting in the crazy guy who wants to shake things up will flip the switch from broken to non-broken". But they were wrong.)
For varying definitions of broken. I know multiple people from broken regions of the world, who would dream to have it like the US. Then there are others who claim their system is broken and only a protest vote will send the sign, while where they live has one of thr highest standards of living in the world.
The absolute level of broken is mostly irrelevant, what counts is the direction of travel.
Related, yes, although the current prototype is narrower. Chandy-Lamport captures a consistent global state across communicating processes whereas TCC checkpoints program continuations at compiler-defined durable boundaries.
in a JIT those "compiler-defined durable boundaries" are called "safepoints" and they are inserted so that threads can be suspended so cross cutting concerns can be applied (GC, deoptimization)
Loom is such an amazing project. I was always surprised by the fact that similar tooling for C/C++ is much more cumbersome to use, since that's where the memory model came from.
To be human is like being the training so much more than the execution. Like the parallel post's game where the speed of light is 5km/h, we always try to but never reach true "perfection" (setting aside the discourse what that even would be). Some overfit, some stop short of being good...
I loved the comparison of HerbCeptions with expected in https://m.youtube.com/watch?v=GC4cp4U2f2E, a very insightful easy of looking at that topic and really entertaining, too.
Can't help but think "Doesn't matter if a machine or a human with (even slightly) different background wrote it", maximizing information flow is maximizing common assumptions and "culture" to only have to communicate a small set of current information for the task at hand. Being a team means having built a joint context so to say. This has always been the purpose of design documents and they always were too big or too small. Because you did not write them, but the others. If you only produce code you think they are the past and useless. If you iterate and your team grows, you start seeing the value in always current docs that are containing just what is not in your everyday culture.
All the best for you and your growing family. I had a similar experience recalibrating my values...
reply