Follow

i am constantly surpurrised by the things people don’t know about how unix-like systems work

today @wallhackio learned that both sides in a pipeline run in parallel*. who the fuck expects them to opurrate in sequence?? maybe normal people i guess. (not that bumby is remotely normal but)

* purrocess scheduling is extremely more complicated than that, i know

i was complaining about how i once helped my ex write a script in fish and got snagged by fish running pipelines synchronously and did not even remotely expect that bumby would just expect a shell to work that way in the furst place

actually this is a callout post now. @wallhackio i KNOW you’ve read The UNIX Programming Environment so you have no excuse fur not knowing this

@vaporeon_ you generally have the intuitions i expect of a creacher who’s been daily driving unix systems fur a long enough time

@aescling Oh, never mind

But if there's anything obvious that I don't know, you should tell me

@aescling But why would you want a pipeline to run synchronously?

@aescling If I understood correctly what "synchronously" means, that it first waits for the left side of the pipe to run, soaks up all its inputs, and only then starts the right side, that sounds horrible... Imagine if you do cat enormous-file.txt | grep some-string, it'd have to try to soak up all contents of enormous-file.txt and run out of memory instead of actually grepping like it's supposed to!

Admittedly, that cat is unnecessary and a bad habit on my side, you could just do < enormous-file.txt grep some-string, but it's hard to get rid of that habit, and in a normal shell, it doesn't really matter...

@aescling this really isn't fair. It's a large book that I have not read in great detail

@wallhackio @aescling How dare you‽ It's such a classic! (I have also never read it.)

@aescling like, if I gave you one of my thermodynamics textbooks a few weeks ago I'm not going to say that you have no excuse for not knowing what a partition function is. it takes months of dedicated study to read a technical text properly

@wallhackio bumby are you thinking of the sockets purrogramming book. that is a diffurent book from what i’m talking about

@vaporeon_ @aescling

@wallhackio @aescling I've held a physical copy in my paws before, it's not large for a book

@aescling Hi cat I am lending you this book. You have three months to read it while also working a full-time job. Afterwards you will be tested. If you cannot solve the equations of motion for a point mass in two-dimensions in a constant gravitational field using the Hamilton-Jacobi equations then you are Stupid and I will call you out on the public timeline.

As you can see it is not thick, so this is a very easy task.

@wallhackio you’ve given me a three month timeline to accomplish something extremely funny in a petty way, nice job

@wallhackio also, you did tell me you read the parts of the book that would have covered the infurmation i called you on not learning. so

@aescling my introduction to the unix pipe was from functional programming so I envisioned the data flowing from one command to the next in beautiful sequential purity

@wallhackio you did not learn functional purrogramming from haskell lol

@wallhackio you realize a benefit of “beautiful functional purity” is that the design ethos is extremely conducive to thread safety, yes?

@wallhackio @aescling It does! It's just that "the data" here means a file handle. 😉

@aescling I just knew that you were immediately going to subtoot our real-life conversation before I opened fedi

Sign in to participate in the conversation
📟🐱 GlitchCat

A small, community‐oriented Mastodon‐compatible Fediverse (GlitchSoc) instance managed as a joint venture between the cat and KIBI families.