PDF of the current POSIX standard
Posted by CodeEleven0@reddit | programming | View on Reddit | 81 comments
I searched for the PDF of the POSIX standard and it was 600$ in IEEE Xplore. I decided to put every page together in a PDF so everybody can access it. ToC is not available at the moment, hopefully will fix.
FlyingKettle615@reddit
sharing
sean_hash@reddit
7k pages and $600, standards bodies really want these to stay unread.
Tesseract91@reddit
It really bothers me that basically any ISO standard is $200 a pop. The paywall feels extremely counter-intuitive to me given the goal of the standards.
jmickeyd@reddit
The C++ group found a clever workaround. All drafts of ISO specs are freely available, so they decided that the only changes from the last draft to the final version are spelling and insignificant wording fixes.
nemec@reddit
that's not really a clever workaround. They do this on purpose - their primary (paying) customers are enterprises, not individuals, so they release drafts for free so the public can see 99% of the spec but for enterprises who want to certify "ISO compliant" you've got to pay for the official, 100% complete standard.
That said, they also have a certification process, so they probably could just raise the fee for certification by $200 and give away the doc for free.
evaned@reddit
...that sounds like a pretty clever workaround to me :-)
azswcowboy@reddit
shh! ISO might be listening /s. Being the clever monkeys that we are, we’ve found other ways to distribute besides pdf - like here https://www.eel.is/c++draft/ - on a MF website lol. Also, I’ve heard rumors that the ISO version strips out useful affordances we’ve added to help searching. (John Oliver voice) ‘Cool’. Really no idea who’d actually pay…
earmuffs_781@reddit
Some ISO standards are mirrors of a standard developed in another standards body. For instance, MPEG-4 Part 10 is the ISO name for ITU-T H.264. Knowing that, you could just get the ITU spec and have basically the same thing.
PollTheOtherOne@reddit
Often worth checking ECMA, because all their stuff is free
For example if you really want to get into the weeds on ANSI terminal standards, they're all on the ECMA site. The really old ones are scans of physical documents, which are amazing time capsules
RegisteredJustToSay@reddit
Sure, but you need the kind of very specific knowledge to be able to take advantage of this and have an actual use for looking up the spec that typically only shows up pretty late into the skill curve. It would also surprise me if there are many people out there with this level of deep technical knowledge who aren't already working for an employer that would just bankroll the ISO standard purchase if they needed it.
Could be wrong but certainly has been the case for me.
Hot_Pomegranate_0019@reddit
Agreeing with you its a huge, a major reason nobody agree's to standard.
CodeEleven0@reddit (OP)
I was implementing a drop-in POSIX layer for speeding up osdev: https://github.com/corvora/posix, and I must say it can not be readable in any form. I just made it this way to make it more portable (and printable but who will print it, right??)
TerrorBite@reddit
I'm building an operating system that runs in a browser tab, and this PDF will be very useful. Though I might have to violate POSIX in some ways to meet the limitations of JavaScript and browser APIs.
no92_leo@reddit
Places like universities have subscriptions to IEEExplore, where you get the spec as well.
voidvector@reddit
Most of the standards bodies are just consortiums (a.k.a. cartel) of the big players in that industry.
erizon@reddit
/u/CodeEleven0 /u/karchnu even "fixed" version points primarily to relative page numbers instead of absolute, so apart from BASEDEF, FUNCTIONS, and UTILITIES most of the bookmarks are unclickable. my version, with duplicate pages removed and most of the links clickable: https://www.mediafire.com/file/8vkst6ylic62nu6/posix_complete_indexed.pdf/file (based on csv https://pastebin.com/raw/GwCRgdbj page;level;title;source_page generated from the deduplicated pdf)
CodeEleven0@reddit (OP)
can you do a PR on my repo? or can I upload it because it is way better than mine
KlzXS@reddit
Or you can find already in HTML form with hyperlinks all throughout on the Open Group website: https://pubs.opengroup.org/onlinepubs/9799919799/
CodeEleven0@reddit (OP)
It is already based on that but I find the HTML version so messy (3 iframes in one page)
KlzXS@reddit
Never in my wildest dreams did it occur to me to count how many iframes there are or even to think there was one. But you do you.
Tip for next time, link the website version. Not everyone knows about it and it isn't exactly an SEO magnet so can be hard to find if you don't know what you're looking for.
SanityInAnarchy@reddit
oh, those aren't iframes. Those are just regular frames.
aoeudhtns@reddit
Deep in the dim, dank corners, a memory has stirred. I forgot those existed.
Jayden_Ha@reddit
Why would I? I want the ORIGINALLY file PDF not alternative version
danopia@reddit
holy crap, a frameset?? with hyperlinks in some frames targeting specific other frames? I didn't think modern browsers still allowed this arcane framing, everything's an iframe nowadays. feels like I'm a kid again
Kok_Nikol@reddit
Noob question, any advantage over iframes, or other solutions?
larsga@reddit
Framesets are a real mess because they fuck with the relationship between a URL and the page you see on the screen. Linking into a frameset is not really possible without breaking the frameset. It was a really stupid idea when it was introduced, and thank heavens people had the good sense to move away from it.
Older versions of javadoc used it, but happily newer versions do not.
NenAlienGeenKonijn@reddit
Modern javascript is so, so much worse in that aspect though?
evaned@reddit
So yes and no.... I would say mostly "no".
Obviously there are JS-based sites that work badly with respect to URL-handling, but even they are arguably just as bad as frameset-based sites. Like I guess the latter still gives you options like copying the URLs of individual frames and opening frames in a new window/tab and such, but compared to just how bad either of them are that feels like a small difference.
But that's I think being unduely negative toward modern JS-based sites.
First, even for SPAs and such, there's the history API and other techniques that allow sites to be written to behave well even in this situation, and frameworks provide good support for this.
For example, a while back the McMaster-Carr website made the rounds for being a really interesting site that is blazing fast despite being kind of a JS-based SPA. And it works great -- e.g., I can link to thick-wall plastic pipe fittings for water despite the fact that I navigated there from the front page with no hard reload.
Even heavily JS-based sites are not necessarily broken on this front, and plenty aren't. Contrast this with framesets, which... I would say fundamentally are. Like I suppose you could force a frameset to work "properly" if you write a bunch of JS to work around frameset problems and use those same SPA-like techniques in that setting, but, uh... have fun with that.
Second, remember that "uses JS" doesn't necessarily mean that you're going all the way to a SPA. Like one could imagine a JS-based navigation menu for the POSIX standard that would largely obviate the benefits of the frameset, but when you choose a navigation option would still load a new page. That's totally functional navigation without needing to compensate for anything at all; it just works the way browsers have worked since Mosaic. Even if you lost the exact JS nav bar state (which wouldn't even necessarily have to be the case), that's a minor inconvenience, especially in relation to not being able to link to pages.
NenAlienGeenKonijn@reddit
Well, with javascript glue, you can do that for framesets as well.
Point is that framesets where thrown out without a proper non-javascript solution in place, and the javascript solutions require pumbing to work properly as well.
evaned@reddit
In theory, yes... but (1) if the message is "JS-based sites bad, stick old school" it's a bit ironic to then turn around and depend on JS for basic functionality, and (2) I challenge you to find anyone who as actually written that.
By contrast to (2), history and URL handling is a well-integrated component to every(?) major JS frontend framework.
larsga@reddit
It is, yes. To me it seems that a signficant number of frontend developers (you could also call them web developers) don't actually understand how the web works. Maybe the trend toward focusing on frameworks that abstract away what is actually going on is responsible for that. It's depressing, anyway.
On the other hand it seems the core ideas behind the web have always been tricky for people to grasp for some reason.
Kok_Nikol@reddit
Thanks!
Status-Importance-54@reddit
No, they where a hot mess. It basically didplays multiple web pages at the same time - but without any isolation or thought put into how they interact.
Kok_Nikol@reddit
Thanks!
danopia@reddit
Not with phones and tablets in the mix! Framesets are not good for response design. But back in the day we were using tables for layout, it was different time
Kok_Nikol@reddit
Thanks!
5gpr@reddit
Yes, no Javascript. This is a website, it's not a "web application". There's also a version without frames.
There's no reason to do anything "responsive" or "interactive" here, so framesets aren't a bad choice. They are flexible in that the reader can resize them as they please, they are accessible by default, and you can style them with a custom CSS if you really want to for some reason.
evaned@reddit
Framesets still have some pretty bad drawbacks... for example, an inability to (reasonably) use bookmarks or to share URLs.
I wondered if maybe browsers improved this situation since the days of yore, but at least Firefox has not.
In theory they could be better than they are, but IMO they're still a pretty darn bad choice even for a basic website.
New-Anybody-6206@reddit
Except they don't actually exist in the current iteration of the HTML (5) standard.
drcforbin@reddit
Sounds like fortunately, rather than unfortunately. It'd be terrible to have to find an old version of IE or Netscape to view this
New-Anybody-6206@reddit
or god forbid they update their site to the 18 year old current standard
SyntheticDuckFlavour@reddit
yes, i too want to see javascript slop on simple websites that serve mostly text content
New-Anybody-6206@reddit
I never said anything about javascript
cybermind@reddit
https://www.w3.org/TR/2011/WD-html5-20110405/rendering.html#frames-and-framesets
New-Anybody-6206@reddit
https://www.w3schools.com/TAGs/tag_frameset.asp
TurboGranny@reddit
lol, I straight used this method recently to get around an issue with some vendor software. I was like, "well, it worked in the 90s and they rarely deprecate anything."
amroamroamro@reddit
tell that to XSLT :(
https://developer.chrome.com/docs/web-platform/deprecating-xslt
TurboGranny@reddit
lol, I remember. Still a rare event. I wasn't sad about it. Developing in XSLT while neat was a PiTA
FingerAmazing5176@reddit
target="FRAME_NAME"? The same it's been done since the early 90s!znpy@reddit
to be honest i like framesets. it's much easier to browse.
i miss the java api javadoc in framesets as well.... it was comfy.
ericje@reddit
The site feels at least 10x faster than most other websites.
valarauca14@reddit
obligatory reminder -> https://motherfuckingwebsite.com/
evaned@reddit
Of course, there's also http://bettermotherfuckingwebsite.com/ and https://thebestmotherfucking.website/
Miserygut@reddit
The .website one has a picture of a cat which is an important factor.
superbad@reddit
Why am I reading this in Martin Starr’s voice?
jpgr87@reddit
Perfect website? No. It's got analytics, and he knows. I won't fight about it, but I might tell his mom, when I take her out a nice seafood dinner and never call her again!
apadin1@reddit
Looks great to me
elsjpq@reddit
and finally a website where I don't have to zoom out to 80% to get a reasonable UI size
ToaruBaka@reddit
I don't think that site has been substantially changed in at least 20 years lol
apadin1@reddit
And we pray the never do
gimpwiz@reddit
Don't fix what ain't broke, and don't add fifteen megabytes of javascript just to render some fucking text
earmuffs_781@reddit
There are certainly some aspects of POSIX that are effectively broken. For instance, POSIX' AIO is a pile of hot garbage.
If POSIX wanted to stay relevant, they'd have moved quickly to provide a portable wrapper around Linux'
io_uring.amroamroamro@reddit
they're talking about the webpage html not posix
yes_u_suckk@reddit
I remember the beginning of the web when many browsers didn't support frames so one of Netscape's selling points was: "the only browser that supports frames"
__konrad@reddit
BTW, anyone know how to fix or navigate this abomination: https://help.eclipse.org/latest/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Button.html
New-Anybody-6206@reddit
frameset is not supported in HTML 5, but most modern browsers still have a compatibility mode for HTML 4 or below.
djipdjip@reddit
That's a good find, thanks mate.
karchnu@reddit
+7k pages… yeah, I'll wait for the ToC. Thanks!
CodeEleven0@reddit (OP)
I tried to navigate and it was a mess too, will fix in a few minutes
earmuffs_781@reddit
Not to nitpick, but the page margins are pretty huge. I always use 0.5". So, whenever I see 1" margins (or similar), they seem enormous to me.
CodeEleven0@reddit (OP)
Didn't really mess with the parameters because even getting it to work properly was hard.
this_knee@reddit
Perfect . Now write it in xml form.
And after that write it in ascii.
afl_ext@reddit
And then in C
Ordinary-Parking5387@reddit
This is really helpful, thanks!
headinthesky@reddit
Throw Claude at it and build an alternative. Security, who needs that?
KevinCarbonara@reddit
Well. No wonder no one follows the standard
yodal_@reddit
Damn, where were you last week when I was looking for the POSIX standard?. Seriously, I was trying to double check what the standard says for file permission bits for a project, saw the pricetag, and decided the Linux implementation was close enough.
wintrmt3@reddit
The Open Group has it for free.
yodal_@reddit
I saw that in a different comment, but didn't find it at the time.
CodeEleven0@reddit (OP)
Fixed the ToC issue (a bit, still some issues because of HTML conversion but it *kinda* works)
Pleasant-Form-1093@reddit
Look for the draft posix standard, it's almost the same as the official standard except a few corrections here and there and without the logos.
I don't know if posix releases draft standards or not but this is how I got my hands on the C11 standard document which also was pretty expensive but the draft standard was freely available as a pdf, so it might work here