3 ms·
> So let's vendor it. How much code is there? After removing all tests, we end up with 29 individual crates vendored taking up 62MB disk space. Tokei reports 20
by isoprophlex 2y ago
> So let's vendor it. How much code is there? After removing all tests, we end up with 29 individual crates vendored taking up 62MB disk space. Tokei reports 209,150 lines of code.
> Now this is a bit misleading, because like many times most of this is within windows-. But how much of windows- does getrandom need? A single function.
See also the Azure CLI. There's a github issue, still open, from 2018 complaining about their 350 MB monstrosity bloating up a docker container. By now the thing weighs more than 1.5 GB. Fucking MS.
https://github.com/Azure/azure-cli/issues/7387 https://github.com/Azure/azure-cli/issues/7387
- adolph 2y agoAny system that doesn’t ruthlessly self edit winds up like a genomic katamari. Systems are like babies: once you get one, you have it.[a.] They don’t go away. On the contrary, they display the most remarkable persistence. They not only persist; they grow. And as they grow, they encroach. The growth potential of Systems was explored in a tentative, preliminary way by Parkinson, who concluded that Administrative Systems maintain an average rate of growth of five to six percent per annum (corrected for inflation) regardless of the work to be done. - from Systematics by John Gall 0. https://en.wikipedia.org/wiki/Junk_DNA https://en.wikipedia.org/wiki/Junk_DNA (Well aware of how “junk” DNA is linked to functions elsewhere, and that the subtleties involved represent an evolutionary aggregation equivalent to why acli is 1.5G.) 1. https://en.wikipedia.org/wiki/Katamari_Damacy https://en.wikipedia.org/wiki/Katamari_Damacy 0. https://en.wikipedia.org/wiki/Systemantics https://en.wikipedia.org/wiki/Systemantics
- the_mitsuhiko 2y agoThe reason why the windows-sys (and below the windows-targets) crate are so beefy is that they are basically a bunch of binary blobs that are needed to link stuff together due to how import libs work on Windows. https://kennykerr.ca/rust-getting-started/understanding-windows-targets.html https://kennykerr.ca/rust-getting-started/understanding-wind... In theory that would not be necessary any more on more modern rustc versions, but if you want to target rustc < 1.70 you still need that.
- buildbot 2y agoI assume, as an ex Microsoft person, that’s due to shipping the Org chart at a team level. Each sub package of the azure cli probably has it's own team that hates talking to anyone else, so implements the versions of just what they need in their subpackage. They probably have more than one python included at this point because some team needed python 3.12 and another is still on 3.6 and claims updating would take a year with a team of 10. (Disclaimer, I didn’t work anywhere near this, and am just making up a guess).
- isoprophlex 2y agobeautiful, because this is probably exactly what is happening here... all the subcommands bring their own jungle of crap along.
- db48x 2y agoThe Only Unbreakable Law <https://www.youtube.com/watch?v=5IUj1EZwpJY https://www.youtube.com/watch?v=5IUj1EZwpJY>
- quietbritishjim 2y agoMaybe you could have just told us what the "unbreakable law" is, so we can all see in 2 seconds? Instead of posting a link to video that doesn't seem very keen to tell us even in the first couple of minutes?
- cookie_monsta 2y agoThank you for compounding the problem. Skipping ahead to the conclusion, I am guessing the law is "be lean and flexible"?
- db48x 2y agoNo, the unbreakable law is Conway’s Law (not that Conway): “Organizations which design systems (in the broad sense used here) are constrained to produce designs which are copies of the communication structures of these organizations.”
- akx 2y agoThat's my issue! <3 EDIT: It's gotten even worse in the last 6 years!