#Zenith readme feedback
1 messages · Page 1 of 1 (latest)
Major stack changes cause disruption or delays, because environments are hard to change and test reliably
This is summary of experience most of teams/product I worked on.
It assumes people know what a DAG is đ
Yeah it needs a section âwhatâs a DAG?â going into detail there
similar to containers with docker
This reads really optimistic to me in some areas and narrow minded in others.
Not to be to pedantic, but âruns everywhereâ is something that has been conjectured since Sun Microsystems wanted to hype Java. It wasnât true then, and it isnât true now. For example, you still have to have a GPU to do MLOps. You canât run a x86 code on a RISC-V or ARM machine, and doing so though emulation is at best slow, and at worst buggy (looking at you atomic instructions). Likewise cache-ing only gets you so far for performance. Google purportedly has one of the best distributed caching build systems know to humanity, but if theyâre C++ standard library changes it takes the better part of a day to rebuild. Dagger wouldnât fix that.
Dagger is great, but it isnât actually magic. I would go for the much more modest pitch that is actually true. Dagger simplifies entire classes of development processes from building, testing, continuous integration and distribution for teams by providing programmable, cacheable, and isolated graphs of computation in programming languages you already use.
The part that sounds narrow minded to me is that dagger is much more than just a new standard for packaging, distributing, and running software as a dag. Itâs a lot more than just that. Donât get me wrong itâs great at those tasks, but itâs a lot more capable.
"runs anwhere" not really true
Fair enough
cache-ing only gets you so far for performance
The draft only says "cached by default", there's no grandiose claim about the benefits of caching, right?
I was looking at the last point about CI/CD gets slow as the team grows.
Yeah it's a balancing act when marketing something new and exciting like Dagger - to highlight the exciting possibilities on the one hand, while framing it in a familiar and concrete way on the other. You need the right balance for adoption
Ah I see
Fair enough.
Well we do tamper that whole section with a preventive "solve or mitigate"
đ
This is very helpful, thanks!
Itâs a lot more than just that. Donât get me wrong itâs great at those tasks, but itâs a lot more capable.
I am very curious to hear your perspective here !
I could see technology built on dagger powering reproducible science. I could see it empowering portability for CI/CD. I can see it even as a way to just subtasks of programs in containers with better enforced security boundaries. Dagger finally makes buildkit and containers programmable for the masses.
Dagger finally makes buildkit and containers programmable for the masses.
I guess the challenge is how to put it in a sentence so the most part of our users can also think about that without needing to read our entire docs đŹ . But I agree, "standard for packacking" might fall a bit short.
The other thing to remember that there are literally dozens if not hundreds of packaging standards. It is a game that everyone thinks they can win, and in the end we all lose â que XKCD about competing standards.
I take your point about buildkit not being âsexyâ
But for the few of us who know what it is, it is most of what we want to know about Dagger â the other key thing being open source.
well we did win with Docker đ
Joke aside, it's good feedback - the word "packaging" evokes something different than what Dagger actually does perhaps
But has it? How many people still use just pip packages, nix packages, apk packages, deb packages, rpm packages, brew, cargo, stack, cabal, fpm, spack, zip, tar.gz, flatpak, snap, etcâŠ
I donât want to downplay what Docker has done, but almost everyone uses some other package format to build their containers, and not everyone has been convinced to take the container plunge
Yes, no packaging system will ever kill all the others, to even try that would be futile. Docker didn't need to kill other packaging formats to succeed.
Dagger isn't even trying to define a packaging format, so maybe our using the word "packaging" is confusing. I'm not sure what word to use instead, though.