Live data from Hacker News

Posix Has Become Outdated (2016) [pdf]

cs.columbia.edu

151–160 of 246 posts

Re: Posix Has Become Outdated (2016) [pdf]

#151
Glancing at the article I think it misses an important aspect. I lived through the creation of the POSIX spec and reported to a CEO involved. POSIX is a political spec.

Customers were complaining to DEC, SUN, IBM, etc about how confused they were using UNIX (think of the same Linux fragmentation today.) Major customer groups got together and said they would switch to Windows if the companies didn't create a stable environment for UNIX work. So the company CEOs got together before the "official" POSIX meetings to decide how little they could standardize (and cut their own costs) while still allowing them to have their important differentiators for sales. They decided that integrating the programming API and some minimal administration aspects would be the right approach. So they then got staff involved in the series of POSIX meetings to decide the spec (not telling them explicitly about the initial agreements between the CEOs)

Really, there is a lesson here. Customers (us) need to force the Linux vendors to create a more uniform experience for us. It doesn't "just happen". There is too much arbitrary variation (with no real benefit) and the learning curve is just absurdly hard for working with Linux (which is old enough that all the basic operations should be quite stable - and mostly quite simple.)

Re: Posix Has Become Outdated (2016) [pdf]

#152
post #107

Earlier quoted context omitted.

> Linux really needs to get proper support for NFSv4 ACLs. Not to nitpick, but: why would it need to do that? Nobody (in Joel Spolsky definition of nobody) cares about NFSv4. The only place where ACL matters for Linux users is Samba. And Samba works fine with Linux ACLs as it is.

Most people aren't aware of what they are missing and how it could bring a great deal of benefit. This isn't about NFSv4 (the filesystem), it's about the rich permissions model it standardised which is now used by more than just NFS. It's used by ZFS, and it's used by the FreeBSD and Solaris VFS, and likely others as well. It's the only rich ACL model in real use today on open platforms, and being a superset of both…

Thank you for your detailed answer.

However, your first sentence is valid for many things, not just ACLs. For example, there are people (ehm, me) who value being able to have Kerberos tickets for multiple principals from multiple KDCs at the same time. This is something that the most popular OS (Windows) is not able to do - and nobody minds. Because for most people, being part of one domain is good enough.

With ACLs, I find it similar. For most people, the complexity is too high, the reasoning about them so complicated, so there's no benefit to have them available, they won't use them anyway. Also, in our case, we just have multiple groups at the root of samba share and that's it. It is good enough. So maybe it is yet another case of worse is better.

Re: Posix Has Become Outdated (2016) [pdf]

#153

Glancing at the article I think it misses an important aspect. I lived through the creation of the POSIX spec and reported to a CEO involved. POSIX is a political spec. Customers were complaining to DEC, SUN, IBM, etc about how confused they were using UNIX (think of the same Linux fragmentation today.) Major customer groups got together and said they would switch to Windows if the companies didn't create a stable en…

Whatever happened to Linux Standard Base? I don't ever see any apps compiled against that specification. Is this simply because it is out of date, or incomplete?

Re: Posix Has Become Outdated (2016) [pdf]

#154

Earlier quoted context omitted.

Just curious, can you give me some examples of GNU-isms/macOS-isms? I have a suspicion what they might be, but I'm not sure.

Asynchronous IO, hardly anyone uses the POSIX standard of select and poll anymore, and instead use kqueue (bsd/macOS) and epoll (Linux). I should add that this is for performance critical software.

The standard select and poll syscalls perform just fine if you only have a handful of sockets. Heck, they perform just fine as long as a nontrivial proportion of your sockets are ready at any given time.

The place you need kqueue and epoll is when most of your connections are idle -- IRC servers and web servers with large keepalive times. But the vast majority of processes are not IRC or web servers.

Re: Posix Has Become Outdated (2016) [pdf]

#155
post #150

Earlier quoted context omitted.

How would you do this with GUI tooling: Find all files containing a particular string in a directory tree. For each of those files, if its filename appears in a file called Whitelist, write it to a file called Output. Otherwise, do nothing. Here is one possible command line version (I haven't tested it as I'm on mobile): TMPF=`mktemp /tmp/XXXXXXXX` && ag MyString | awk -F: '{print $1}' | sort | uniq > $TMPF && comm -…

You probably could use process substitution to get rid of the temp file: comm -12 Whitelist Output Then you could use unique flag of sort: comm -12 Whitelist Output Also ag can list only matching files (getting rid of awk and unique): comm -12 Whitelist Output

Thanks for the tips!

Re: Posix Has Become Outdated (2016) [pdf]

#156

Earlier quoted context omitted.

"You're confusing popularity with being outdated." POSIX was supposed to be popular to the point of default way that apps were written. It failed. Whereas there's quite a bit of portable apps on (insert framework here). They succeeded with many running on non-UNIX OS's, too. You'll need those or similar things in your code instead of POSIX for truly, portable apps. That's his point.

> POSIX was supposed to be popular to the point of default way that apps were written. It failed. So POSIX was a long series of attempts to codify baseline Unix practice that arose because in the '87 time period there were tens of small, warring, incompatible Unix distributions ( cf. http://www.ugu.com/sui/ugu/show?ugu.flavors ), and systems software vendors could not write software that worked across all of these pl…

[deleted]

Re: Posix Has Become Outdated (2016) [pdf]

#157
post #69

Earlier quoted context omitted.

> Speak for yourself. Actually the inverse: don't speak for yourself, because it's irrelevant. What the authors did was try to speak for what happens at large -- which is what matters. Outliers will always exist, but their team analyzed thousands of packages across three different OS environments to come to conclusions. It's not about there being counter-examples, it's about what they saying being the norm.

They established that many applications are not POSIX-compliant. They did not establish that modern applications are not POSIX-compliant.

I don't know what you're referring to with that distinction. AFAICT they weren't testing for POSIX compliance but rather where the POSIX layer was being used in practice, which statistically was by system-level frameworks rather than the applications themselves on the OSes they tested.

The notable change between now and 25 years ago is that the POSIX layer tends to be used at the lower levels of system frameworks, while the programs that run on those OSes tend to be written on top of higher level frameworks and do not directly use the POSIX APIs.

This is fine and makes sense given how much has changed in the last 25 years, but given that the POSIX layer is no longer being used (statistically speaking) for what it was originally designed for, it raises questions about to what degree that design is still valid, and whether or not it should be revisited to better suit what it's actually being used for.

I don't think anyone has any answers, but it's always good to question assumptions and never let anything in tech become a sacred cow. Maybe POSIX is fine for its current role, but that doesn't mean people shouldn't think about it.

Disclaimer: I skimmed the article pretty aggressively, so I may have misunderstood something.

Re: Posix Has Become Outdated (2016) [pdf]

#158
post #120

Earlier quoted context omitted.

Count sendmail in: > There is some sort of perverse pleasure in knowing that it's basically impossible to send a piece of hate mail through the Internet without its being touched by a gay program. That's kind of funny.

sendmail is dead at this point though.

How so? As recently as 2015, sendmail, Microsoft Exchange Server, Postfix, and Exim together represented over 90% of SMTP service.

Or is this one of those pre-emptive "called it first!" kind of comments?

Re: Posix Has Become Outdated (2016) [pdf]

#159
post #157

Earlier quoted context omitted.

They established that many applications are not POSIX-compliant. They did not establish that modern applications are not POSIX-compliant.

I don't know what you're referring to with that distinction. AFAICT they weren't testing for POSIX compliance but rather where the POSIX layer was being used in practice, which statistically was by system-level frameworks rather than the applications themselves on the OSes they tested. The notable change between now and 25 years ago is that the POSIX layer tends to be used at the lower levels of system frameworks, wh…

I'm a little confused by the distinction. For example, if I use a framework that abstracts away pthreads from me, but still uses pthreads in its implementation of threading, is the application I write still POSIX-compliant?

Re: Posix Has Become Outdated (2016) [pdf]

#160
post #157

Earlier quoted context omitted.

They established that many applications are not POSIX-compliant. They did not establish that modern applications are not POSIX-compliant.

I don't know what you're referring to with that distinction. AFAICT they weren't testing for POSIX compliance but rather where the POSIX layer was being used in practice, which statistically was by system-level frameworks rather than the applications themselves on the OSes they tested. The notable change between now and 25 years ago is that the POSIX layer tends to be used at the lower levels of system frameworks, wh…

[deleted]
Post reply on HN