Why didn't the Unix boomers modularize the programs APIs instead of the programmers. It's the best of both worlds because you don't have to call a shell command in a separate thread. For example if you wanted to write a GUI frontend to `dd`, you have to call a bash command and parse the stdout output, BRAVO, unix boomers!
All they had to do is create a library like "libdd.h" so everyone can easily call the API in monolithic programs.
>For example if you wanted to write a GUI frontend to `dd`, you have to call a bash command and parse the stdout output, BRAVO, unix boomers! You don't at all have to call bash to execute a program. Are you fucking retarded?
Noah Parker
You still have to invoke a separate program in a separate process
>why didn't they modularize programs? They did you stupid fuck. They evangelized it. >if you wanted to write a GUI frontend to `dd`, you have to call a bash command and parse the stdout output, BRAVO, unix boomers! Please go back to Windows and never return.
Luke Foster
sauce ?
Luke Perez
>For example if you wanted to write a GUI frontend to `dd` That's retarded.
Julian Murphy
>>if you wanted to write a GUI frontend to `dd`, you have to call a bash command and parse the stdout output, BRAVO, unix boomers! >Please go back to Windows and never return. what?
Christian Hernandez
Not entirely, the hyperemoting soothes my autism. Same thing anime does.
>All they had to do is create a library like "libdd.h" so everyone can easily call the API in monolithic programs. the path to satory is a lonely road.
Not a bad idea. You load the library, call the functions in the library and then parse the output. Genius.
Ayden Ross
>looks like a 9/10 girl >that's a man lol nah
Thomas Jackson
Ok then, please, sauce.
Adam James
They didn't anticipate GUIs and no one paid them to.
Anthony Taylor
it's a teenage boi
Alexander Jackson
>hey let's make an os based around composition of programs >but let's remove all type information from io and just do ad hoc text parsing everywhere lmao fucking unix boomers
Carter Wood
doubt
now this is a boi
Isaiah Lee
source?
Levi Foster
Please don't disrespect Homestuck with this shit
Jaxson Howard
it is, you retard, just fucking google it
Caleb Lopez
/wsg/ tells me they pretended to be a boy to try to stop weirdos from harassing them
James Harris
That's not going to work.
Chase Ortiz
bonibonkers
Brody Sullivan
is this a man
Nolan Lee
Thanks, I found it just now, but I still didn't get this particular video of him/her, the best match I got was a double side by side video with audio going "... bf gf eventually"
Jose Gutierrez
just lurk more might be a hard finding source since everyone posts ricardo and deep fried shit
Adrian Hill
inherently wrong, women trying to be anime miss the whole point, waifuists are like pygmalion, they can never live up to it
Christopher Fisher
Yeah, popping Ricardo ain't fine in my book.
Jayden Reyes
I'm okay with it
Cooper Russell
if you want I can go on a tiktok thread on /wsg/ post whatever roxy cosplay boni I have?
Daniel Clark
Thanks. Much appreciated. At last no freaky creepy gay stuff.
Sebastian Green
>pls sauce
Lincoln Richardson
enjoy, last three posts are me and there are a few more in the thread if you specifically want the roxy ones
Leo Jackson
Thank you, user. I was waiting for this to go to bed. Have a nice time wherever on the globe you are.
Christopher King
Someone got called a faggot a lot in high school didn't they
The problem is they conflated memory protection with multi-threading in the idea of a process. Programs should be just like functions where all the data between the caller and callee get copied, with multi-threading being something completely separate. Also text as a universal interface is dumb.
Kevin Martinez
I can't wrap my mind around the advantage here, what's wrong with not having a GUI and using another thread what problem are you solving by adding a GUI and removing threading?
The unix toolset is a masterpiece of form and functionality. You are not locked to a specific language or API. You can just insert some of your own logic to create useful tool chains and automation. Maybe you should read The Art of Unix programming to better understand.
That plan is so stupid only a woman could think of it.
Jose Reed
Um yes, what's wrong with that? Calling an API is far more efficient and robust than calling a separate program.
Agreed
Well for example you have to parse dd's output in a string continuously which is stupid. With `libdd`, the API needs to return a struct object continuously which is more efficient and your main program knows the rate of I/O, the progress etc.
Also in case of errors, libdd API would let you know what exactly went wrong. Whereas parsing dd's output to detect what's wrong is dumb.
Ryder Turner
The funny thing is it would probably be easier to build a dd command string than to understand and use "libdd.h". Because when programmers get the opportunity to overcomplicate things, they will, which is why so many APIs become a fucking nightmare to work with. At least with a CLI people will actually try to make it not a complete clusterfuck for common use cases.
People like you are the sort that complain about building SQL command strings and want some weird binary protocol instead because it's "more efficient". Then they create something like Powershell which has "objects" and is "elegant" but chokes on relatively small volumes of data, while the unix tools keep on truckin'
Brayden Foster
what you describe is powershell, everything returns a .net object instead of text. It's much more powerful than bash, but harder to get into. It's also much harder to parse in non-net languages. Text is the lowest common denominator
Nolan Gonzalez
>returns a .net object Why not a C struct? C is the lowest common denominator because every language worth using has a C FFI
C structs are easy to parse, universal and more robust than just a string, aren't they? There are tons of API that uses this strategy already, for example,
Cameron Williams
a c struct doesn't even have introspection, it's literelly a blob of bytes
Isaiah Powell
Most women probably wouldn't think a boy might entice more weirdos
David Sanchez
Well it's certainly better than plain strings. return a struct like { ssize_t return_code; char** status; double* written double* left double* IO_rate };
Simple, no RTTI required, easy to parse too
Chase Sanchez
Specifying the output of a program in a big C struct and having that be safe and stable across versions is a lot of work. A lot more work than dumping some printfs into your program. Keep in mind that just returning a struct isn't enough, you'll want a way to attach listeners to receive progress information, allow cancelling an operation in progress, etc. If you want an idea as to how this would work, look at COM objects and IDL and such, it's generally pretty fucking awful to work with
As a bonus since you still want a CLI you have to write another version of your program with the printfs anyway.
Or you can just skip the first part and the OS will take care of things like interrupts (canceling you), cleaning up resources, managing the pipes, and so on. The cost of forking a process is tiny on any decent OS, and parsing text is cheap too.
Justin Gonzalez
except you have to look into manual every time you want to read the return value
Blake Phillips
>double* written >double* left >double* IO_rate wait what the fuck why are these doubles? are you a js programmer? oh god
Adam Brown
To incorporate fractions. Thtat's an implementation detail, representing them in bytes is insufficient
Chase Lewis
it's not, bytes/s or even bits/s in an uint64_t is the only sensible choice
Grayson Walker
Again, implementation detail. uint64_t has limits whereas if you dynamically decide on units it becomes easy to convey the message.
I have no idea about COM classes, I never touched windows systems in my life. >event listeners API should only provide a set of data and the client should parse a data to invoke events, right? >interrupt Well, that's a good point. At least there's no better option to forcefully kill the process. A robust API should read an shared `int`to listen for events but in most cases, client killing off the process created by the API is just enough. Remember that you have to do the same thing with the current dd too.
Nolan Harris
>uint64_t has limits uint64_t can represent more numbers than double.
Angel Scott
>no fractions
Ayden Wilson
floats aren't continuous which means there are cases in which data transfer would change, but the reported numbers wouldn't. In the rare case that 64 bits aren't enough there are 128 bits (unsigned __int128), which are going to be enough at least as long civilization is on earth only
Jordan Cox
No, even a teenage boy with two mothers can not be this cute and feminine.
Chase Roberts
>either not knowing who bonbi is or knowing and trapshitposting anyway wew boi
she's a confused and socially retarded (homeschooled lol) 15 year old virgin girl (female) who spends too much time on tumblr and "identifies" as "they/them" despite continuing to wear makeup and dress as a female, and wear mostly female cosplays.
Tyler Brown
You can do this in TempleOS.
Ryder Brown
You can do this in any OS, moron.
Logan Hill
It’s especially comfy to do it in TempleOS though.
Cameron Kelly
Then each libdd.h should check where It is located and you'd need to do that for every utility that you use which would be ineficcient, just make a "gnuutils.h" header so there is a common "utility" programa that could be called directly from any C or C++ std complicant compiler
Cameron Rodriguez
Sounds pretty based, user
Wyatt Butler
Don't tell me this is also a boy. Fuck.
Hudson Ramirez
>modularize programmers What the fuck does this even mean?
Aiden Anderson
wouldn't that break cli usage? not everyone is a c programmer. you would need to have a small dd binary to call the dd header file. also unix was made before gui so it would break userspace.
Joseph Jackson
Almost all decent language has a C FFI
Adam Thomas
Always that one mentally ill faggot lying to make his fetish seem acceptable. It's a biological woman.