Holonix: Predictability, Portability, and Productivity
Holochain developers—when you are building applications on the #Holochain framework, you are looking for reliability above all else. That's why we are giving #Holonix and #HoloPort OS so much attention.
#yourewelcome
pic.twitter.com/vi89JRsuLW
-
-
Show this thread
-
Holonix and HoloPortOS are an operating system and a set of configuration tools, respectively, that will keep your Holochain environment up-to-date, so you can focus on making exciting and innovative hApps!pic.twitter.com/FiRb1NhrnE
Show this thread -
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
Show this thread -
Predictability
What is reliability, you might ask? In part, it’s predictability. It means knowing what something will do under a wide range of conditions, in other words, the same input always produces the same output.pic.twitter.com/TNQ8YEUpePShow this thread -
For developers, Holochain Core should be a bit like running water or electricity; you should never have to wonder whether it's working properly.pic.twitter.com/7dXScWpbTr
Show this thread -
What are some of the ways predictability can be ensured? Here are a few:
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.pic.twitter.com/gHmYjUhFAbShow this thread -
2/2 That means they need to be able to unambiguously id bad data, trace it back to its source & of course, create their own provable valid data. This can only happen if they trust their copy of the software. They should also have reasonable trust in the software of their peersShow this thread -
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/KVP1lchVUKShow this thread -
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/aIl2u6qlCOShow this thread -
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/JfudG2Jl8TShow this thread -
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.Show this thread -
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/5DKiJOCZLOShow this thread -
There are potential costs involved with being too lenient with who and what you allow on your network.pic.twitter.com/So5PXEK27L
Show this thread -
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.


Extra Extra Read all about it! You know you want to!