Skip to content
0:00 / 0:00

#unix#multics#pipes

Unix and Google

FOAM

96 subscribers • 1 video on Hallway

YouTube
  • Recommended by 4 people: 4 on Hacker News.
  • A classic. People kept recommending it from 2016 to 2023.

Beginner. No background in the topic needed.

9.2K views10 years ago4 recommendations

Systems programmingHistory and cultureOperating systemsSoftware architectureHistory of computing

An animated simulation compares the development of Multics and Unix to show how small composable programs and pipes provide an efficiency advantage.

The uploader added no description.

Why it's here

4 people recommend this

What people say. Recommended as a clear and creative explanation of why the Unix pipe philosophy is so powerful and scalable.

mettamageon Hacker News • Recommends

On “Glue: The Dark Matter of Software”

I wrote a non-programmer summary to some of my friends, because my mind is blown. Here it is (warning: it's very informal). This is some next level 80/20 stuff, I'd argue it's even 99/1 (consultant speech for "being efficient" by seeing if you can exploit Pareto's principle 0). A guy on YT 1 simulates in 7 minutes how the two biggest operating systems were built in the sixties (Multics by IBM and Unix by 2 guys in a garage). Nowadays we only have descendants of Unix, this simulation shows IMO two things: 1. How a chain of command screws up productivity (I doubt that anyone at IBM had the power/autonomy to change complete structure of the product. This was needed, but such change manageme…

deckard1on Hacker News • Recommends

On “Disasters I've seen in a microservices world”

…ur organization gets frozen. This is what we all get for taking advice from the Googles and Facebooks of the world. Google has like a billion lines of code in a monorepo. They do not do things remotely like 99% of the businesses out there. They are sitting on huge piles of money that lets them be incredibly inefficient for decades . 1 link 2 link to this video…

kgron Hacker News • Recommends

On “The Strange Birth and Long Life of Unix (2011)”

This video shows how Unix was mathematically more efficient than Multics, which goes a very long way at explaining its success and longevity: link to this video

kgron Hacker News • Recommends

On “For the Love of Pipes”

I made a simulation and video which shows why the pipe is so powerful: link to this video I showed it to Doug McIlroy, and while he thought there was more to the story, he didn't disagree with it.

kgron Hacker News • Recommends

On “Apollo – Funding for Moonshots”

This video explains why UNIX was a moonshot, and why it could be developed by a small number of people because of it: link to this video

foooobabaon Hacker News • Recommends

On “Following the Unix philosophy without getting left-pad (2021)”

…n format a string in general, one program that can do implement the features of all of those. It is about “coding the permitter, not the area”, so if you have NxM features to build, don’t write N*M individual programs/functions, instead write N+M programs/functions that can be composed together to get all NxM features. This video explains it well: link to this video…

kgron Hacker News • Recommends

On “Unix is both a technology and an idea”

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. It's demonstrated in this short video: link to this video

kgron Hacker News • Recommends

On “How could the early Unix OS comprise so few lines of code?”

Unlike previous OSes, UNIX provided the pipe facility to allow you to combine the functionality of many small programs. Ex. ls | grep ... | sort ... | more Before that every command-line program had to support the full suite of additional functionality like search, filtering, paging, etc. This UNIX/Pipe approach allowed for greater reuse and much less code. This is explained and simulated in this video: link to this video

ItsMonkkon Hacker News • Mentions

On “Ask HN: Do software engineers have leverage?”

No. pg has a good article on doing things that don't scale0 and showed how the AirBnB guys went and setup the first listings manually, but it's actually far more general than just kicking off the network effect. Moats are things that don't scale. Open Source software scales perfectly. Billion dollar companies are billion dollar companies because they can use Open Source software wrapped around some Moat-able structure. The more Open Source Software that exists, the bigger the walled garden. When Google spends a billion dollars sending cars all around the world taking pictures, they are doing so in a way that the Open Source world can't centrally compete against, as they don't have the bill…

ItsMonkkon Hacker News • Mentions

On “The “API Mandate” memo at Amazon”

I posted a comment on libraries vs frameworks yesterday0, here's the relevant section. > Frameworks are easier to setup initially, but they do not scale. Why is it that Microsoft Windows has 13 different dialog generations? Because each is a framework on top of a framework on top of a framework. It's amazing that they can even get that done. > On the other side, OSS is generally built on libraries. When the 2 UNIX devs were in a basement building UNIX and were able to out-compete Multics1, they did it because they were building libraries that could talk with each-other using pipes around the boundary. Applications that communicate based on input-output with no internal state behave just…

ItsMonkkon Hacker News • Mentions

On “Opinion-Driven Design”

This is my take as well. If you are building a framework and its sub-components are frameworks that act on their own behalves, you better build exactly what you need in an opinionated style. But if you are building a framework and its sub-components are libraries, those libraries can be as general as possible, and your framework can then call those libraries in just the way that you need to. The library strategy will always out-compete in the end if you can handle it properly. If you try to do it half-way like these developers did, you will be ruined just like they found. Reposting from a similar comment yesterday - > Frameworks are easier to setup initially, but they do not scale. Why is it…

deckard1on Hacker News • Mentions

On “GraphQL Is a Trap?”

> The whole thing was invented by a "software consulting" firm I don't know the whole origin story. It definitely does feel like something Martin Fowler would come up with. But I blame Google for really making it a trend: link to this video And you can see they understand the whole problem with microservices. It's the same thing The Mythical Man-Month was trying to tell everyone decades ago1 > When n people have to communicate among themselves, as n increases, their output decreases Microservices exasperates this. It is the Multics model. Each microservice implements its own, often wildly different, API. Which every bit of code that needs to use that microservice has to go and implement. 1 link

foooobabaon Hacker News • Mentions

On “Architecture diagrams should be code”

…ities, but instead of building NxM things individually build N+M tools that can be composed into NxM capabilities 2. So with FOAM the idea is if we want to maintain a model of our software, and build it as well, what if we can use one composable tool to generate both, rather than model everything and code it separately. 1 link 2 link 3 link to this video…

kgron Hacker News • Mentions

On “The Myth of the Myth of the 10x Programmer (2020)”

I would say that the best programmers don't change the multiplier, but the exponent, so that the factor by which they're better than the average increases with the size of the problem. This is why you might not see as much of a big difference with a test lasting a few hours, as you would with one lasting weeks, months or years. I explain this a bit by means of a simulation in this video: link to this video