Holonix is designed to be an open-source "tooling commons," shared by Holochain Core and the wider ecosystem. HoloPortOS, HoloFuel, and the others will all use Holonix to lock dependencies across interoperable projects and coordinate changes over time.pic.twitter.com/7GvpjnPXLv
-
-
1/4 Predictable Unpredictability
Much has been written about the problem of getting nodes in a distributed system to agree with one another. Most solutions strive for coordination protocols that ensure global consensus—which is fine—for some apps these solutions are appropriateShow this thread -
2/4 Predictable Unpredictability
But if you’ve been with us for a while, you probably know that we invite developers to embrace the reality of relativity.
This doesn’t mean everything has to be a mess of existential meaninglessness.Show this thread -
3/4 Predictable Unpredictability
For starters, there is the CALM Principle, which says that as long as your functions only increase state, you completely eliminate the need for coordination protocols.pic.twitter.com/dIvoQ9K0LcShow this thread -
4/4 Predictable Unpredictability
This is a simple idea with huge consequences; it means that you can guarantee eventual data consistency among independent peers without any complicated logic. #Holochain embeds CALM deeply into its design in multiple places.Show this thread -
1/2 How predictable should you be?
#decentralization introduces potential risks, so it's essential that apps and the systems on which they're built are rock solid. For most of the back-end, even tiny inconsistencies will break the whole system.Show this thread -
1/2 How predictable should you be?
Web front-ends can be much less strict about inconsistencies, but still benefit from increasingly reliable builds as projects mature.Show this thread -
1/2 How can we be predictable?
Computers are designed to be predictable, but also interact with the outside world. Unpredictability tends to compound in nasty ways, so we quarantine it by design.Show this thread -
1/2 How can we be predictable?
Unpredictable components could be a random number generator, hidden reference between components, time sensitive logic, or the black box of user behavior.pic.twitter.com/9SyKcLsCvmShow this thread -
There are a number of different ways to ensure predictability at the code level, but very few options exist to keep the environment itself predictable. Example, different versions of the Rust compiler generate different binaries, and may not be at all compatible with source code.
Show this thread -
Most attempts to increase predictability focus on virtualisation-based approaches like “golden images,” which are fundamentally centralised, fragile, and difficult to audit.
Show this thread -
In fully centralised contexts, company IT departments might lock down their computers and mobile devices, or server administrators or cloud providers would manage things from on high.
Show this thread -


Holochain is a distributed framework, so our options are limited to those that are open and extensible by design.Show this thread
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
1/2Agents: In order for a Holochain application to be useful to its users, they need to be empowered to work individually and collectively to maintain network integrity.
Components: Each layer in the developer's environment—from their own operating system, to Holochain Core code, to the zome code—should be aligned with one another so that nothing breaks.
1/2 Tooling: There are many things to consider in this area! Holochain relies on many different tools—for example, Rust, the language in which Holochain is written and supplier of many important libraries.