Apologies for my pedantry, but dreaming about harming people is actually pretty much the opposite of gallows humour. A more appropriate phrase might be "power fantasy."
2,069 karma · joined August 6, 2009
Apologies for my pedantry, but dreaming about harming people is actually pretty much the opposite of gallows humour. A more appropriate phrase might be "power fantasy."
I do maintain that it is, in some sense, a "reasonable" position for a racist to be more offended by incivility than by racism. Not ideal, or even good, but certainly understandable.
How does "it is getting harder and slower to move large files over the net" lead to the conclusion "therefore we should store all our large files on the net and retrieve them whenever we want, rather than keep them on local media with negligible latency and huge storage space"?
This is what ghci (Haskell) says:
Prelude> 9223372036844775807 == 9223372036844775808
False
Prelude> 9223372036844775807.0 == 9223372036844775808.0
True
This is what Python says: >>> 9223372036844775807 == 9223372036844775808
False
>>> 9223372036844775807.0 == 9223372036844775808.0
True
Here is what SBCL (Common Lisp) says: * (= 9223372036844775807 9223372036844775808)
NIL
* (= 9223372036844775807.0 9223372036844775808.0)
T
Lua: > print(9223372036844775807 == 9223372036844775808)
true (!!!!!)
> print(9223372036844775807.0 == 9223372036844775808.0)
true
Javascript: alert(9223372036844775807 == 9223372036844775808)
true (!!!!!)
alert(9223372036844775807.0 == 9223372036844775808.0)
true
Other languages that will also do this[1]: Javascript, Lua. Languages that won't: anything with actual, honest-to-god integers, and not floats or doubles masquerading as them.[2] Languages that actually handle numbers sensibly: Lisp.[3] I'm not familiar with any others that actually treat rational numbers like rational numbers, but I expect there are some. (It's still, of course, impossible to treat real numbers like real numbers, meaning that this sort of thing will also happen there.)[1] Well, not the string-to-number bit, but whatever.
[2] Except for the niggle that they'll still do this when you're using floating point numbers, because this is what floating point numbers do.
The brief summary is, of course, you can almost never really know "logically what's happening", even in nice reliable languages like Java or Python or Haskell or Ruby or C.[0]
The easy solution (and the one that every working programmer makes every day) is to say: well, let's assume that the compiler is non-malicious and has relatively few bugs that will impact me. That's a fair response.
Next we run into the fact that just because you call a function, and that function happens to be called add(x,y), doesn't actually mean that the function will return the sum of x and y. In the absence of further evidence, it could be an HTTP server or fill your hard drive with infinite copies of Das Kapital or anything at all. The normal solutions proposed to this are (1) read the documentation, or (2) read the code. Those are both workable solutions.
Then macros come into the picture. I fail to see how the already-heavily-used techniques of (1) reading documentation and (2) reading the implementation of the macro, which seem to be at least tolerable and mostly workable with functions suddenly fall apart with macros.
[0] C and C++ have the preprocessor and macros anyway, which "change your program logically...prior to compilation", so I won't mention them further in this comment.
Some wiggles are noses.
Therefore, some wiggles are frozzle.
And web developers have every incentive to keep it that way.
I'm having a hard time thinking of a single B2B company that isn't a pyramid scheme, by that definition. Pretty much everyone spends money in order to make money. Easy example: before I can build and sell my widgets, I need to buy the parts for them.
Edit: To make my point less pedantic: your argument, as you have currently phrased it, is every bit as alarmist as those you disagree with, just in the opposite direction. It's like appealing for calm by calling the people you disagree with whores. At best, such a tactic undermines itself.
Actual discussion:
It is self-evidently true that fines for data breaches would discourage companies from allowing more data breaches. You have countered this by saying such a policy would harm innovation. The snarky response would be that harming innovation in the realm of data breaches is exactly what we want to do. A less snarky response would be to ask you to provide any evidence that investing in proper network security would have made Sony less innovative in any measurable way.