Master Foo and the Shell Tools

A Unix novice came to Master Foo and said: “I am confused. Is it not the Unix way that every program should concentrate on one thing and do it well?”

Master Foo nodded.

The novice continued: “Isn't it also the Unix way that the wheel should not be reinvented?”

Master Foo nodded again.

“Why, then, are there several tools with similar capabilities in text processing: sed, awk and Perl? With which one can I best practice the Unix way?”

Master Foo asked the novice: “If you have a text file, what tool would you use to produce a copy with a few words in it replaced by strings of your choosing?”

The novice frowned and said: “Perl's regexps would be excessive for so simple a task. I do not know awk, and I have been writing sed scripts in the last few weeks. As I have some experience with sed, at the moment I would prefer it. But if the job only needed to be done once rather than repeatedly, a text editor would suffice.”

Master Foo nodded and replied: “When you are hungry, eat; when you are thirsty, drink; when you are tired, sleep.”

Upon hearing this, the novice was enlightened.

Attached: serveimage[1].jpg (3000x2000, 1.06M)

Other urls found in this thread:

catb.org/~esr/writings/unix-koans/
twitter.com/NSFWRedditGif

Everything falls into perfection

More

>common sense is hard

Attached: c_fit,fl_progressive,q_80,w_636.jpg (636x359, 26K)

I don't get it.

nice

Sounds like an episode of Kung Fu, if David Carradine were a Jow Forumsentooman.

Q: What did the zen buddhist say to the hotdog vendor?

A: Make me one with everything.

Now explain!

Master Foo and the Recruiter

A technical recruiter, having discovered that that the ways of Unix hackers were strange to him, sought an audience with Master Foo to learn more about the Way. Master Foo met the recruiter in the HR offices of a large firm.

The recruiter said, “I have observed that Unix hackers scowl or become annoyed when I ask them how many years of experience they have in a new programming language. Why is this so?”

Master Foo stood, and began to pace across the office floor. The recruiter was puzzled, and asked “What are you doing?”

“I am learning to walk,” replied Master Foo.

“I saw you walk through that door” the recruiter exclaimed, “and you are not stumbling over your own feet. Obviously you already know how to walk.”

“Yes, but this floor is new to me.” replied Master Foo.

Upon hearing this, the recruiter was enlightened.

Infinite wisdom.

Attached: 1553446491141.jpg (620x478, 18K)

kekles my dude, plz post more

Attached: https _animemotivation.com_wp-content_uploads_2018_07_sanae-dekomori-smug.png (413x390, 33K)

FKING THIS SO MUCH AHHHHHHHH GIVE ME A JOB

desu that's what I'm currently living and I think I might just send this to the recruiters
>already have a job, decent pay
>drink with a friend I see every week
>talk about the fact one guy tried to give me a job but I refused cause I'm good where I am
>hey why don't you come to my place ? I'll send you the offer
>closer to home, better pay, more programming that my current position, work with friend
>only thing I don't know for the position is a library they use, which I already heard of anyway
>phone interview, 40 minutes, talk about me, the position, the company, their technologies
>get a technical interview to do at home the next week
>do it without any trouble
>physical interview 2 weeks later
>pretty friendly, funny but yeah, it was a 1 fucking hour 30 minutes interview.
>Thought it was actually a good thing since, you know, I was friendly and they reviewed my code. Only problem was lack of structure since it was a simple exercise to accomplish and code that wouldn't be reuse anywhere. I did comment everything tho
>talk to my friend later
>they thought, since I heard during the phone interview about the technology used I was going to suck their dick off by learning it on my spare time
>2 or 3 weeks later, 2nd physical interview with new guys, things go smooth, another 1 hour and 30 minutes to talk almost about the same stuff.
>another technical interview at the end, basic questions about programming, general knowledge, and half of it about their technology I don't know
I'm not really sure what kind of feeling I should have from it.
2 months, 4 interviews, and they still can't tell me yes or no.

dude i fuck you not i know YOUR feel at this point in SPACE TIME.

im literally going through the same fucking thing except not as indepth

>pass cv phase
>pass phone interview
>guy wants to bring me on site to face2face interview
>asks me to come in
>respond 3 hours later than when he sent the message
>oh sorry user actually those time slots are filled
>my brain: "huh its only 3 hours since he sent me the message is this some kind of 4d chess? whats he trying to pull"?
>he says he'll set up a interview a week later or something
>still hasnt said anything since then (its been a week)
>not even sure whats going on right now

i swear theyre just trying ot fuck with your head and make you desperate so they can bargain a lower wage, but im not budging or going to message him, ive got hands of titanium and my spirit will not waver.

One evening, Master Foo and Nubi attended a gathering of programmers who had met to learn from each other. One of the programmers asked Nubi to what school he and his master belonged. Upon being told they were followers of the Great Way of Unix, the programmer grew scornful.

“The command-line tools of Unix are crude and backward,” he scoffed. “Modern, properly designed operating systems do everything through a graphical user interface.”

Master Foo said nothing, but pointed at the moon. A nearby dog began to bark at the master's hand.

“I don't understand you!” said the programmer.

Master Foo remained silent, and pointed at an image of the Buddha. Then he pointed at a window.

“What are you trying to tell me?” asked the programmer.

Master Foo pointed at the programmer's head. Then he pointed at a rock.

“Why can't you make yourself clear?” demanded the programmer.

Master Foo frowned thoughtfully, tapped the programmer twice on the nose, and dropped him in a nearby trashcan.

As the programmer was attempting to extricate himself from the garbage, the dog wandered over and piddled on him.

At that moment, the programmer achieved enlightenment.

Few years ago I spent a long time unemployed for various reasons. I realized that all this bullshit was pretty sad and I stopped caring about the interviews. My friend came to me saying "I think they didn't expect to met someone that honest". I don't see the point faking everything, your competences, you attitude, etc.
Like me ore not, go fuck yourself. I always have a lot of fun with the interviewers and have good laugh with them. Technically, they can always give me something to try me, but all they give is fizzbuzz shit tier, and their only way to know if you're good for the job in the end is "do you have experience with all the shit we're using ?" when you just graduated.
Want me to learn all those shit ? pay me for it, pay a training for your employees, don't expect me to do it at home when I'm having a private life.

About your case, I think that guy might just be a "let's email all those guys and select a few of them for an interview". I already received an email with hundreds of cc: on it instead of cci: Those guys are the worse and might never call you back to give you a straight no

You forgot:
>buddhist: Where's my change?
>vendor: change comes from within.

This one doesn't even make sense, UNIX utilities are famously unfriendly and cryptic as shit. The golden standard for a UNIX user interface is ed

Sad part is the position looked pretty interesting and I was actually genuinely keen on the position but I notice no matter which company, the HR is always full of incompetent retards who are trying to select technical people when they themselves have no idea what it is theyre selecting for.

But yea I kinda gave up on this position what a disappointment, I don't even know how to get employed at this point if everyone I talk to is a monkey

KEK

Attached: 14241421421.png (1920x1080, 1.87M)

Raphiel a cute!!

These are great, where can I get more?

catb.org/~esr/writings/unix-koans/

Anyone who is condescending or have a "like me or go fuck yourself" attitude is generally seen as a red flag who HR is liable for if they hire.

They also might rather hire someone who seems enthusiastic about the technology and who rather go "yes, I learn things in my spare time anyway, but would love to get formal training" because there are tons even if they are not serious and who demand proper training when they are on the job.

Attached: 615463163.png (1920x862, 1.11M)

Master Foo and the Script Kiddie

A stranger from the land of Woot came to Master Foo as he was eating the morning meal with his students.

“I hear y00 are very l33t,” he said. “Pl33z teach m3 all y00 know.”

Master Foo's students looked at each other, confused by the stranger's barbarous language. Master Foo just smiled and replied: “You wish to learn the Way of Unix?”

“I want to b3 a wizard hax0r,” the stranger replied, “and 0wn ever3one's b0xen.”

“I do not teach that Way,” replied Master Foo.

The stranger grew agitated. “D00d, y00 r nothing but a p0ser,” he said. “If y00 n00 anything, y00 wud t33ch m3.”

“There is a path,” said Master Foo, “that might bring you to wisdom.” The master scribbled an IP address on a piece of paper. “Cracking this box should pose you little difficulty, as its guardians are incompetent. Return and tell me what you find.”

The stranger bowed and left. Master Foo finished his meal.

Days passed, then months. The stranger was forgotten.

Years later, the stranger from the land of Woot returned.

“Damn you!” he said, “I cracked that box, and it was easy like you said. But I got busted by the FBI and thrown in jail.”

“Good,” said Master Foo. “You are ready for the next lesson.” He scribbled an IP address on another piece of paper and handed it to the stranger.

“Are you crazy?” the stranger yelled. “After what I've been through, I'm never going to break into a computer again!”

Master Foo smiled. “Here,” he said, “is the beginning of wisdom.”

On hearing this, the stranger was enlightened.

Master Foo is an asshole

Once upon a time, a rat and a butterfly found themselves discussing how best to accomplish a project to make the world they shared a better place for both their species.

Whatever it takes, said the rat. The butterfly replied:
>As long as nobody makes any money doing it.
Whatever it takes.
>But we mustn't use any work done by people we disapprove of, or whose motives are suspect, or who ask to be compensated for their work.
Whatever it takes.
>We're not going to have to do any marketing, are we?
Whatever it takes.
>Our work must be perfectly designed, pure in theory and implementation, able to meet the needs of users and prospective users from now until the end of time.
Whatever it takes.
>We must find the one best way, and persuade the benighted masses who haven't yet been enlightened to adopt it.
Whatever it takes.
>But all of those who don't do things our way don't matter—they hardly exist, We'll do things for our people, and ignore the smelly majority—even though they outnumber us twenty to one, they'll eventually proclaim our wisdom and glory.
Whatever it takes.
>Have you no principles? Are you willing to work for hire, patent and copyright your work, sell it for money, hire people to help you, sell it to evil governments and huge malign corporations, conform to international standards adopted by evil…?

The rat lunged, snapped its jaws, and devoured the butterfly. After swallowing, it licked its lips and muttered, “Whatever it takes”.

>The rat gets severe chronic diarrhea
>Followed by anal prolapse

Whatever it takes.

someone post the one where foo fucks nubi

Master Foo and the Ten Thousand Lines

Master Foo once said to a visiting programmer: “There is more Unix-nature in one line of shell script than there is in ten thousand lines of C.”

The programmer, who was very proud of his mastery of C, said: “How can this be? C is the language in which the very kernel of Unix is implemented!”

Master Foo replied: “That is so. Nevertheless, there is more Unix-nature in one line of shell script than there is in ten thousand lines of C.”

The programmer grew distressed. “But through the C language we experience the enlightenment of the Patriarch Ritchie! We become as one with the operating system and the machine, reaping matchless performance!”

Master Foo replied: “All that you say is true. But there is still more Unix-nature in one line of shell script than there is in ten thousand lines of C.”

The programmer scoffed at Master Foo and rose to depart. But Master Foo nodded to his student Nubi, who wrote a line of shell script on a nearby whiteboard, and said: “Master programmer, consider this pipeline. Implemented in pure C, would it not span ten thousand lines?”

The programmer muttered through his beard, contemplating what Nubi had written. Finally he agreed that it was so.

“And how many hours would you require to implement and debug that C program?” asked Nubi.

“Many,” admitted the visiting programmer. “But only a fool would spend the time to do that when so many more worthy tasks await him.”

“And who better understands the Unix-nature?” Master Foo asked. “Is it he who writes the ten thousand lines, or he who, perceiving the emptiness of the task, gains merit by not coding?”

Upon hearing this, the programmer was enlightened.

Master Foo instructed his students:

“There is a line of dharma teaching, exemplified by the Patriarch McIlroy's mantra ‘Do one thing well’, which emphasizes that software partakes of the Unix way when it has simple and consistent behavior, with properties that can be readily modeled by the mind of the user and used by other programs.”

“But there is another line of dharma teaching, exemplified by the Patriarch Thompson's great mantra ‘When in doubt, use brute force’, and various sutras on the value of getting 90% of cases right now, rather than 100% later, which emphasizes robustness and simplicity of implementation.”

“Now tell me: which programs have the Unix nature?”

After a silence, Nubi observed:

“Master, these teachings may conflict.”

“A simple implementation is likely to lack logic for edge cases, such as resource exhaustion, or failure to close a race window, or a timeout during an uncompleted transaction.”

“When such edge cases occur, the behavior of the software will become irregular and difficult. Surely this is not the Way of Unix?”

Master Foo nodded in agreement.

“On the other hand, it is well known that fancy algorithms are brittle. Further, each attempt to cover an edge case tends to interact with both the program's central algorithms and the code covering other edge cases.”

“Thus, attempts to cover all edge cases in advance, guaranteeing ‘simplicity of description’, may in fact produce code that is overcomplicated and brittle or which, plagued by bugs, never ships at all. Surely this is not the Way of Unix?”

Master Foo nodded in agreement.

“What, then, is the proper dharma path?” asked Nubi.

The master spoke:

“When the eagle flies, does it forget that its feet have touched the ground? When the tiger lands upon its prey, does it forget its moment in the air? Three pounds of VAX!”

On hearing this, Nubi was enlightened.

Attached: B5E48A11-B97B-4EED-B54C-49EC6FA2A2DE.jpg (1271x715, 480K)

--help
man

i don't get it

The joke is that graphical communication is bullshit that belongs in the trash.

If you even remotely want the job, you have to send a message. It's not grovelling, it's following up.

A manager went to the Master Programmer and showed him the requirements document for a new application. The manager asked the Master: "How long will it take to design this system if I assign five programmers to it?"

"It will take one year," said the Master promptly.

"But we need this system immediately or even sooner! How long will it take if I assign ten programmers to it?"

The Master Programmer frowned. "In that case, it will take two years."

"And what if I assign a hundred programmers to it?"

The Master Programmer shrugged. "Then the design will never be completed," he said.

>the manager was not enlightened
it's the little things

oh my

>Unix
Proprietary pig disgusting. Luckily it died decades ago.

>like me or go fuck yourself
I'm don't say that literaly, but, I don't see the point of faking who you are and telling them "ofc this field is awesome, I would really like to enter on it and get new opportunities to improve my self on blablablablablabla
I can do the job, I can have fun with you, laugh, share a drink, etc. but I'm not going to serve you the bullshit your expeting cause I don't believe in those things. What matters to me is : give me a task, I'll do it. I'm friendly, etc. I'm not a dick, but don't expect me to suck a company dick just because you want a little puppy doing late hour work.

>yes, I learn things in my spare time anyway
Or you know, you can also have a life, have other hobbies, do sport, see friends, have a family and not having time for learning new stuff.
Personally I have a home server and keep programming sometimes in my free time, but I do that for my own pleasure, and I don't seek to learn new shit to sell to a HR guy. I usually program in C, create daemons, develop services for my server from scratch, cause I just like to loose time doing it. Want me to learn [new cutting edge programming language] or [library], then hire me and pay me for that. Don't expect every programmers to know the shit you decided to use, specially when they just came out of college.

I'm not sure if I get this desu
It's about balance, right?

Kek

Why is she so perfect, bros? She even gets trips

You can have this opinion later once you actually know something useful and aren't having issues finding a job. Are your parents just going to coddle your unemployed useless ass indefinitely?

See the master continually trying to point at shit to tell him something but he just doesn't get it. In the end he drags him to the trashcan. Then he is enlightened. Putting your thoughts into direct commands is clearer than pointing around in a gui.

The Magician of the Ivory Tower brought his latest invention for the Master Programmer to examine. The Magician wheeled a large black box into the Master's office while the Master waited in silence.

"This is an integrated, distributed, general-purpose workstation," began the Magician, "ergonomically designed with a proprietary operating system, sixth generation languages, and multiple state of the art user interfaces. It took my assistants several hundred man years to construct. Is it not amazing?"

The Master Programmer raised his eyebrows slightly. "It is indeed amazing," he said.

"Corporate Headquarters has commanded," continued the Magician, "that everyone use this workstation as a platform for new programs. Do you agree to this?"

"Certainly," replied the Master. "I will have it transported to the Data Center immediately!" And the Magician returned to his tower, well pleased.

Several days later, a novice wandered into the office of the Master Programmer and said, "I cannot find the listing for my new program. Do you know where it might be?"

"Yes," replied the Master, "the listings are stacked on the platform in the Data Center."

I live alone have my own house and got a decent paid job, but thx for worrying about my life.

Isn't this basically the thinking that's leading right now to everything being an electron app using 5,000 npm modules? "it's easier to develop and just works!"

Is there Unix-nature in an Electron app?

No.

That's bullshit because the shell interpreter is written in C and whatever commands in the script are written in C.

>here's a billion fucking startup options but literally nothing about the actual program
Oh yes, so helpful

And yet the shell is an interpreter that runs ten thousand lines of C code for seemingly simple commands (according to that very koan). And what would take many hours to build in pure C, you can fit into a couple of lines of shell code and throw it to be interpreted.
Electron is an interpreter that also runs thousands of lines of machine code for seemingly simple JS code. And what would take many hours of building in a lower-level language, plus making cross-platform, can often fit into a bit of JS you will throw to the Electron runtime to interpret.

Shells don't seem like bloat today because our PCs are so powerful while the actual fundamental nature of a shell interpreter hasn't evolved much from several decades ago. An environment like Electron does feel like bloat because it fully uses the capabilities of modern PCs, for tasks that seem like they should really not be using that many resources. But, back in the early days of computing when shells were being made, wouldn't they have been analogous?

I see that you have much to learn, grasshopper.

Based pottering btfo the virgin Unix boomer.
One service manager to rule them all!

Attached: 110D68F4-D2D7-4C89-90F1-26CDAF166185.jpg (605x578, 63K)

Imagine being this unwilling to learn

>UNIX weenie proceeds to blame the user
Like clockwork

fucking hell

Attached: 1490802743377.jpg (400x388, 36K)

I'm doing fine. You're the one claiming that incredibly detailed manuals and help dialogues built right into the OS aren't enough for you.

And even despite all this, there is no Unix nature inside any Electron app.

Seconds later, a snake crept up and swallowed the rat whole. And so no project was ever completed.

>Is it not the Unix way that every program should concentrate on one thing and do it well?”
Only retards parrot this old tripe.

>t. Windows user

Master Foo once said to a visiting programmer: “There is more Unix-nature in one line of Python script than there is in ten thousand lines of C.”

The programmer, who was very proud of his mastery of C, said: “How can this be? C is the language in which the very kernel of Unix is implemented!”

Master Foo replied: “That is so. Nevertheless, there is more Unix-nature in one line of Python script than there is in ten thousand lines of C.”

The programmer grew distressed. “But through the C language we experience the enlightenment of the Patriarch Ritchie! We become as one with the operating system and the machine, reaping matchless performance!”

Master Foo replied: “All that you say is true. But there is still more Unix-nature in one line of Python script than there is in ten thousand lines of C.”

The programmer scoffed at Master Foo and rose to depart. But Master Foo nodded to his student Nubi, who wrote a line of Python script on a nearby whiteboard, and said: “Master programmer, consider this pipeline. Implemented in pure C, would it not span ten thousand lines?”

The programmer muttered through his beard, contemplating what Nubi had written. Finally he agreed that it was so.

“And how many hours would you require to implement and debug that C program?” asked Nubi.

“Many,” admitted the visiting programmer. “But only a fool would spend the time to do that when so many more worthy tasks await him.”

“And who better understands the Unix-nature?” Master Foo asked. “Is it he who writes the ten thousand lines, or he who, perceiving the emptiness of the task, gains merit by not coding?”

Upon hearing this, the programmer was enlightened.