4 ms·
I cant speak much about the system, it just works, but the community was really nice when I interacted with them over IRC I had the plan to build oasis with ba
by dijit 3y ago
I cant speak much about the system, it just works, but the community was really nice when I interacted with them over IRC
I had the plan to build oasis with bazel for some immutable OS images that could run as kubernetes nodes. I succeeded with a little pointing.
- gravypod 3y agoHave you shared your BUILD files upstream?
- dijit 3y agoNo, they were quite happy with Samurai
- malux85 3y agoThats a cool idea! Will you open source it or make it available somehow? I would like to play with it for running Atomic T
- public_void 3y agoWhy did you need to use bazel?
- dijit 3y agoI didnt need to use bazel, I like bazel and want to learn more about it. I also have a small, but burning, passion for reproducible builds, distributed compilation and distributed caching. Being able to build an entire OS and essentially anything I want on top in a reproducible and relatively organic way (with incremental compilation) is pretty dope.
- i-use-nixos-btw 3y agoYou sound like the perfect Nix cult memb… erm, user. It’s everything you describe and more (plus the language is incredibly powerful compared with starlark). But you speak from sufficient experience that I presume Nix is a “been there, done that” thing for you. What gives?
- chaxor 3y agoNix has decentralized caching and memorizing?
- i-use-nixos-btw 3y agoDecentralised caching, absolutely - unless I’m misunderstanding what you mean there. You can build across many machines, merge stores, host caches online with cachix (or your own approach), etc. I make fairly heavy use of that, otherwise my CI builds would be brutal. Memorizing isn’t a term I’m familiar with in this context.
- chaxor 3y agoSorry - memoizing. I am interested in making a system that can memoize large databases from ETL systems and then serve that on iroh or ipfs/torrent, such that a process that may take a supercomputer a week to process can have the same code run on a laptop and it will notice it's been done my a university supercomputer before already and grab that result automatically from the decentralized network of all people using the software (who downloaded the ETL database). That way you save compute and time.
- i-use-nixos-btw 3y agoOh I see! Yes, absolutely doable in Nix. Derivations are just a set of instructions combined with a set of inputs, and a unique hash is made from that. If you make a derivation whose result is the invocation of another, and you try and grab the outcome from that derivation, here’s what will happen: - it will generate the hash - it will look that hash up in your local /nix/store - if not found it will look that hash up in any remote caches you have configured - if not found it will create it using the inputs and instructions This is transitive so any missing inputs will also be searched for and built if missing, etc. So if the outcome from your process is something you want to keep and make accessible to other machines, you can do that. If the machines differ in architecture, the “inputs” might differ between machines (e.g. clang on Mac silicon is not the same as clang on x86-64) and that would result in a different final hash, thus one computation per unique architecture. This is ultimately the correct behaviour as guaranteeing identical output on different architectures is somewhat unrealistic.
- yx827ha 3y agoYou should check out the ChromeOS Bazelification project[1]. It has those exact same goals. Not all packages are reproducible though because they embed timestamps. [1]: https://chromium.googlesource.com/chromiumos/bazel/+/HEAD/docs/getting_started.md https://chromium.googlesource.com/chromiumos/bazel/+/HEAD/do...
- MuffinFlavored 3y ago> I cant speak much about the system, it just works, What systems don't just work by this criteria? Just because something is statically linked vs dynamically linked, as long as you are within "normal expected operating conditions", does it really make a "just works vs doesn't work" quality difference?
- colatkinson 3y agoIf you don't mind I'm super curious as to what approach you ended up taking. Did you use rules_foreign_cc to build the ninja files they generate? Or generating BUILD files directly? Or something completely different? Sounds like a really cool project!
- dieortin 3y agoSame, I’m curious too!
- eek2121 3y ago"it just works" so you are doing the tech support when it doesn't, right? EDIT: that was meant to be a joke, I forgo HN doesn't support emojies.
- xenophonf 3y agoAs an aside, emoticons work just fine. ;)