Just try explaining that to a U.S. company. Anonymized conversation:
Me - "How do I do [X] with our data?"
U.S. - "I can do that for you, just send me a copy of the database."
Me - "No, I can't ship our data to you. It's full of citizen's personal information."
U.S. - "Oh, well we can sign an N.D.A."
Me - "No, that won't work. The USA PATRIOT act allows the US government to compel you to give them that information. Our own privacy legislation prevents me from sharing that personal information with persons who can't or won't keep it private. When you combine the two, the only way for us both to comply with our respective laws if for me not to give it to you."
U.S. - "Oh, we've never had them come to us looking for that kind of information. And our lawyers..."
Me - "Doesn't matter, I still can't ship you the data"
U.S. - "Boy, you Canadian's sure have some funny laws"
Me - "Ummm.. yah - so anyways, how do I do [X]?"
I'm not evaluating whether the USA PATRIOT act is in general a good thing or a bad thing. But it is a hindrance on cross border commerce involving processing of personal data.
Agreed. I know a lot of people who self identify as nerd/geek and they do like the show (myself included). Is suspect a lot of the backlash from people who feel the show is making fun of nerds/geeks rather than with them.
We have a show with main characters who are all likable, sympathetic and are vulnerable. The characters are aware that they are atypical and have their struggles with the "typical" world and typical challenges within "their own" community
Much like the British IT Crowd. (yah, I worked in that office for a while)
If I thought the jokes were in mean spirited, I wouldn't be watching.
I understand it seedless grapes are typically grafted from plant to plant and are perennial but I expect the "first" generation of them are produced in a similarity. That's how you could get multiple seedless varieties (green, red, black, etc.)
Of course, we're quite happy to eat effectively some of these kinds of plants (seedless grapes and seedless watermelon).
And of course if you were worried about some of the GM gene's getting into the "wild", this would be a good thing. Then again, you'd expect one to be more concerned about our traditionally GM'd crops (i.e., bred) inter breading with their "wild" relatives.
There was apparently the un-aired series finale that reportedly in the scrip included the fact that Venger was Dungeon Master's son and the children were there to help redeem him. Once this was complete, they had the option to go home; however, stayed for some other reason (I don't recall).
You could build an entire franchise off of this premise and probably make a lot of 40' something's very happy. Just imagine if the Transformers franchise built off the existing cartoon mythology rather than giving us racist-stereo-type robots and testicle jokes
Purely energy wise, maybe, but what about the soot?
I recall hearing that one of the issues with flying is the amount of soot that is left in the upper atmosphere by a jet. The net result being that flying across North America (NY - LA) caused more greenhouse warming than driving an SUV for a full year (say 20,000km). The very black soot put out over the flight (cumulatively) causes more warming than the exhausts from the SUV (which for various reasons is not exhausting all that soot)
There is something else here. Climate data. As I recall there is a good amount of it that is "private". As in, researchers have been licensed to use the raw data by the people who have collected it (this may be another government, a university, a corporation that collects the climate data for its own purposes, etc.). However, they have not been licensed to publish it. And to be fair, that's fair. The data collectors spent money collecting the data and deserve to be compensated for amassing it.
By saying you can't use data that's not available to the public to set policy, you remove a larger amount data from the EPA and the results of any studies they are using become a lot squishier. They then can't say to that coal powered electricity generator you can't put 200 tonnes of CO2 into the atmosphere (or license it a $0.01/tonne)
I've always been under the impression that academic dishonesty (cheating) has been grounds for expulsion... basically for any accredited university.
As such eject them from the University, and good luck getting into any other 1st class schools with out a lot of work and growth (if ever).
The rest would seem to fall under the University's harassment policy. Which I'm sure has it's own way of removing trouble makers from class
What this says to me is that the Prof didn't activate the appropriate responses early in the term AND more so, the department head was asleep at the switch and didn't have a clue what was going on at the Prof's level (and provide guidance on how to address the issues with the class). And before you way it wasn't the department head's responsibility to do so, it is.
As a leader, your responsibilities not only include the direction of tasks and responsibilities for your subordinates. It also includes looking after their well being (and their subordinates). It's not enough to just provide Bob with safety equipment and training, you need to make sure Bob is using it. Likewise, it's not enough just to provide a harassment policy and enforce it, if Bob is not recognising he is being harassed, it's important to pull them aside and help them activate that process.
(Q) Did they identify the code that was the cause of the problem?
(A) YesconcatString += addString
(Q) Did they identify WHY that code that was the cause of the problem?
(A) No, they hand waved about += having to do a few more operations than StringBuilder (vs. a metric-butt load that it's doing for a million character string)
(Q) WHY did that code that was the cause of the problem?
(A) In Memory was an O(n^2) algorithm, vs. a O(n) disk algorithm And I don't believe they understood this, or they would have explicitly explained it in their paper and/or never bothered to publish it
(Q) Is this a problem for the paper?
(A) Yes. The paper title implies that the same algorithm taking place entirely in memory (and one single large disk write) could be slower than one with lots of disk writes. They are clearly not the same algorithm when you look under the hood of string concatenation and writing to a filebuffer.
It's kind of like saying, we had a tortoise and a hare race between point A and point B, pointing out that the tortoise won the race; but neglecting to mention the hare was facing the wrong way, and ran the long way around the world. Oh, but if we switch the hare for a rabbit (which happens to be facing the right way); then the rabbit beats the tortoise - clearly the hare takes longer per stride for some reason
(Q) Are there any other problems with the paper?
(A) Yes, their lots of disk write version of the algorithm is writing to a buggered stream, and while it flushing - there is no guarantee that data has been physically written to the disk before the next iteration started. And since the PC has way more than a million bytes free on it, there's a good chance that the OS didn't have to do a physical write until long after the program finished (the disk array controller may even have a backup battery, so it could be minutes before it actually gets written to disk).
Identifying problems like this with a paper is not belittling the authors. Mocking them for publishing out of their area of expertise may be (re. Biology) or for being a potential expert (PhD. in Electrical Engineering(*)) and making what is clearly a junior coding mistake. But I'm not mocking them. I'm identifying a fundamental problem with their paper. They're grownups in academia - the should expect challenges.
* - Lord knows that he may not have any actual training in software development beyond what he needed to get through school, and may have spent more time working on the hardware aspects of computing - that was the case will all my profs that came from an EE background. PhD. and P.Eng. does not mean infallible programming expert. It means highly specialized in one are of study.
This paper has done nothing to increase the knowledge of the world, and wasted lots of people's time. It's like they published paper saying the world is round when analyzed at a sufficiently large enough scale. Be careful that you don't fly in a straight line from Washington to Japan according to a Mercator projection map because it'll take longer and you'll burn a lot more fuel. Every good pilot in the world knows that and good developers should know the problems of string concatenation (especially in loops).
Oh, I read the whole paper through. It was this line that got me.
a seemingly benign statement such as concatString += addString may actually involve executing many extra cycles behind the scenes.
I don't think they understood that += was taking a 1,000,000 cycles to execute when they got to the 1,000,000'th concatenation. I think imply by omission that the copy operation is O(1); which clearly it is not.
They do correctly identify the problem being in the data copy
The problem is caused by data copy operations in the main memory, whether in the heap or stack space. We also see that immutable strings are not inherently a problem, as evidenced by Python’s much better performance with the modified code.
But they don't identify that it's because their copy is taking longer and longer each time they do the append. Instead the leave it up to the "magic" of the append. A true O(1) algorithm for appending text (StringBuilder) would not have had the same problem; it's still doing memory copies, just FAR fewer.
It's not that there's one piranha in the river that's the problem; it's there is 1,000,000 piranha in the river. Likewise I'd rather face one piranha than one grisly-bear and 10 piranha than 10 grisly-bears; but 1 grisly-bears vs 500,000 piranha
I think they missed that the += operation is an O(n) operation, and that putting it in a loop made it an O(n^2) operation - as compared to the O(n) operation of writting to the file butter. If they hadn't missed it, then they would have come right out and said that when they were talking about using StringBuilder or StringBuffer.
And the Python gets even worse when they prepend `addstring` instead of appending it; making the in memory inherently different from the to disk test.
catString = addString + concatString # modified: concatString = concatString + addString
True... but the water is a different problem - it still has to be managed, but a different problem. The fuel is NOT melting its way into the Earth's core as the poster suggests with their China Syndrome reference. By now, it is quite solid;except perhaps for a some small pockets that must already be accidentally contained, otherwise it could not remain liquid.
The reality is IF the fuel "burned" through the foundation of the reactor, it would quickly disperse and dilute enough that the reaction would slow down to the point that it would cool enough that it would no longer be molten; and then it would no longer be mobile.
Why pure water? Probably because it's the most common solvent in the world, and integral to life as we know it. And we can consistently make it.
Why not water at the average saltiness of the ocean? To complicated
1) It's a lot easier to produce "pure" water than it is to adjust the salt content of water to match the average
2) There is more variation than you would think in the saltiness of the ocean - which would require a lot of sampling, and as we did more sampling, the scale would change, or it would become the average of samples at these 46 points done on this day in 1724.
3) There is a lot more than just NaCl in the ocean, and you'd have to match that exactly
4) You'd still have to produce pure water first to reliably create your standard for "sea water" in a lab.
Why sea-level (1.0 ATM / 14.7PSI / etc.)? Probably because it's easy to define and check (it just requires a consistent work).
Compare that to Fahrenheit, which was originally defined by two end points, the freezing point of a fully saturated solution of water and salt (probably at 1 ATM) as 0'F; and human body temperature as 100'F (of course a human's nominal temps differ to the point that we now expect 98.6'F as your body temperature).
Coincidentally, Fahrenheit is now defined by the freezing and boiling points of pure water (at 1 ATM) and pegged at 32'F and 212'G for purely "arbitrary" reasons.
Actually... yes the do.
http://www.huffingtonpost.com/...
Just try explaining that to a U.S. company. Anonymized conversation:
Me - "How do I do [X] with our data?"
U.S. - "I can do that for you, just send me a copy of the database."
Me - "No, I can't ship our data to you. It's full of citizen's personal information."
U.S. - "Oh, well we can sign an N.D.A."
Me - "No, that won't work. The USA PATRIOT act allows the US government to compel you to give them that information. Our own privacy legislation prevents me from sharing that personal information with persons who can't or won't keep it private. When you combine the two, the only way for us both to comply with our respective laws if for me not to give it to you."
U.S. - "Oh, we've never had them come to us looking for that kind of information. And our lawyers..."
Me - "Doesn't matter, I still can't ship you the data"
U.S. - "Boy, you Canadian's sure have some funny laws"
Me - "Ummm.. yah - so anyways, how do I do [X]?"
I'm not evaluating whether the USA PATRIOT act is in general a good thing or a bad thing. But it is a hindrance on cross border commerce involving processing of personal data.
Agreed. I know a lot of people who self identify as nerd/geek and they do like the show (myself included). Is suspect a lot of the backlash from people who feel the show is making fun of nerds/geeks rather than with them.
We have a show with main characters who are all likable, sympathetic and are vulnerable. The characters are aware that they are atypical and have their struggles with the "typical" world and typical challenges within "their own" community
Much like the British IT Crowd. (yah, I worked in that office for a while)
If I thought the jokes were in mean spirited, I wouldn't be watching.
Seedless watermelon involves crossing two lines (diploid and tetraploid) annually to generate a sterile fruit.
https://en.wikipedia.org/wiki/...
I understand it seedless grapes are typically grafted from plant to plant and are perennial but I expect the "first" generation of them are produced in a similarity. That's how you could get multiple seedless varieties (green, red, black, etc.)
Of course, you realise that the Terminator Seeds thing is effectively a myth - right:
http://www.monsanto.com/newsvi...
Of course, we're quite happy to eat effectively some of these kinds of plants (seedless grapes and seedless watermelon).
And of course if you were worried about some of the GM gene's getting into the "wild", this would be a good thing. Then again, you'd expect one to be more concerned about our traditionally GM'd crops (i.e., bred) inter breading with their "wild" relatives.
$1USD per Oracle licence! How do we do it? Volume!
I'm still walking funny from the last time we negotiated with Oracle.
There was apparently the un-aired series finale that reportedly in the scrip included the fact that Venger was Dungeon Master's son and the children were there to help redeem him. Once this was complete, they had the option to go home; however, stayed for some other reason (I don't recall).
You could build an entire franchise off of this premise and probably make a lot of 40' something's very happy. Just imagine if the Transformers franchise built off the existing cartoon mythology rather than giving us racist-stereo-type robots and testicle jokes
And much more so for con-trails vs. soot :
http://en.wikipedia.org/wiki/E...
How would this do:
http://www.davidsuzuki.org/iss...
Purely energy wise, maybe, but what about the soot?
I recall hearing that one of the issues with flying is the amount of soot that is left in the upper atmosphere by a jet. The net result being that flying across North America (NY - LA) caused more greenhouse warming than driving an SUV for a full year (say 20,000km). The very black soot put out over the flight (cumulatively) causes more warming than the exhausts from the SUV (which for various reasons is not exhausting all that soot)
There is something else here. Climate data. As I recall there is a good amount of it that is "private". As in, researchers have been licensed to use the raw data by the people who have collected it (this may be another government, a university, a corporation that collects the climate data for its own purposes, etc.). However, they have not been licensed to publish it. And to be fair, that's fair. The data collectors spent money collecting the data and deserve to be compensated for amassing it.
By saying you can't use data that's not available to the public to set policy, you remove a larger amount data from the EPA and the results of any studies they are using become a lot squishier. They then can't say to that coal powered electricity generator you can't put 200 tonnes of CO2 into the atmosphere (or license it a $0.01/tonne)
That's the insidious part about this...
I've always been under the impression that academic dishonesty (cheating) has been grounds for expulsion ... basically for any accredited university.
As such eject them from the University, and good luck getting into any other 1st class schools with out a lot of work and growth (if ever).
The rest would seem to fall under the University's harassment policy. Which I'm sure has it's own way of removing trouble makers from class
What this says to me is that the Prof didn't activate the appropriate responses early in the term AND more so, the department head was asleep at the switch and didn't have a clue what was going on at the Prof's level (and provide guidance on how to address the issues with the class). And before you way it wasn't the department head's responsibility to do so, it is.
As a leader, your responsibilities not only include the direction of tasks and responsibilities for your subordinates. It also includes looking after their well being (and their subordinates). It's not enough to just provide Bob with safety equipment and training, you need to make sure Bob is using it. Likewise, it's not enough just to provide a harassment policy and enforce it, if Bob is not recognising he is being harassed, it's important to pull them aside and help them activate that process.
(Q) Did they identify the code that was the cause of the problem?
(A) Yes concatString += addString
(Q) Did they identify WHY that code that was the cause of the problem?
(A) No, they hand waved about += having to do a few more operations than StringBuilder (vs. a metric-butt load that it's doing for a million character string)
(Q) WHY did that code that was the cause of the problem?
(A) In Memory was an O(n^2) algorithm, vs. a O(n) disk algorithm
And I don't believe they understood this, or they would have explicitly explained it in their paper and/or never bothered to publish it
(Q) Is this a problem for the paper?
(A) Yes. The paper title implies that the same algorithm taking place entirely in memory (and one single large disk write) could be slower than one with lots of disk writes. They are clearly not the same algorithm when you look under the hood of string concatenation and writing to a filebuffer.
It's kind of like saying, we had a tortoise and a hare race between point A and point B, pointing out that the tortoise won the race; but neglecting to mention the hare was facing the wrong way, and ran the long way around the world. Oh, but if we switch the hare for a rabbit (which happens to be facing the right way); then the rabbit beats the tortoise - clearly the hare takes longer per stride for some reason
(Q) Are there any other problems with the paper?
(A) Yes, their lots of disk write version of the algorithm is writing to a buggered stream, and while it flushing - there is no guarantee that data has been physically written to the disk before the next iteration started. And since the PC has way more than a million bytes free on it, there's a good chance that the OS didn't have to do a physical write until long after the program finished (the disk array controller may even have a backup battery, so it could be minutes before it actually gets written to disk).
Identifying problems like this with a paper is not belittling the authors. Mocking them for publishing out of their area of expertise may be (re. Biology) or for being a potential expert (PhD. in Electrical Engineering(*)) and making what is clearly a junior coding mistake. But I'm not mocking them. I'm identifying a fundamental problem with their paper. They're grownups in academia - the should expect challenges.
* - Lord knows that he may not have any actual training in software development beyond what he needed to get through school, and may have spent more time working on the hardware aspects of computing - that was the case will all my profs that came from an EE background. PhD. and P.Eng. does not mean infallible programming expert. It means highly specialized in one are of study.
This paper has done nothing to increase the knowledge of the world, and wasted lots of people's time. It's like they published paper saying the world is round when analyzed at a sufficiently large enough scale. Be careful that you don't fly in a straight line from Washington to Japan according to a Mercator projection map because it'll take longer and you'll burn a lot more fuel. Every good pilot in the world knows that and good developers should know the problems of string concatenation (especially in loops).
Oh, I read the whole paper through. It was this line that got me.
a seemingly benign statement such as concatString += addString may actually involve executing many extra cycles behind the scenes.
I don't think they understood that += was taking a 1,000,000 cycles to execute when they got to the 1,000,000'th concatenation. I think imply by omission that the copy operation is O(1); which clearly it is not.
They do correctly identify the problem being in the data copy
The problem is caused by data copy operations in the main memory, whether in the heap or stack space. We also see that immutable strings are not inherently a problem, as evidenced by Python’s much better performance with the modified code.
But they don't identify that it's because their copy is taking longer and longer each time they do the append. Instead the leave it up to the "magic" of the append. A true O(1) algorithm for appending text (StringBuilder) would not have had the same problem; it's still doing memory copies, just FAR fewer.
It's not that there's one piranha in the river that's the problem; it's there is 1,000,000 piranha in the river. Likewise I'd rather face one piranha than one grisly-bear and 10 piranha than 10 grisly-bears; but 1 grisly-bears vs 500,000 piranha
If they wanted to do that, all they had to do was post this. http://www.joelonsoftware.com/...
I think they missed that the += operation is an O(n) operation, and that putting it in a loop made it an O(n^2) operation - as compared to the O(n) operation of writting to the file butter. If they hadn't missed it, then they would have come right out and said that when they were talking about using StringBuilder or StringBuffer.
And the Python gets even worse when they prepend `addstring` instead of appending it; making the in memory inherently different from the to disk test.
catString = addString + concatString # modified: concatString = concatString + addString
True... but the water is a different problem - it still has to be managed, but a different problem. The fuel is NOT melting its way into the Earth's core as the poster suggests with their China Syndrome reference. By now, it is quite solid;except perhaps for a some small pockets that must already be accidentally contained, otherwise it could not remain liquid.
%s/dreamatic/dramatic/g
The reality is IF the fuel "burned" through the foundation of the reactor, it would quickly disperse and dilute enough that the reaction would slow down to the point that it would cool enough that it would no longer be molten; and then it would no longer be mobile.
http://en.wikipedia.org/wiki/N...
Then, it's _just_ a pain in the arse to safely clean up.
Why pure water? Probably because it's the most common solvent in the world, and integral to life as we know it. And we can consistently make it.
Why not water at the average saltiness of the ocean? To complicated
1) It's a lot easier to produce "pure" water than it is to adjust the salt content of water to match the average
2) There is more variation than you would think in the saltiness of the ocean - which would require a lot of sampling, and as we did more sampling, the scale would change, or it would become the average of samples at these 46 points done on this day in 1724.
3) There is a lot more than just NaCl in the ocean, and you'd have to match that exactly
4) You'd still have to produce pure water first to reliably create your standard for "sea water" in a lab.
Why sea-level (1.0 ATM / 14.7PSI / etc.)? Probably because it's easy to define and check (it just requires a consistent work).
Compare that to Fahrenheit, which was originally defined by two end points, the freezing point of a fully saturated solution of water and salt (probably at 1 ATM) as 0'F; and human body temperature as 100'F (of course a human's nominal temps differ to the point that we now expect 98.6'F as your body temperature).
Coincidentally, Fahrenheit is now defined by the freezing and boiling points of pure water (at 1 ATM) and pegged at 32'F and 212'G for purely "arbitrary" reasons.
Just close one eye, and you're right back to 2D.
Of course they'll probably pull the Canadian trick of making cracking-DRM to do it a criminal offense.
The StackExchange Podcast had a excellent review of the events at Peer1.
http://blog.stackoverflow.com/2012/11/se-podcast-36-we-got-hit-by-a-hurricane/
http://www.podtrac.com/pts/redirect.mp3/feeds.soundcloud.com/stream/66762703-stack-exchange-stack-exchange-podcast-36.mp3
It's more like:
I used to ride the bus, and I almost died in a bus crash. Buses are horrible things. Now I drive a car. Everyone should drive a car instead of th bus.
It's nae very wee...
It's FRICKEN wee..