Live data from Hacker News

The Collapse of the Unix Philosophy

kukuruku.co

491–500 of 616 posts

Re: The Collapse of the Unix Philosophy

#491

Earlier quoted context omitted.

Yeah, indenting with spaces wastes so many punch cards! Oh, wait.

Actually, a punch card used to represent a single line. But you'd be wasting holes.

Not that I've ever used one, but I wouldn't expect someone to indent any code on a punch card.

I just felt the comment was suiting since it must have been about when they were still used that you couldn't automate indentation.

Re: The Collapse of the Unix Philosophy

#492
post #93
post #29

Earlier quoted context omitted.

There are interesting parallels between operating systems and political parties here, and this is not a coincidence: both operating systems and political parties are infrastructure, and infrastructure is really hard both to build and to replace once it has become established. So in both cases you see a lot of rationalization about how the existing solutions are perfectly OK even though they are not simply because no…

Political parties present an abstract view of how society works that simplifies the complexity of the underlying system. It offers a set of interfaces that allow a large mass of untrusted individuals to influence the whole.

Interestingly, nearly all third parties differentiate themselves by offering up even more simplistic abstractions, even more inflexible and unfalsifiable. It seems to be a core part of human nature to look for comfort in such abstractions.

Re: The Collapse of the Unix Philosophy

#493

Earlier quoted context omitted.

> Name a well-thought out text file format that can't correctly be parsed e.g. by a Python one-liner with basic string operations. And please don't include: JSON, XML, YAML, sexps, because it's not possible, at least not without a library. Well, because this library should be a part of the OS API. A set of conrete cases where existing practice is bad is Unix itself (and its descendants). Think of every time a script…

> because every program has to contain its own, half-assed parser for textual data. As I said, name me a format that I can't parse correctly as a Python one-liner. I work as a systems administrator and my scripts (mostly shell, python) don't break. I'm not kidding you. Of course when writing shell scripts (which I think you imply) I need to know how to write non-broken shell scripts (in a clean and straightforward wa…

> As I said, name me a format that I can't parse correctly as a Python one-liner.

Sorry, I misread that in your previous comment as "name me a format that I can parse correctly with a Python one-liner, without special libraries".

Anyway, the original article contains numerous examples of the issues I'm talking about; scroll to "Let’s begin with a teaser" and read from there. The point being, it's very difficult to correctly parse output in general case, because unstructured text doesn't reliably tell you when various data items begin and end. Most people thus won't bother with ensuring their ad-hoc parsing is correct.

> By the way "OS API" is ridiculous. These libraries have to be implemented for every language (and they have been, for most popular languages).

Sure each language has to implement its own bindings to the OS. My point is that there should be a structured format defined as standard on the system level, so that all CLI programs could use the same parser and generator instead of each rolling their own.

Re: The Collapse of the Unix Philosophy

#494

Earlier quoted context omitted.

Sure, but the follow-up systems would be worse. I haven't seen a single actual improvement in software in 10 years. It's all churn and bloat.

There is good and bad, but you certainly must be blind if you think the progress of technology has been relatively stagnant since the introduction of unix. Just a couple things that come to mind: * The internet (early 90s) * Wireless networking (early 2000s) * Highly portable, small, and lightweight computers (early 2010s) and all the software that supports them. These "follow-up systems" are certainnly better than t…

Those are all new(ish) applications for software; the underlying software can still suck even if being used in revolutionary new applications (which I think is more what the grandparent meant).

Re: The Collapse of the Unix Philosophy

#495

Earlier quoted context omitted.

Actually, a punch card used to represent a single line. But you'd be wasting holes.

Not that I've ever used one, but I wouldn't expect someone to indent any code on a punch card. I just felt the comment was suiting since it must have been about when they were still used that you couldn't automate indentation.

In FORTRAN 77, it'a syntax error to put a statement before column 7

Re: The Collapse of the Unix Philosophy

#496
post #349

Earlier quoted context omitted.

It was an OpenVMS derivative wiyh code copied or clean-slated against a modified form of its behavior. However, I heard the networking stack was from BSD.

Only up to Vista. https://technet.microsoft.com/en-us/network/bb545475.aspx

Thanks for the tip.

Re: The Collapse of the Unix Philosophy

#497

Earlier quoted context omitted.

1. Binary formats are great, until they break. I would take plain strings configuration over Win95 registry any day. Actually, I'd take plain text conf over Win10 registry any day also. How do you transfer your (arbitrary) program settings from one computer to another? I can tell you how on Unix. How would you on windows? 2. / based filesystems are head and shoulders better than Windows. Why should moving a directory…

I'm pointing out flaws in Unix. The fact that other environments have different/worse flaws than Unix doesn't make Unix's flaws not flaws. The point is to think outside the box and stop being constrained by arbitrary decisions of the past, be they from Unix, Windows, or wherever. See my other response below about the text issue. It's not about 1 program having a text file, it's about managing all text files on your s…

It is good that these are many separate files, because that avoids the problem of accumulating cruft that nobody can sort out. Also different syntax is possible for different problems. Contrast that to a key-value store with a fixed set of datatypes (say, bool/int/string) where invariably the complexity is pushed into string values (for example, screen geometry, Hotkey descriptions...). Nothing gained.

The term "Text" has different cultural connotations. You can have a very strict encoding, and in fact in my perception many people agree today that "be liberal in what you accept" is wrong. Personally I am a nazi in what I accept, and it has worked out great so far.

I don't think text is a problem with automation either. The easiest way to go is just to regenerate the whole config file when something changes. Also some formats can safely be transformed with e.g. sed.

Re: The Collapse of the Unix Philosophy

#498
Even though we target Linux and BSD, we do all our development in Windows 10 with PowerShell (which also runs on Linux).

Windows programming API + Powershell is truly much better than Linux. I wish everyone used Powershell. It would solve a lot of these shell programming issues.

Re: The Collapse of the Unix Philosophy

#499
post #474

Earlier quoted context omitted.

> It always amazed me when someone looks at computer systems of the 70's through the lens of "today's" technology and then projects a failure of imagination on the part of those engineers back in the 70's True enough, but as a younger programmer, I find it pretty reasonable to look back at computer systems of the 70s and wonder if we can do better today . I feel a little bit gross every time I have to write a bash sh…

>True enough, but as a younger programmer, I find it pretty reasonable to look back at computer systems of the 70s and wonder if we can do better today. I feel a little bit gross every time I have to write a bash shell script (or edit config files that aren't JSON/XML/YAML, for that matter), and I don't think that's a bad impulse. That something so inelegant and unsafe is still in widespread use in 2017 really ought…

Yup, XML is ugly to write by hand, but I'd argue it is nearly as legible as YAML/JSON, with the great-great advantage of being able to be structurally validated.

Re: The Collapse of the Unix Philosophy

#500

Earlier quoted context omitted.

Unix was under assault from various sides. The vendors were fighting amongst themselves for supremacy. Take a look at Larry McVoy's "Free Unix" whitepaper. https://www.landley.net/history/mirror/unix/srcos.html IBM had developed OS/2, but was unable to effectively market it, in large part due to the intransigence of its development partner, Microsoft, who had other designs. Microsoft was of course pushing Windows NT…

People were really replacing Unix stacks with mainframes? That they didn't already have? In the 90's?

That's not what I was trying to communicate. Rather that the options for online systems were generally: Mainframe, Mini (usually DEC), or Unix. Also, this was pre-Web "online", meaning for the most part in-house processing support.

I can attest to at least one case of VMS being retained in favour of Unix, which was retired. In the mid-1990s.

Go figure.

Post reply on HN