by Anonymous Coward writes:
on Wednesday January 14, 2015 @10:00AM (#48810493)
My guess is 80% of you will get about 20% of what this email is saying, but you'll post on here like you know it all. Search your feelings, you know it to be true./reflections of myself about 15 years ago.//Modulo mistakes... cute
For me the link was right at the start of a new line and not very noticeable, I didn't see it until after I'd read the article (and googled W^X myself).
I'm not sure what the post would have lost if they'd included a short explanation ("W^X (memory can be Writeable OR Executable)").
What was not obvious? It's clear there is an anchor tag for W^X which when hovered over shows a wiki article. Seems pretty obvious that was a link to explain what W^X meant for those who didn't already know.
The summary could use a bit of translation, instead of merely copying content off a maillist post intended for a very specific group of kernel specialists using slang terminology.
How do I translate "trampoline" without reading the entire freakin' maillist history? This is slang and you won't find the intended meaning it in a dictionary.
I doubt that the mailing list will show any definition of "trampoline". That word has a specific meaning in kernel programming, such that one would already have a good understanding of the subject before poking around in kernel code.
FWIW, "trampoline" refers to generated bits of code containing jumps to arbitrarily different pieces of code, something that ESR called "an incredibly hairy technique" in the Jargon File.
Next, some noob is going to ask what "ESR," "hairy" and "jargon file" are. And then somebody else won't know what "noob" means. It's the Eternal September all over again (said the guy with the six-digit ID to the guy with the four-digit one)...
That word has a specific meaning in kernel programming, such that one would already have a good understanding of the subject before poking around in kernel code.
One that is very different from the understanding of what a trampoline is for programmers in certain languages... Which kind of confused me.
Trampoline can mean many things. Often it's used to switch some context in between function calls, so in a sense a system call can be seen as a trampoline between the application and the kernel,
We live in a complex and rapidly-changing world. It's never a bad idea to push a little knowledge up front. Unless you're actively working with something complex, even if you do know something about it, that knowledge may be outdated and erroneous.
I wasn't aware of W^X as a discipline. I don't have the need or the time to study it in detail. But the succinct description of what it is and what it's good for informs me that there's something out there that I might want to take advantage of someday and if I sh
The onus for clarity is on the writer, not the reader. The one writer should spend the extra three minutes defining the jargon to save the thousands of readers the 30 seconds each the time required to search for a definition.
News for Nerds. That pretty much rules out any summary as being too technical. I actually found the summary to be one of the better ones I have seen on Slashdot.
Mmm, it made sense to me, but then I work at low levels of code. I do find it somewhat strange though that the criticism is basically that it's too nerdy. I'm quite happy to see more nerd postings and fewer Dice fluff. Stories that go over the heads of the masses is what Slashdot should be about.
This is nothing new, there have been articles with absolutely impenetrable jargon and ideas before when discussing high level web oriented stuff or scripting, but since so many readers these days work in such areas that they don't complain. So I have to look up what jquery is, it's not a problem, so others who call themselves nerds should be content to look up with W^X means.
And you're seriously going to brag because you understand what this mail says ? It's a mail, it's supposed to be understood, it's supposed to communicate something. Of course you should understand it.
I'm not even 20, and I know that I understand almost all of it. Except the "MI improvements so the right requests would be made to the MD layers", I'll need to google that.
by Anonymous Coward writes:
on Wednesday January 14, 2015 @10:42AM (#48810797)
My guess is 80% of you will get about 20% of what this email is saying, but you'll post on here like you know it all. Search your feelings, you know it to be true./reflections of myself about 15 years ago.//Modulo mistakes... cute
20% is still more than Theo De Raadt wanted anyone else to understand. So, I call it a win.
Sort of. Linux has DEP and a few other features (ASLR and SEHOP for example.) Redhat created ExecShield that can contribute. I don't know if PaX has been merged yet (haven't followed in quiet a while now) but it also does something similar. While not the same, they all provide different answers to the problem.
Then JIT languages come along and screw everything up.;-)
W^X is just one method OpenBSD championed, but it's not an exclusive technology.
Professional wrestling: ballet for the common man.
most of you will pretend you understand (Score:1)
My guess is 80% of you will get about 20% of what this email is saying, but you'll post on here like you know it all. /reflections of myself about 15 years ago. //Modulo mistakes... cute
Search your feelings, you know it to be true.
Re:most of you will pretend you understand (Score:5, Funny)
Actually, I was just thinking that this was a relatively penetrable summary. It tells me so much, I don't even need to R TFA.
Re: (Score:1)
The fact that the OP did NOT define 'W^X' was what hooked me in the first place!
Yeah, Journalism 101 conventions were not followed but anyone with an IQ above room temp could derive the meaning in a cursory read.
Re: (Score:1)
Especially when W^X had a link to a definition.
Re: (Score:2)
I'm not sure what the post would have lost if they'd included a short explanation ("W^X (memory can be Writeable OR Executable)").
Re: (Score:0, Informative)
The fact that the OP did NOT define 'W^X' was what hooked me in the first place!
They did, but it wasn't super obvious that that's what they were doing:
no part of the kernel address space is writeable and executable simultaneously
W -> Writeable
^ -> Exclusive OR
X -> Executable
Re: (Score:1)
What was not obvious? It's clear there is an anchor tag for W^X which when hovered over shows a wiki article. Seems pretty obvious that was a link to explain what W^X meant for those who didn't already know.
Re:most of you will pretend you understand (Score:5, Insightful)
The summary could use a bit of translation, instead of merely copying content off a maillist post intended for a very specific group of kernel specialists using slang terminology.
Re:most of you will pretend you understand (Score:5, Insightful)
If you have a need to get something translated maybe it's worth to look it up.
Everyone is so used to get everything served on a plate these days that when the need arises they are completely lost in how to dig for information.
I see this as a nice teaser that isn't dumbed-down.
Re: (Score:2, Insightful)
How do I translate "trampoline" without reading the entire freakin' maillist history?
This is slang and you won't find the intended meaning it in a dictionary.
Re:most of you will pretend you understand (Score:5, Insightful)
I don't know, it's not like there is some sort of free services out there that could help you find the explanation without parsing the whole list.
https://en.wikipedia.org/wiki/Trampoline_%28computing%29 [wikipedia.org]
Re:most of you will pretend you understand (Score:4, Informative)
I doubt that the mailing list will show any definition of "trampoline". That word has a specific meaning in kernel programming, such that one would already have a good understanding of the subject before poking around in kernel code.
FWIW, "trampoline" refers to generated bits of code containing jumps to arbitrarily different pieces of code, something that ESR called "an incredibly hairy technique" in the Jargon File.
Re:most of you will pretend you understand (Score:4, Interesting)
Next, some noob is going to ask what "ESR," "hairy" and "jargon file" are. And then somebody else won't know what "noob" means. It's the Eternal September all over again (said the guy with the six-digit ID to the guy with the four-digit one)...
Re: most of you will pretend you understand (Score:1)
And that's why you've seen a dearth of new contributors in the past decade, systemd exodus notwithstanding.
Re: (Score:0)
The what?
Re: (Score:2)
Re:Should I be glad or sad... (Score:2)
...that I did understand all of this. (Maybe it goes with being between the six-digit guy and the four-digit one.)
Re: (Score:1)
That word has a specific meaning in kernel programming, such that one would already have a good understanding of the subject before poking around in kernel code.
One that is very different from the understanding of what a trampoline is for programmers in certain languages... Which kind of confused me.
Re: (Score:2)
Trampoline can mean many things. Often it's used to switch some context in between function calls, so in a sense a system call can be seen as a trampoline between the application and the kernel,
Re: (Score:2)
We live in a complex and rapidly-changing world. It's never a bad idea to push a little knowledge up front. Unless you're actively working with something complex, even if you do know something about it, that knowledge may be outdated and erroneous.
I wasn't aware of W^X as a discipline. I don't have the need or the time to study it in detail. But the succinct description of what it is and what it's good for informs me that there's something out there that I might want to take advantage of someday and if I sh
Re: most of you will pretend you understand (Score:0)
The onus for clarity is on the writer, not the reader. The one writer should spend the extra three minutes defining the jargon to save the thousands of readers the 30 seconds each the time required to search for a definition.
Re: (Score:2)
News for Nerds.
That pretty much rules out any summary as being too technical.
I actually found the summary to be one of the better ones I have seen on Slashdot.
Re:most of you will pretend you understand (Score:5, Insightful)
Mmm, it made sense to me, but then I work at low levels of code. I do find it somewhat strange though that the criticism is basically that it's too nerdy. I'm quite happy to see more nerd postings and fewer Dice fluff. Stories that go over the heads of the masses is what Slashdot should be about.
This is nothing new, there have been articles with absolutely impenetrable jargon and ideas before when discussing high level web oriented stuff or scripting, but since so many readers these days work in such areas that they don't complain. So I have to look up what jquery is, it's not a problem, so others who call themselves nerds should be content to look up with W^X means.
Re: (Score:3, Informative)
Once you grok that W^X means Write XOR Execute (which you can gather from the rest of the summary), it gets easier.
Re: (Score:3, Informative)
Once you grok that W^X means Write XOR Execute (which you can gather from the rest of the summary), it gets easier.
I thought that meant they added all wheel drive and turbos [subaru.com].
Re: (Score:2)
But, really, it should be: !w || !x so that read-only, no-execute access is also valid.
Truth Table for this expression:
X | F | T
_W__|___|___
_F__|_T_|_T_
_T__|_T_|_F_
Re: (Score:2)
Hmm, haven't kept up on Linux, but on most embedded systems I've worked with the read-only data is lumped together in the text (executable) section.
Re: (Score:0)
I'm mostly impressed you could avoid having your truth table column read W T F.
Re: (Score:2)
But, really, it should be: !w || !x so that read-only, no-execute access is also valid.
Truth Table for this expression:
X | F | T
_W__|___|___
_F__|_T_|_T_
_T__|_T_|_F_
So NAND really and not XOR?
Re: (Score:-1)
And you're seriously going to brag because you understand what this mail says ?
It's a mail, it's supposed to be understood, it's supposed to communicate something. Of course you should understand it.
I'm not even 20, and I know that I understand almost all of it. Except the "MI improvements so the right requests would be
made to the MD layers", I'll need to google that.
Re: (Score:2, Offtopic)
Re: (Score:2)
Re:most of you will pretend you understand (Score:4, Funny)
My guess is 80% of you will get about 20% of what this email is saying, but you'll post on here like you know it all. /reflections of myself about 15 years ago. //Modulo mistakes... cute
Search your feelings, you know it to be true.
20% is still more than Theo De Raadt wanted anyone else to understand. So, I call it a win.
Re: (Score:0)
And you probably think the post is about you.
No, I do not understand (Score:0)
I am one of those 80% who do not understand what W^X is --- and I am ready to admit that I do not understand it
But there is one thing that I would like to know ...
Is there anyone out there thinking of " W^Xifying" Linux?
Re: (Score:2)
Sort of. Linux has DEP and a few other features (ASLR and SEHOP for example.) Redhat created ExecShield that can contribute. I don't know if PaX has been merged yet (haven't followed in quiet a while now) but it also does something similar. While not the same, they all provide different answers to the problem.
Then JIT languages come along and screw everything up. ;-)
W^X is just one method OpenBSD championed, but it's not an exclusive technology.