Did you read TFA? I know it's not really the done thing around here, but...
Ignore the trolls.
TFA addresses this: if you ignore the trolls, they escalate.
Prevent the angry dissent by not making yourself a target for angry dissent by posting bullshit people will call you out on.
Which "bullshit" are you talking about here, specifically? You basically seem to be saying that you should never post anything online that anyone may disagree with. Do you really think it's right that a small, but angry, minority should be able to silence others through threats of violence and intimidation?
I remember growing up I was taught that "sticks and stones may break my bones, but words can never hurt me."
Have you ever considered that, just possibly, something you were taught at school wasn't 100% accurate? That perhaps bullying, intimidation, threats may in fact have a serious adverse psychological effect? Do you really believe that sort of behaviour is OK? (hint: it's not OK!)
people making fun of someone for being a complete fucking cunt.
Can you give more details on exactly what you mean by "being a complete fucking cunt", and why it deserves such an unpleasant response? Or is it just a case of "I don't like them, so anything goes"?
When the Apple II, PET 2001 and TRS-80 were all released in 1977, all three had BASIC as their primary programming language and operating environment. Upon boot, a BASIC interpreter in immediate mode was presented, not the command line interface used later.
This is where BASIC took off.
And who wrote the (level-II) Basic for the TRS-80?
Unfortunately not. The thing is, tabs don't mean "<x> number of spaces" (with <x> configurable by the user) - they mean "Move rightwards to the next column that is a multiple of <x>". So, a tab in column 0 moves to column 8, but so does a tab in column one, two or seven.
This doesn't play well with diffs, because diffs tend to add some number of characters to the start of each line (typically one for "unified" diffs, or two for "context" diffs). So if a changed line in the file being context-diffed is indented with a single tab, and the user has set their terminal/editor/whatever they're viewing the diff in so that tabs are (say) three characters, then since the tab is s now preceded by two extra characters, the next multiple-of-three column is column 3, so the tab will result in the line being indented by only a single character (relative to the rest of the code in the diff).
1 cup of flour is trivially measured by volume: Just grab the "1 cup" cup from your set of measuring cups, scoop up flour from your storage container, level. You're done.
This is indeed easy—but very inaccurate: it can lead to the measurement being out by as much as 30%.
The problem is that flour is compressible—so measuring it by weight is inherently more accurate.
The compiler replaces it with a fixed constant which indicates how many bytes are needed to store the argument (which is either a symbol or another constant)
No, it can be any expression or any type. Doesn't have to be a symbol, and doesn't have to be constant.
If something isn't documented properly, and doesn't work the way I expect... I'm not going to dig into the source code and try to decipher it... I'm going to RUN SOMETHING ELSE.
I wish I lived in your world where there was always an alternative that's well-documented and sane... in fact, I'd settle for well-documented OR sane;-)
I can see how Java being in a VM to begin with presents a similar model to running assembly on the actual machine but comparing the two in terms of efficiency and overhead is laughable. I was signalling my cognitive dissonance of conflating Java and assembly so directly.
His 2:1 is also not from Sussex University as he claimed (which is a reasonably reputable establishment) but from the University of brighton according to his own source.
You're right, the article does say that, but I wouldn't be surprised if it was the (non-UK) newspaper that mixed up"University of Sussex at Brighton" and "University of Brighton"...
If your design documentation couldn't be directly executed by the computer and tested, then we cannot say that it was even remotely complete or correct.
That's not true - it's perfectly possible to give a specification that's complete and comprehensive, and yet is not executable by a computer.
For instance, you could specify a "sort" function by saying that (1) it must return a list that contains a rearrangement of the items passed in, (2) that list must be in ascending order, (3) the time taken must be less than K*n*log(n), where n is the number of items passed in.
I've given that specification in English for brevity, but you could equally specify it in a more formal way - and indeed in one that the computer could verify for any instance of the problem that you put in. (Some might call this "specifcation by unit test".) But the computer could not, in general, go from the specification to an implementation completely automatically.
With zsh you can type: do_some_stuff/my/files/**/*
... provided that the number of files fits into the command line argument space (a common reason for using find/xargs rather than, say, wildcards/backticks, aside from the security issues).
As it happens I've been using perl for longer than your 17 years of JavaScript, so I'm well aware of how its references work... but nothing about that changes the fact that your assertion about JavaScript's "==" comparing values is wrong; in fact, it would be truer to say that "===" compares values.
b = {}; doesn't modify b, it re-assigns b. Please learn how variables work.
I know how variables work, thanks;-). Assignment is how you change a variable's value in imperative languages. You can't just arbitrarily assert that words like "change" and "modify" have different meanings from their standard ones..
And if you think that "1" and true are different values, then you don't understand what a "value" is.
I've got a very good idea what a "value" is. One property of values (in the context of computing) is that, if two things have different effects when passed to the same function, then they're different values. Perhaps you have a different definition of "value" that contradicts this? If so, do enlighten us, and can you provide a link to a credible source to back up your definition? Again - you can't just arbitrarily assert that words have different meanings from their standard ones.
You're either really old, used to bit-registers not complex objects, or you're really young reading text books, or you've navigated the industry by avoiding business-level programming.
Haha... actually none of the above are true. And even if they were - your assertion about "==" would still be wrong, so your comment to angel'o'sphere to "try harder" would still be uncalled for.
Wow, you are incredibly confused.
I agree that one of us is, indeed, quite confused:-)
You might also try a='1', a=1, a=01, a='01', a=0, a='0', a=false, a='', and a=null.
Using a simple scalar integer isn't an example of anything.
Yes it is - it's an example of your explanation being wrong. Here are some more. You claimed:
Double tests to see if two variables have the same value.
However,
a = "1"; b = true; result = (a == b);
... gives a result of true - when clearly "1" and true are different values - for instance, you'll get different results if you pass them to alert().
You also said:
Triple tests to see if two variables point to the same place in memory -- are actually the same variables.
"Pointing to the same place in memory" and "actually being the same variable" are two entirely different concepts. For example, after:
a = {foo: 1, bar: [1,2,3]}; b = a;
then 'a' and 'b' refer to the same object ("point to the same place in memory", if you like), and a===b will return true. But they're still different variables, because after modifying one of the variables
b = {};
the other variable will not be affected in any way.
The reason for wanting to use triple-equals is not because "double-equals compares values", it's because double-equals sometimes behaves in a way that's confusing and not very useful. For instance, I'd expect, for any sensible equality operator, that if a==b and b==c, then a==c... but for JavaScript's double-equals, that's not true (put a="", b=[], c="0" - then ""==[], and []=="0", but "" != "0"...)
"Punishment" implies that someone did something wrong, which is not necessarily true of all gunshot victims. Like the unarmed homeless guy my local PD shot in the back last week.
Unless, of course, we consider being homeless as a punishable offense.
Haha, I'm using hyperbole?
Yes, for obvious reasons which I already pointed out - not every gunshot victim was shot out of punishment. Yes, it's a pedantic difference, but so was your completely unnecessary addition about gunshot victims, so fair's fair.
Wasn't it equally hyperbole when you talked about the "population as a whole" being punished
No, because that's exactly what laws that would remove everyone's civil liberties based on what a few people might do are for - punishing everyone for the (potential) actions of a few. It's not hyperbolic if it's not an exaggeration. For the record, your statement wouldn't have been hyperbolic if you'd have qualified it with something like, "... and some of those who get shot by them." Again, it's a pedantic difference, but pedantry is what got us to this point in the conversation.
Tthat logic makes no sense. As you say, most people haven't done anything wrong. You say that bad treatment can't be punishment if the person undergoing it didn't do anything wrong. Therefore intrusive gun control is, by your own reasoning, not punishment for those people, and your statement is hyperbole if mine is. You can't have it both ways.
The point is that, to make a balanced comparison, you have to consider the positive and negative effects experienced by everyone in society. If (and, of course, it is very much an "if") the negative effects on the population as a whole of (insert proposed freedom-reducing gun control measure here) are less than the positive effects that come from people not getting shot as a result, that's a strong argument that that measure should be implemented; if that's not the case (because the measure is so draconian that its negative effects are large, and/or the measure is not effective, or actually counterproductive, in reducing gun crime injuries), then the measure should clearly not be implemented.
Maybe I'm missing something,
Yes... you are. I'm explaining why it's important to consider the negative impact of gun crime as well as the negative impact of gun control measures, in order to be come to a balanced conclusion on whether any given gun control regime, or absence thereof, should be implemented. Do you disagree with that?
Balancing these factors is hard to do in any scientific way - not least because the value of "freedom" versus the value of not being shot is very hard to pin down quantitavely - but neglecting the harm done by gun crime is bound to unbalance the equation.
Again, how does this apply to the conversation at hand?
Because what you appear to be saying is that one should ignore the victims of gun crime when considering what the law should be. (That may not, in fact, be your position, but it's what your words are suggesting.)
"Punishment" implies that someone did something wrong, which is not necessarily true of all gunshot victims. Like the unarmed homeless guy my local PD shot in the back last week.
Unless, of course, we consider being homeless as a punishable offense.
Haha, I'm using hyperbole? Wasn't it equally hyperbole when you talked about the "population as a whole" being punished - or do you consider being part of the population a punishable offence?;-)
The point is that, to make a balanced comparison, you have to consider the positive and negative effects experienced by everyone in society. If (and, of course, it is very much an "if") the negative effects on the population as a whole of (insert proposed freedom-reducing gun control measure here) are less than the positive effects that come from people not getting shot as a result, that's a strong argument that that measure should be implemented; if that's not the case (because the measure is so draconian that its negative effects are large, and/or the measure is not effective, or actually counterproductive, in reducing gun crime injuries), then the measure should clearly not be implemented.
Balancing these factors is hard to do in any scientific way - not least because the value of "freedom" versus the value of not being shot is very hard to pin down quantitavely - but neglecting the harm done by gun crime is bound to unbalance the equation.
Thus freedom is preserved, and only those who are actually guilty of harming others, and those who get shot by them, are punished, rather than the population as a whole.
Home invasions are rare because of the 2nd Amendment. Look up the "hot burglary" (burglaries when people are in the structure) numbers for the United Kingdom sometime.
I haven't been able to find good stats on that, but what I can find suggests that the burglary rate overall is broadly similar - at most 20% higher in the UK. But even assuming the UK rate is five times the US one, it's worth noting that the gun murder rate is over thirty times higher in the US than in England&Wales. To me at least, that doesn't sound like a great tradeoff:-/
There aren't many 404s left anyway. Domain dealers are quick to put their hands on every dead link. Which is a shame, because a 404 would be more informative.
You don't get a 404 for a non-existent domain. You only get a 404 if you try to go to a non-existent page within a domain that's registered and has a web server running. If the domain's not registered, there's no web server to even return a 404.
The compare page is missing the only other entry I wanted to see.... and that is, BSD libc. This is widely used by QNX
No, QNX has its own libc - the microkernel architecture means the system call interactions work substantially differently from traditional Unix/Linux/etc.
Ignore the trolls.
TFA addresses this: if you ignore the trolls, they escalate.
Prevent the angry dissent by not making yourself a target for angry dissent by posting bullshit people will call you out on.
Which "bullshit" are you talking about here, specifically? You basically seem to be saying that you should never post anything online that anyone may disagree with. Do you really think it's right that a small, but angry, minority should be able to silence others through threats of violence and intimidation?
I remember growing up I was taught that "sticks and stones may break my bones, but words can never hurt me."
Have you ever considered that, just possibly, something you were taught at school wasn't 100% accurate? That perhaps bullying, intimidation, threats may in fact have a serious adverse psychological effect? Do you really believe that sort of behaviour is OK? (hint: it's not OK!)
people making fun of someone for being a complete fucking cunt.
Can you give more details on exactly what you mean by "being a complete fucking cunt", and why it deserves such an unpleasant response? Or is it just a case of "I don't like them, so anything goes"?
When the Apple II, PET 2001 and TRS-80 were all released in 1977, all three had BASIC as their primary programming language and operating environment. Upon boot, a BASIC interpreter in immediate mode was presented, not the command line interface used later.
This is where BASIC took off.
And who wrote the (level-II) Basic for the TRS-80?
A diff should be just fine.
Unfortunately not. The thing is, tabs don't mean "<x> number of spaces" (with <x> configurable by the user) - they mean "Move rightwards to the next column that is a multiple of <x>". So, a tab in column 0 moves to column 8, but so does a tab in column one, two or seven.
This doesn't play well with diffs, because diffs tend to add some number of characters to the start of each line (typically one for "unified" diffs, or two for "context" diffs). So if a changed line in the file being context-diffed is indented with a single tab, and the user has set their terminal/editor/whatever they're viewing the diff in so that tabs are (say) three characters, then since the tab is s now preceded by two extra characters, the next multiple-of-three column is column 3, so the tab will result in the line being indented by only a single character (relative to the rest of the code in the diff).
The Office functions might be known to C#, but Office admins (those creating/maintaining the scripts) definitely do not know C#
This - and the fact that C# is not built into Word/Excel/Powerpoint/Outlook, whereas VBA is.
It works for EVERYBODY,
... unless you want to look at diffs, in which case it breaks :-(
Look at the 3,000+ page document that gives the specifications for modern POSIX compliance and then ask that again.
Do you think you could possibly narrow it down a little?
1 cup of flour is trivially measured by volume: Just grab the "1 cup" cup from your set of measuring cups, scoop up flour from your storage container, level. You're done.
This is indeed easy—but very inaccurate: it can lead to the measurement being out by as much as 30%.
The problem is that flour is compressible—so measuring it by weight is inherently more accurate.
The compiler replaces it with a fixed constant which indicates how many bytes are needed to store the argument (which is either a symbol or another constant)
No, it can be any expression or any type. Doesn't have to be a symbol, and doesn't have to be constant.
yes, it's called FreeBSD, or any of the BSDs. Top notch documentation, and sane userland.
... and is a suitable replacement for every piece of software ever? Wow!
If something isn't documented properly, and doesn't work the way I expect... I'm not going to dig into the source code and try to decipher it... I'm going to RUN SOMETHING ELSE.
I wish I lived in your world where there was always an alternative that's well-documented and sane... in fact, I'd settle for well-documented OR sane ;-)
I can see how Java being in a VM to begin with presents a similar model to running assembly on the actual machine but comparing the two in terms of efficiency and overhead is laughable. I was signalling my cognitive dissonance of conflating Java and assembly so directly.
You are aware that there are CPUs capable of executing Java bytecode directly? I.e. that use Java bytecode as (one of) their native assembly instruction set(s)?
His 2:1 is also not from Sussex University as he claimed (which is a reasonably reputable establishment) but from the University of brighton according to his own source.
You're right, the article does say that, but I wouldn't be surprised if it was the (non-UK) newspaper that mixed up"University of Sussex at Brighton" and "University of Brighton"...
If your design documentation couldn't be directly executed by the computer and tested, then we cannot say that it was even remotely complete or correct.
That's not true - it's perfectly possible to give a specification that's complete and comprehensive, and yet is not executable by a computer.
For instance, you could specify a "sort" function by saying that (1) it must return a list that contains a rearrangement of the items passed in, (2) that list must be in ascending order, (3) the time taken must be less than K*n*log(n), where n is the number of items passed in.
I've given that specification in English for brevity, but you could equally specify it in a more formal way - and indeed in one that the computer could verify for any instance of the problem that you put in. (Some might call this "specifcation by unit test".) But the computer could not, in general, go from the specification to an implementation completely automatically.
Since around 1986.
With zsh you can type: do_some_stuff /my/files/**/*
... provided that the number of files fits into the command line argument space (a common reason for using find/xargs rather than, say, wildcards/backticks, aside from the security issues).
Have you ever used perl?
As it happens I've been using perl for longer than your 17 years of JavaScript, so I'm well aware of how its references work... but nothing about that changes the fact that your assertion about JavaScript's "==" comparing values is wrong; in fact, it would be truer to say that "===" compares values.
b = {}; doesn't modify b, it re-assigns b. Please learn how variables work.
I know how variables work, thanks ;-). Assignment is how you change a variable's value in imperative languages. You can't just arbitrarily assert that words like "change" and "modify" have different meanings from their standard ones..
And if you think that "1" and true are different values, then you don't understand what a "value" is.
I've got a very good idea what a "value" is. One property of values (in the context of computing) is that, if two things have different effects when passed to the same function, then they're different values. Perhaps you have a different definition of "value" that contradicts this? If so, do enlighten us, and can you provide a link to a credible source to back up your definition? Again - you can't just arbitrarily assert that words have different meanings from their standard ones.
You're either really old, used to bit-registers not complex objects, or you're really young reading text books, or you've navigated the industry by avoiding business-level programming.
Haha... actually none of the above are true. And even if they were - your assertion about "==" would still be wrong, so your comment to angel'o'sphere to "try harder" would still be uncalled for.
Wow, you are incredibly confused.
I agree that one of us is, indeed, quite confused :-)
You might also try a='1', a=1, a=01, a='01', a=0, a='0', a=false, a='', and a=null.
Using a simple scalar integer isn't an example of anything.
Yes it is - it's an example of your explanation being wrong. Here are some more. You claimed:
Double tests to see if two variables have the same value.
However,
... gives a result of true - when clearly "1" and true are different values - for instance, you'll get different results if you pass them to alert(). You also said:
Triple tests to see if two variables point to the same place in memory -- are actually the same variables.
"Pointing to the same place in memory" and "actually being the same variable" are two entirely different concepts. For example, after:
then 'a' and 'b' refer to the same object ("point to the same place in memory", if you like), and a===b will return true. But they're still different variables, because after modifying one of the variables
the other variable will not be affected in any way.
The reason for wanting to use triple-equals is not because "double-equals compares values", it's because double-equals sometimes behaves in a way that's confusing and not very useful. For instance, I'd expect, for any sensible equality operator, that if a==b and b==c, then a==c... but for JavaScript's double-equals, that's not true (put a="", b=[], c="0" - then ""==[], and []=="0", but "" != "0"...)
(Todd Codd anyone?)
Close... acutally his name was Edgar Frank "Ted" Codd
Hyperbole never fixes anything.
"Punishment" implies that someone did something wrong, which is not necessarily true of all gunshot victims. Like the unarmed homeless guy my local PD shot in the back last week.
Unless, of course, we consider being homeless as a punishable offense.
Haha, I'm using hyperbole?
Yes, for obvious reasons which I already pointed out - not every gunshot victim was shot out of punishment. Yes, it's a pedantic difference, but so was your completely unnecessary addition about gunshot victims, so fair's fair.
Wasn't it equally hyperbole when you talked about the "population as a whole" being punished
No, because that's exactly what laws that would remove everyone's civil liberties based on what a few people might do are for - punishing everyone for the (potential) actions of a few. It's not hyperbolic if it's not an exaggeration. For the record, your statement wouldn't have been hyperbolic if you'd have qualified it with something like, "... and some of those who get shot by them." Again, it's a pedantic difference, but pedantry is what got us to this point in the conversation.
Tthat logic makes no sense. As you say, most people haven't done anything wrong. You say that bad treatment can't be punishment if the person undergoing it didn't do anything wrong. Therefore intrusive gun control is, by your own reasoning, not punishment for those people, and your statement is hyperbole if mine is. You can't have it both ways.
The point is that, to make a balanced comparison, you have to consider the positive and negative effects experienced by everyone in society. If (and, of course, it is very much an "if") the negative effects on the population as a whole of (insert proposed freedom-reducing gun control measure here) are less than the positive effects that come from people not getting shot as a result, that's a strong argument that that measure should be implemented; if that's not the case (because the measure is so draconian that its negative effects are large, and/or the measure is not effective, or actually counterproductive, in reducing gun crime injuries), then the measure should clearly not be implemented.
Maybe I'm missing something,
Yes... you are. I'm explaining why it's important to consider the negative impact of gun crime as well as the negative impact of gun control measures, in order to be come to a balanced conclusion on whether any given gun control regime, or absence thereof, should be implemented. Do you disagree with that?
Balancing these factors is hard to do in any scientific way - not least because the value of "freedom" versus the value of not being shot is very hard to pin down quantitavely - but neglecting the harm done by gun crime is bound to unbalance the equation.
Again, how does this apply to the conversation at hand?
Because what you appear to be saying is that one should ignore the victims of gun crime when considering what the law should be. (That may not, in fact, be your position, but it's what your words are suggesting.)
Hyperbole never fixes anything.
"Punishment" implies that someone did something wrong, which is not necessarily true of all gunshot victims. Like the unarmed homeless guy my local PD shot in the back last week.
Unless, of course, we consider being homeless as a punishable offense.
Haha, I'm using hyperbole? Wasn't it equally hyperbole when you talked about the "population as a whole" being punished - or do you consider being part of the population a punishable offence? ;-)
The point is that, to make a balanced comparison, you have to consider the positive and negative effects experienced by everyone in society. If (and, of course, it is very much an "if") the negative effects on the population as a whole of (insert proposed freedom-reducing gun control measure here) are less than the positive effects that come from people not getting shot as a result, that's a strong argument that that measure should be implemented; if that's not the case (because the measure is so draconian that its negative effects are large, and/or the measure is not effective, or actually counterproductive, in reducing gun crime injuries), then the measure should clearly not be implemented.
Balancing these factors is hard to do in any scientific way - not least because the value of "freedom" versus the value of not being shot is very hard to pin down quantitavely - but neglecting the harm done by gun crime is bound to unbalance the equation.
Thus freedom is preserved, and only those who are actually guilty of harming others, and those who get shot by them, are punished, rather than the population as a whole.
FTFY...
Home invasions are rare because of the 2nd Amendment. Look up the "hot burglary" (burglaries when people are in the structure) numbers for the United Kingdom sometime.
I haven't been able to find good stats on that, but what I can find suggests that the burglary rate overall is broadly similar - at most 20% higher in the UK. But even assuming the UK rate is five times the US one, it's worth noting that the gun murder rate is over thirty times higher in the US than in England&Wales. To me at least, that doesn't sound like a great tradeoff :-/
There aren't many 404s left anyway. Domain dealers are quick to put their hands on every dead link. Which is a shame, because a 404 would be more informative.
You don't get a 404 for a non-existent domain. You only get a 404 if you try to go to a non-existent page within a domain that's registered and has a web server running. If the domain's not registered, there's no web server to even return a 404.
The compare page is missing the only other entry I wanted to see.... and that is, BSD libc. This is widely used by QNX
No, QNX has its own libc - the microkernel architecture means the system call interactions work substantially differently from traditional Unix/Linux/etc.