On one hand, it's an appealing way to manage dealing with different OS/Arch for a binary. On the other hand, this is not something I'd want to use in production, as it's very implicit. I'd rather explicitly call specific versions of installed binaries over implicitly call files installed in $DOTSLASH_CACHE (particularly if the binary is fetched on-demand).
This looks like it could be a useful tool in certain situations, such as shared/consistent dev environments. But generating the dotslash file (with hashes, urls, etc...) seems quite manual, which will limit adoption. In this way, it's not too different from traditional environmental module files, but it does automate a good chunk. If the main use-case is development, I'm not sure if this is better than devcontainers.
It seems like a useful tool, but I'm not sure where I'd actually use it. Maybe I'm missing the main use cases?
For facebook in particular I'd guess it's basically just a bootstrapping step for buck2 and other basic tools like that.
Containers are obviously tempting but I think they're basically a way of shoving complexity under the bed whereas the approach that dotslash nudges you towards is slightly hormetic in that it helps you manage the complexity while also acting a slight tax on it's growth.
https://dotslash-cli.com/docs/motivation/
Seems promising but obviously security around the dotslash file needs to be well thought out.
Edit: consider also git bisect!
To be able to reproduce all the procedures reliably, constantly, and without an internet connection. At least it's a requirement for my job and some other industries. Also because it's good to be serious about your job, and because reproducible builds is a nice thing to do.
[1] https://dotslash-cli.com/docs/flags/#environment-variables
Many people, including myself (currently at Apple) play the promotion game every cycle to continue making progress in our individual careers.
Many of us try to build useful things, but that’s not possible every single time due to seasonal interest on certain technologies.