If we analyze the computational complexity of software architectures the way we do regular algorithms, we see that UNIX was much more efficient than previous OSes/approaches.
A narrow waist is an idea or interface that gives you O(M x N) functionality for O(M + N) code. It's a way to reuse code and data by interoperating.
If you can't interoperate, you end up writing bad versions of the same application code, over and over again.
More concretely, I remember there was this whole "re-architect google3" idea >10 years ago, which seemed to get brushed aside for the cloud. I think they were trying to have more of a narrow waist, not 10 different distributed databases made by 10 competing teams, 10 different auth libraries, etc.
The management's perception then was that product dev was extremely slow, and had poor quality results
That video is about the application side of Google (e.g. docs and maps), but the internal side had similar architectural problems.
---
As another example, it seems like the dev tools group at Google wanted this article to be published, and I have no idea why:
Google Is 2 Billion Lines of CodeāAnd It's All in One Place
It's saying Microsoft Windows has 50 M lines of code, while Google has 2 B lines of code.
There are all sorts of problems with those numbers, but in any case, it's not a flattering comparison -- not something you want to brag about
I think they wanted to emphasize the scalability of the source control system, and ended up saying that Google has a lot of bad code that doesn't work well
That is a great video. If Google is the new Multics and the cloud is the new mainframe, does that mean that AI is the new Unix? AI is the command line?
chubot|2 years ago
https://www.oilshell.org/blog/2022/02/diagrams.html
A narrow waist is an idea or interface that gives you O(M x N) functionality for O(M + N) code. It's a way to reuse code and data by interoperating.
If you can't interoperate, you end up writing bad versions of the same application code, over and over again.
More concretely, I remember there was this whole "re-architect google3" idea >10 years ago, which seemed to get brushed aside for the cloud. I think they were trying to have more of a narrow waist, not 10 different distributed databases made by 10 competing teams, 10 different auth libraries, etc.
The management's perception then was that product dev was extremely slow, and had poor quality results
That video is about the application side of Google (e.g. docs and maps), but the internal side had similar architectural problems.
---
As another example, it seems like the dev tools group at Google wanted this article to be published, and I have no idea why:
Google Is 2 Billion Lines of CodeāAnd It's All in One Place
https://www.wired.com/2015/09/google-2-billion-lines-codeand...
It's saying Microsoft Windows has 50 M lines of code, while Google has 2 B lines of code.
There are all sorts of problems with those numbers, but in any case, it's not a flattering comparison -- not something you want to brag about
I think they wanted to emphasize the scalability of the source control system, and ended up saying that Google has a lot of bad code that doesn't work well
dmoy|2 years ago
google3 vs windows might not be a reasonable comparison, than say google3 vs windows + office + azure + dozens of other Microsoft products.
soniman|2 years ago