
Thread Alert

Extra Extra Read all about it! You know you want to!
Last week I've asked you if you knew what Holonix was and 57% had no idea... I say ... Let's talk about Holonix!pic.twitter.com/xoyUeO5Piz
You can add location information to your Tweets, such as your city or precise location, from the web and via third-party applications. You always have the option to delete your Tweet location history. Learn more
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.pic.twitter.com/KVP1lchVUK
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.pic.twitter.com/aIl2u6qlCO
2/2 We also need good crypto, up-to-date operating systems (Windows/Mac/Linux) and related packages, testing, integrated development environments (IDEs), standard workflows, deployments, rapid development tools, setups to support demos and Hackathons—the list goes on and on.pic.twitter.com/JfudG2Jl8T
1/2 Predictable Decentralization
Because Holochain is a distributed framework, agents need to be aware of all the benefits and drawbacks of working "without a net." Mistakes, for example, are harder to detect and recover from after you deploy your code into the wild.
2/2 Predictable Decentralization
If something does go wrong, there's no central server to "roll back" your changes
Beyond Holochain’s basic data integrity assurances, you have the responsibility to create authorization & data integrity rules that are appropriate to your apppic.twitter.com/5DKiJOCZLO
There are potential costs involved with being too lenient with who and what you allow on your network.pic.twitter.com/So5PXEK27L
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 appropriate
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.
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/dIvoQ9K0Lc
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.
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.
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.
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.
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/9SyKcLsCvm
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.
Most attempts to increase predictability focus on virtualisation-based approaches like “golden images,” which are fundamentally centralised, fragile, and difficult to audit.
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.


Holochain is a distributed framework, so our options are limited to those that are open and extensible by design.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.