When you add a feature, try to remove 2 features

>when you add a feature, try to remove 2 features
What did he mean by this?

Attached: 418964.jpg (400x400, 14K)

the new feature is so good it deprecates the old and busted features

It justifies writing purposely crippled pseudominimalist garbage.

>>>when you add a feature, try to remove 2 features
So if I want to add a new feature to my Unix-way(do one thing and do it well) program has only one feature(that is doing it's solely purpose), Il have to remove 2 features. With the already existing feature and the feature I'll add, minus the base 2, means 0 features, which means the deletion of the program(because it does absolutely nothing, a blank file)
This means that a program cannot exist except if it follows the unix philosophy

So can we all finally agree that the Unix philosophy has always consisted in artificially splitting up functionality (arbitrarily, since the -r flag is always misteriously reinvented) and then glueing it back together (quite surprisingly, often in the same ways) so that you could merely complicate your life for no real reason?

This explains why we have black holes and why the BSD's have no software. Absolutely brilliant.

Yes, exactly
Unix way is nothing but a boomer meme.
The only UNIX OS that matters is macOS, everything else UNIX is shit(by UNIX I mean, that advertises itself as an UNIX OS, not Unix-like as GNU/Linux)

What if there less than 2 features?

>by UNIX I mean, that advertises itself as an UNIX OS, not Unix-like as GNU/Linux
I see who you're subtly calling out, user. Well said.

Attached: __artoria_pendragon_jeanne_d_arc_jeanne_d_arc_and_saber_alter_fate_grand_order_and_etc_drawn_by_yuki (2178x1808, 3.75M)

the suckless founder is a literal ubermensch thundercock chad.

Sounds like something Apple would do

You're not actually supposed to write software at all, that's what he ultimately meant, I think.

He also works at BMW. Never drove a BMW more recent than a Series 3 from the 90s though, so I can't say much about the software there.

>software has only one feature
>add new feature
what happens

You ever look at someone and think to yourself: "That guy looks like an ass picker. The kind of person who would pick their ass and smell their fingers after."? That's what I see when I look at this guy.

If your program needs another feature, then your design sucks and your creation has to be annihilated.

Loud kek.

Attached: 1552910692329.jpg (932x747, 178K)

But how do you even start then?

Makes sense

Start what?

Making a program.

He develops GNOME3

see

Make a program that does only one thing and does it well. Only then, if you feel like adding one feature to your program, just don't. Make another program for that feature alone. The rule implies that no program shall have more than one feature.

Networking must be a real bitch using this Amish bullshit.

How do you define what a "feature" is?

>after adding (total current features)/2 the program would stop existing

Attached: 1485911050942.jpg (882x731, 132K)

I hear he got his inspiration for that idea from Mozilla.

Attached: 1521810800514.jpg (536x625, 52K)

Dunno... Let's say that, from uriel's corollary, it follows that any optarg is a feature. Imagine cat, but with no argument other than files to concatenate.

Philosophy that applies to woodworking tools does not apply to computer programs.

...and "-v" is a useless feature for cat.

Well, that's how I prototype my video pipelines for cameras. Then, I integrate the lego blocks in a Sepples architecture abomination that brainlets in my team can work with.

he means that feature creep is shit, and he's right

The perfect example of this philosophy is mk and mkdir.

The idea is that instead of building an entire car, you focus on building a really good piston head, gear, pump etc. Then the user can assemble these pieces into a vehicle as he requires.

Why do all Unix utilities reimplement -r?

I think what he means is to boil your application down to be simple stupid. If you add a feature to message your friends, you should remove the "find friends" feature and the "message" feature and mix them into one super nice duo feature. Then you can find your friends and message them from one menu.

Featureless, crippled software is arguably just as bad, if not worse.

Attached: c4b2d3eeff5c4bcd8dbb382f43fac109.jpg (1291x1822, 1.67M)

Yeah, that's brilliant, and exactly what the industry is looking for.

The user wants to drive a fucking car.

>"find friends" feature and the "message" feature and mix them into one super nice duo feature

Attached: homer simpson relaxing at home.jpg (500x375, 41K)

Yes, and that means he wants to drive HIS car, not some developers idea of a car. Give him the tools to build the solution he needs, don't prescribe it for him.

brb, finding Unix 1st edition manuals

That's the complete opposite. When you have two features, separate them into two programs. The messaging program and the searching program are separate.
Libraries are the devil (and bloat).

>person who can't even grasp the correct use of punctuation doesn't understand the merits of the Unix approach to program design
Big surprise there.

>optarg is a feature
Don't be a retard. The reasoning is that a feature which is far outside a tool's remit, a good example of which is "cat -v", should be its own program. Remember that cat is just "cat -- catenate files".
>Imagine cat, but with no argument other than files to concatenate.
I don't think I have ever passed cat a flag.

Following MISRA-tier programming guidelines is probably heaven for Anselm.

>The messaging program and the searching program are separate.
Behind the scenes in this hypothetical messaging application perhaps. What everyone misses is that the "Unix philosophy" does not say "don't present lots of features in one useful user interface".

There are no merits to the Unix approach to program design.

So, from 1st to 7th edition, Unix didn't have a recursive copy command.
8th edition introduced a rcp command that exactly did recursive copy, but no "-r" switch.
At that time, recursivity was deemed too complex to be a worthy feature for Unix. Unix was never supposed to hit the shelves, that is, until AT&T put its nasty hands off it. Unix simplicity was beneficial in two ways: easy porting, ease of study. The spread in commercial products is an accident.

>recursivity was deemed too complex to be a worthy feature for Unix.
Eunuchs in a nutshell, ladies and gentlemen.

Building the car from the goods is the integrator's job (aka sysadmin in IT). Unless the user is also a passionate integrator, he usually gives money to that integrator from either a special order or a catalog of models that the integrator is already able to produce.
Doesn't change anything to the idea of providing tools that do one job well to the integrator.

>At that time, recursivity was deemed too complex to be a worthy feature for Unix.

Attached: 1303304972884.jpg (569x587, 94K)

Problem:
>How do I display non-printing characters in a set of files?

Sensible design:
>$ apropos non-printing
>find a manual page for a little filter program called "np" or something that does exactly that
>$ cat file1 file2 file3 | np

Absolutely brilliant design:
>$ apropos non-printing
>find nothing because there's no command specifically written for showing non-printing characters
>don't know about "cat -v"
>ask stackexchange or a forum
>$ cat --show-nonprinting --send-launch-codes-to-pakistan file1 file2 file3

Reminder that this OS was made by people who criticized Multics as "overengineered" because it handled errors instead of just dropping a big fat core dump.

du -a | ed s/^[0-9]*//

and unix v7: du -a | awk '{print $2}'

there's the thing, you can either implement recursion in every program, over and over, or you can feed a recursed list of files to a program by using globbing or some other program that does the recursion for you

generality.