News for hackers. Stuff that matters.
Re:It’s Time for ‘Maximum Viable Product’ by kneebonian on Saturday December 03, 2022 @10:22PM (#33850263)
> So the idea that there is a "maximum" number of things a product should do, that can be known in advance, is sheer rubbish

I disagree, I think the Unix philosiphy solves the problem. You build simple tools that do one thing, and do that one thing well, but you make it easy for the tools to work together and then you can have pieces that do one simple thing while still serving needs.

When new needs come up that aren't addressed by current tools you simply put together another simple tool that does that.

Re:It’s Time for ‘Maximum Viable Product’ by invalidname on Saturday December 03, 2022 @10:37PM (#33850347)
That's also how Word solved the problem with the toolbars. It hid the functionality using the ribbon and added plugins. Unix is a monster in terms of features if you look at it as a whole. It's just modular so it can solve all problems.
Re:It’s Time for ‘Maximum Viable Product’ by wildrhythms on Saturday December 03, 2022 @10:31PM (#33850316)
I don't think this adequately addresses the counterexample of the Word toolbars. Sure, there's Excel, but what if I want the tabular data to live in my Word document? Now the Microsoft engineers are building a whole secondary table editing system into a word processor...
Re:It’s Time for ‘Maximum Viable Product’ by shakna on Saturday December 03, 2022 @10:44PM (#33850379)
If everything is modular, you can copy any feature between the various parts of your office applications. You've got a plugin doing one thing, and a host whose one thing is bundling all of those one things together.
Re:It’s Time for ‘Maximum Viable Product’ by jimmaswell on Saturday December 03, 2022 @10:47PM (#33850394)
This could just call Excel with COM
Re:It’s Time for ‘Maximum Viable Product’ by kevingadd on Saturday December 03, 2022 @11:43PM (#33850683)
This is one of the things that motivated the creation of OLE and COM, so that you could embed an entire Excel spreadsheet into a Word document.
Re:It’s Time for ‘Maximum Viable Product’ by iudqnolq on Saturday December 03, 2022 @11:19PM (#33850574)
Could this explain why the average person doesn't directly use linux?
Re:It’s Time for ‘Maximum Viable Product’ by emodendroket on Sunday December 04, 2022 @01:01AM (#33851069)
It would be a start.
Re:It’s Time for ‘Maximum Viable Product’ by ako on Sunday December 04, 2022 @12:48AM (#33851016)
Have you looked at the help of some of these so-called simple tools? Pages and pages of options that you can configure. Not so simple.
Re:It’s Time for ‘Maximum Viable Product’ by emodendroket on Sunday December 04, 2022 @01:00AM (#33851067)
That just moves the complexity somewhere else (writing shell scripts, for instance). Not a real solution.
Re:It’s Time for ‘Maximum Viable Product’ by bbarnett on Sunday December 04, 2022 @03:08AM (#33851627)
Not true.

Let's say you take a mega-program, break it into 100 programs.

Each now becomes more stable, due to simplicity. Yes, it really does.

But my point is, when you use those individual things, you use a random allotment of 3 or 4 of them. Not all 100.

Thus, the stringing-together bit is far, far less complex.

Re:It’s Time for ‘Maximum Viable Product’ by bigfoot675 on Sunday December 04, 2022 @03:25AM (#33851729)
If this was true, non-technical people would be stringing these together instead of using products that were created with the end user in mind
Re:It’s Time for ‘Maximum Viable Product’ by edanm on Sunday December 04, 2022 @03:51AM (#33851855)
> Thus, the stringing-together bit is far, far less complex.

This is the statement I disagree with the most.

The problem is that combining different programs, that aren't strictly written to interoperate in a specific way, gives you an order of magnitude increase in the complexity. Sure, running find and grep together is common enough, but how about running {obscure_command_rarely_used} through {other_command} through {other_other_command}. There are always corner cases that can crop up, and even before we get to corner cases, just understanding how to fit the pieces together correctly is not so simple.

One cohesive program designed to all work together sometimes just makes more sense, especially when we're talking about complicated, high level actions, as opposed to the more common low-level actions of unix commands. (Or well, maybe high level and low level is the wrong way to put it - maybe the lower abstraction stuff in Word vs. the higher abstraction stuff that Unix tools deal with.)

Re:It’s Time for ‘Maximum Viable Product’ by bstpierre on Sunday December 04, 2022 @07:43AM (#33853167)
> One cohesive program designed to all work together sometimes just makes more sense

Yes, your example of find|grep is perfect for this. Sometimes (not often) I have a situation where a simple pipe combination doesn’t work and I have to fall back to awk, which would be the single cohesive (and more complicated ) program.

Re:It’s Time for ‘Maximum Viable Product’ by dale_glass on Sunday December 04, 2022 @09:45AM (#33854103)
This trivially becomes very fragile. Each of those 100 programs now doesn't just do stuff, but is held to a contract. A contract that it's well possible nobody intended to provide, but yet organically happened anyway.

And so you find that a small change somewhere like deprecating an option, fixing a typo, or adding extra data to the output makes the integration explode horribly in a confusing fashion.

There's also that plain text is a horrible serialization mechanism. Every program has to deal with parsing text that's mostly made for human consumption and deal with things like imprecise boundaries and arbitrary limitations per tool and per system.

Eg, /etc/passwd is a nice simple format, until you consider that somebody might want to use a ":" in a field, or to add more fields, or to store multiple lines of data. And all those quirks are specific for that particular file and may be handled subtly differently by other parts of the system.

And internationalization is an extra bit of fun, which ensures random bizarre bugs that use ',' instead of '.' as the decimal separator, or just emit text in some language that isn't English.

Re:It’s Time for ‘Maximum Viable Product’ by emodendroket on Sunday December 04, 2022 @11:22AM (#33854986)
The object model of PowerShell is in my opinion really great for, at least, mitigating the text munging issue. The others are still there though.
Re:It’s Time for ‘Maximum Viable Product’ by dale_glass on Sunday December 04, 2022 @11:58AM (#33855322)
Indeed, I think PowerShell deserves a lot of credit for taking a new look at this idea and doing it better.
Re:It’s Time for ‘Maximum Viable Product’ by emodendroket on Sunday December 04, 2022 @11:20AM (#33854968)
Figuring out which of the 100 I use and how to get them to work together is much more complicated than finding the feature in an omnibus program that already does exactly what I want.
Re:It’s Time for ‘Maximum Viable Product’ by bbarnett on Sunday December 04, 2022 @03:03AM (#33851607)
You build simple tools that do one thing, and do that one thing well

You're right, systemd does fail in this.

Re:It’s Time for ‘Maximum Viable Product’ by OJFord on Sunday December 04, 2022 @10:37AM (#33854588)
Does it? If you mean 'all things under the systemd umbrella' then sure, but if you think in terms of systemd (core), systemd-networkd, systemd-homed, etc. isn't it pretty much as 'one thing'(s) as it could reasonably be?

And the umbrella just seems arbitrary - GNU, Mozilla, X11, anything that's a package group, etc. are also failing.

Re:It’s Time for ‘Maximum Viable Product’ by amadeuspagel on Sunday December 04, 2022 @03:34AM (#33851775)
The unix philsophy might make sense for command line apps — though even there if you look at any manpage you find that they usually do more then one thing, including things you could easily do by piping the output to another command — but what does it mean in the context of a word processor? You want another app to count the number of words in a document, for example?
Re:It’s Time for ‘Maximum Viable Product’ by alkonaut on Sunday December 04, 2022 @08:48AM (#33853684)
Customers don’t want to glue things together they want whatever solves their problem efficiently.

Integration and ease of use are features in themselves.

The best of both worlds would be building things that is modular from the developers perspective but integrated from the perspective of the user. Few will pull that off though, and when they do the modular systems become complex and expensive bespoke setups (Typical of e.g SAP, Oracle).