Carlsen didn't seem entirely sure that it had started
This is normal: when you start the clock, there is no visual indicator until 1 second has passed, and the time ticks down to the next second. So there is that short period where you aren't sure if your press registered or not.
If you actually watch the video, they were playing a timed game. The World Champion (funny how the slashdot title omits that minor detail??) had 30 seconds, Bill had 2 minutes.
At least he knows how to play minesweeper. (A reddit thread recently revealed that a lot of people had been playing it by randomly clicking, and either ignored the numbers, or thought they were points).
I think you must be mis-remembering the details slightly. The comma operator is a sequence-point, so "tmp" must be assigned the value of "a", and f() and g() must both be called with a value that is the value of "a" converted to the type of "tmp". The two functions can be called in either order though (or in parallel) but there is no issue there.
Of course, the compiler can do anything it likes so long as the program's output is equivalent to what I just described. So, for example, it might not allocate a memory location to "tmp", it could just push the value of "a" onto a register and then call f and g with it. Or if f or g do nothing and have no side-effects, the assembly code might not show calls to f and g. But there is no way you could know these things by running the program, which is the whole point.
"Overflows of unsigned values" is NOT undefined. You can assign out-of-range values to unsigned types, and also perform arithmetic operations which exceed the bounds of the type; and the value is adjusted using modular arithmetic.
Some would be facetious and say that "unsigned types cannot overflow", meaning that they always have well-defined behaviour on operations that would generate an out-of-range value, but that's just an issue of pedantry with English.
Stop right here. Once undefined behaviour occurs, "all bets are off" as they say; the remaining code may have any behaviour whatsoever. C works like this on purpose , and it's something I agree with. It means the compiler doesn't have to insert screeds of extra checks , both at compile-time and run-time.
There are plenty of other languages you can use if you want a different language definition:)
>a == b is not a use of the argument that has been invalidated
Yes it is. Evaluating the expression "a" causes undefined behaviour if "a" is indeterminate. "a" is considered to no longer have a value, any attempt to refer to its value causes UB. (It has the same status as a variable that has been defined but not initialized, i.e. "int a;"
The only thing that can be done with "a" thereafter is to assign a new value to it (or take its address, or do "sizeof a".. can't think of any other exceptions)
All that happens on such a subreddit is wild speculation. Last time they did it, innocent people wrongly identified got harrassed IRL. They're not detectives. Just send any real tips direct to the FBI.
I knew about it in Chrome but hadn't been able to find a similar option in Firefox. (Going to the Firefox history and reopening the last closed page there, loses anything you'd typed into forms)
Carlsen didn't seem entirely sure that it had started
This is normal: when you start the clock, there is no visual indicator until 1 second has passed, and the time ticks down to the next second. So there is that short period where you aren't sure if your press registered or not.
Gates made his move without starting the clock and then they sat around chatting for a while before Magnus started the clock.
It's wrong then, those times were for the whole game. If you watch the video of the match, this is clear.
If you actually watch the video, they were playing a timed game. The World Champion (funny how the slashdot title omits that minor detail??) had 30 seconds, Bill had 2 minutes.
At least he knows how to play minesweeper. (A reddit thread recently revealed that a lot of people had been playing it by randomly clicking, and either ignored the numbers, or thought they were points).
‘A reader lives a thousand lives before he dies, said Jojen. The man who never reads lives only one.’
all the boring stories lately?
Sun’s Hemispheres Out Of Sync During Magnetic Field
Written by: Tara Dodrill Trending August 8, 2013 3 Comments
While this check appears to work on a flat address space, it fails on a segmented architecture.
It may not even work on a flat address space, if "buf"'s allocated block is right at the end of the addressable space.
I think you must be mis-remembering the details slightly. The comma operator is a sequence-point, so "tmp" must be assigned the value of "a", and f() and g() must both be called with a value that is the value of "a" converted to the type of "tmp". The two functions can be called in either order though (or in parallel) but there is no issue there.
Of course, the compiler can do anything it likes so long as the program's output is equivalent to what I just described. So, for example, it might not allocate a memory location to "tmp", it could just push the value of "a" onto a register and then call f and g with it. Or if f or g do nothing and have no side-effects, the assembly code might not show calls to f and g. But there is no way you could know these things by running the program, which is the whole point.
"Overflows of unsigned values" is NOT undefined. You can assign out-of-range values to unsigned types, and also perform arithmetic operations which exceed the bounds of the type; and the value is adjusted using modular arithmetic.
Some would be facetious and say that "unsigned types cannot overflow", meaning that they always have well-defined behaviour on operations that would generate an out-of-range value, but that's just an issue of pedantry with English.
>The dereference is undefined, and therefore
Stop right here. Once undefined behaviour occurs, "all bets are off" as they say; the remaining code may have any behaviour whatsoever. C works like this on purpose , and it's something I agree with. It means the compiler doesn't have to insert screeds of extra checks , both at compile-time and run-time.
There are plenty of other languages you can use if you want a different language definition :)
>a == b is not a use of the argument that has been invalidated
Yes it is. Evaluating the expression "a" causes undefined behaviour if "a" is
indeterminate. "a" is considered to no longer have a value, any attempt to
refer to its value causes UB. (It has the same status as a variable that has
been defined but not initialized, i.e. "int a;"
The only thing that can be done with "a" thereafter is to assign a new value to it .. can't think of any other exceptions)
(or take its address, or do "sizeof a"
The behaviour is also undefined if realloc returns NULL. Also, sizeof(char) is 1 by definition.
>If my C code contains *foo=2, the compiler can't just leave that out
Well, it could if the program produces no further output before exiting, or if "foo" is unassigned.
What if you hold a metal rod up though, that would have a lower resistance.
All that happens on such a subreddit is wild speculation. Last time they did it, innocent people wrongly identified got harrassed IRL. They're not detectives. Just send any real tips direct to the FBI.
...it's not normal to travel with paper maps?
Yeah and how is he going to do that?
We can't all hole up in a Moscow airport.
Why is it bad to teach people to avoid a polygraph, when polygraphs aren't admissible as evidence in court anyway?
Next thing you know they'll be banning books on body language.
Then books on English. The war with Eastasia will probably be used as justification.
>Science is never about human experience. Not when taken individually, and not when analyzed in the aggregate. Period
This is pretty close to the level of stupidity of executing people for witchcraft. (I have a degree in science, BTW).
Welcome to slashdot, where people make up their own definitions of words and then criticize people who use the dictionary or common understanding.
Except that you actually learn something useful from it.
I knew about it in Chrome but hadn't been able to find a similar option in Firefox. (Going to the Firefox history and reopening the last closed page there, loses anything you'd typed into forms)
Also they didn't mention that internet users are helping the search.