What? As a programmer, you expect *ME* to consult a lawyer for everything I'm told to do
1. If you are told to do something that you KNOW is illegal, or something that you SHOULD KNOW is illegal, then you should be liable for the consequences. "Following orders" is not a legitimate defense. 2. You do not need to "consult a lawyer" to know what is legal and illegal. If you are told to do something shady, a Google search of a few relevant terms will bring up enough information for you to tell your boss, IN WRITING, that his request may be illegal.
No. I am sure some do, but that is illegal. Others give notice, or even ask for consent. Others sell anonymized data. Others, such as Google, do not sell personal data, but instead do the advertising directly on behalf of their clients. That is legal.
And how much did they profit from selling that data?
Also, what about the person that ordered this to be done? What about the person that followed that order? "My boss told me to do it" is not a legitimate defense. What about the companies that bought the data? They should also suffer some consequences.
Part of that $2.2 million should go to a whistleblower fund, to reward people that report this sort of behavior in other companies.
Just don't connect it to your router. Problem solved.
No. That does NOT solve the "problem". I don't particularly care if anyone sees my viewing habits, because the worst that could happen is that they die of boredom. What I care about is living in a pervasive surveillance state, where no one can be assured of privacy in any aspect of their lives. A solution that only works for the tiny minority that are diligent and informed does not solve that problem.
if, as it generally seems to be the consensus of the intelligentsia, robots will replace any possible jobs
False premise. That is NOT the consensus of the "intelligentsia". Anyone who has read an economics book, or a history book, can see that automation leads to higher standards of living. People are doing best in countries and regions that have automated the most. That is the exact opposite of what is predicted by the populist nonsense that productivity improvements lead to poverty.
It is also a myth that automation is "speeding up". Most of the easy automation of manufacturing has already occurred, and service jobs are proving much harder to automate. So productivity growth has leveled off, and is one of the reasons for stagnant wages (again, the exact opposite of the populist poppycock).
Restrictions on weaponization of AI simply means that the least ethical will get there first.
Also, past predictions that particular breakthroughs are "30 to 50 years away" have often been wildly inaccurate. "Experts" are often the worst predictors, since being in the trenches doesn't always help you see what is on the horizon.
Once AI is advanced enough to participate in its own improvement, that improvement can advance at an exponential rate. We may go from "not even close" to "too late to stop it" faster than we realize.
Of course not. The diets of all primitive societies contain meat (mostly from small animals), and eggs. But just because something isn't "natural" doesn't mean it isn't healthy. Smallpox vaccines and indoor plumbing are not "natural" either, but they have vastly extended human lifespans. There is a fair amount of evidence that veggie/vegan diets are healthier than meat rich diets. For people that do eat meat, there is evidence that meat from small animals and fish is healthier than meat from large mammals such as cows and pigs. For people that do eat beef and pork, there is evidence that it is better to eat it in moderation and avoid meat that is charred or smoked.
Disclaimer: I try to mostly stick to a vegetarian diet, but I am not a fanatic about it.
A non-recursive algorithm to walk a tree structure still requires memory space proportional to the maximum depth of the tree, and still requires more memory for an unbalanced tree. You may need less memory than a call stack, since you don't need to store the instruction pointer or stack index pointer (BP register on an x86), but that is only a linear improvement.
In the book "C Traps and Pitfalls", on page 146 of the index it says "recursion 88, 146". The index also contains “pitfalls, see traps” and “traps, see pitfalls.”
There are languages that do not optimise tail-recursion, such as C.
All modern C compilers optimize tail-recursion.
computing the sum of the elements of a large array is efficiently done with a for-loop, whereas recursion would use excessive stack space.
Only a total idiot would use recursion to sum an array. There are many other tasks, such as searching a tree, where a recursive algorithm makes much more sense.
Anything that can be done iteratively, can be done recursively
Anything that can be built with a hammer can be built with a rock.
I'd rather have very bad effects in my embedded code than small and subtle effects that can stay hidden for a long time, but still have the potential to screw up the application.
That is the point. If you implement a recursive function to walk a tree, it will work fine as long as the tree is somewhat balanced... and if random data is inserted, a tree will almost always be balanced. Almost. But not always. So one day, the tree is not balanced, and your recursion overflows the stack, trashing the very call chain that you need to figure out what went wrong. That can be a subtle bug that is hard to track down.
There are several ways to avoid (or at least detect) this problem: 1. Count the depth, and increment each time you recurse. 2. Put a sentinel like "0xDEADBEAF" near the bottom of the stack space, and check it. 3. During development, use a much smaller stack than in deployment. If your deployment will have a 2K stack, then use 1K in development. This will expose a lot of fragile algorithms. 4. At each level of recursion, avoid storing unnecessary data in each stack frame. Instead, try to store data in static variables. For instance a depth counter does not need to be passed to a subfunction. It can be a static variable that is incremented when the subfunction is called, and decremented when it returns. So instead of this:
void foo(int depth) {
foo(depth + 1); }
Do this:
static int depth; void foo() {
++depth;
foo();
--depth; }
Mushrooms. Cremini mushrooms are an especially good source. Tempeh (fermented soybeans) also has B12. Also, many vegan foods are supplemented with B12, such as bread and breakfast cereal.
You are cherry-picking the report, and then cherry-picking quotes from the report. This report actually found that veggies live longer, but without enough data to be "conclusive". Many other studies have found a stronger correlation.
The USDA food pyramid has grains at the bottom (and widest) portion of the pyramid
No it doesn't. The pyramid with horizontal slices is obsolete, and was replaced with VERTICAL slices. Of course, vertical slices don't even fit the metaphor of a pyramid, and are thus meaningless, but THAT IS THE INTENT. The USDA was fed up with trying to please so many interest groups (farmers, food manufacturers, nutritionists, etc) that they just threw up their hands and went with something pointless, meaningless, and content free.
The vertical "pyramid" diagram has now been replaced with the MyPlate diagram, which is slightly less stupid.
a non-recursive solution requires just as much space to keep track of what you're doing.
Nope. Recursion saves the instruction pointer on the stack, in addition to whatever other data is required. So a non-recursive equivalent will be slightly faster and use slightly less memory, at the cost of being slightly less understandable.
Consumer 64 bit CPUs have been around since the 2003 AMD Opteron
Linux runs on many many embedded systems that are 32 bit, including plenty of new devices. It is likely that these are even the majority of running Linux instances. This particular distro may only be interested in the 64-bit desktop/laptop/server market, but many other distros would be foolish to abandon the embedded market.
Are you saying he is incapable of understanding that?
No. I am saying that if, after 13 years of math education (K-12, he is a HS grad), he still doesn't understand a 2nd grade concept like the volume of a box, then he sure as heck is not going to contribute to the advancement of mathematics, by proving the Riemann Hypothesis, Goldbach's Conjecture, or anything else. Although it is politically incorrect to say so, the "tabula rasa" theory of human intelligence is baloney. Some people are just plain stupid. If you really think otherwise, then you should spend some time with someone with Williams Syndrome. While volunteering at a mental health clinic, I have met (and befriended) several. These are people that may initially seem normal, or even socially adept, but have an astonishing inability to reason quantitatively, much less understanding abstraction.
Prison rape jokes are a GOOD THING. You should look at them as a sign of progress. Remember the old adage: First they ignore us, then they laugh at us, then they fight us, then we win. Jokes about prison rape mean we have moved from stage 1 (ignoring) to stage 2 (laughing). The brutality of our prison system is a horrific stain on our civilization, and the current rate of incarceration (America's rate is four times higher than either China or Russia) is appalling. Prison reform and sentencing reform are noble causes, and even the incremental progress of getting people to acknowledge the issues with humor is encouraging.
What? As a programmer, you expect *ME* to consult a lawyer for everything I'm told to do
1. If you are told to do something that you KNOW is illegal, or something that you SHOULD KNOW is illegal, then you should be liable for the consequences. "Following orders" is not a legitimate defense.
2. You do not need to "consult a lawyer" to know what is legal and illegal. If you are told to do something shady, a Google search of a few relevant terms will bring up enough information for you to tell your boss, IN WRITING, that his request may be illegal.
Doesn't every company do this?
No. I am sure some do, but that is illegal. Others give notice, or even ask for consent. Others sell anonymized data. Others, such as Google, do not sell personal data, but instead do the advertising directly on behalf of their clients. That is legal.
And how much did they profit from selling that data?
Also, what about the person that ordered this to be done? What about the person that followed that order? "My boss told me to do it" is not a legitimate defense. What about the companies that bought the data? They should also suffer some consequences.
Part of that $2.2 million should go to a whistleblower fund, to reward people that report this sort of behavior in other companies.
Just don't connect it to your router. Problem solved.
No. That does NOT solve the "problem". I don't particularly care if anyone sees my viewing habits, because the worst that could happen is that they die of boredom. What I care about is living in a pervasive surveillance state, where no one can be assured of privacy in any aspect of their lives. A solution that only works for the tiny minority that are diligent and informed does not solve that problem.
There will be new jobs, but there won't be nearly enough of them to replace the ones that are going away.
People said the same thing about the steam engine, power tools, cars, computers, etc.
if, as it generally seems to be the consensus of the intelligentsia, robots will replace any possible jobs
False premise. That is NOT the consensus of the "intelligentsia". Anyone who has read an economics book, or a history book, can see that automation leads to higher standards of living. People are doing best in countries and regions that have automated the most. That is the exact opposite of what is predicted by the populist nonsense that productivity improvements lead to poverty.
It is also a myth that automation is "speeding up". Most of the easy automation of manufacturing has already occurred, and service jobs are proving much harder to automate. So productivity growth has leveled off, and is one of the reasons for stagnant wages (again, the exact opposite of the populist poppycock).
Restrictions on weaponization of AI simply means that the least ethical will get there first.
Also, past predictions that particular breakthroughs are "30 to 50 years away" have often been wildly inaccurate. "Experts" are often the worst predictors, since being in the trenches doesn't always help you see what is on the horizon.
Once AI is advanced enough to participate in its own improvement, that improvement can advance at an exponential rate. We may go from "not even close" to "too late to stop it" faster than we realize.
Seems that veganism isn't a natural lifestyle.
Of course not. The diets of all primitive societies contain meat (mostly from small animals), and eggs. But just because something isn't "natural" doesn't mean it isn't healthy. Smallpox vaccines and indoor plumbing are not "natural" either, but they have vastly extended human lifespans. There is a fair amount of evidence that veggie/vegan diets are healthier than meat rich diets. For people that do eat meat, there is evidence that meat from small animals and fish is healthier than meat from large mammals such as cows and pigs. For people that do eat beef and pork, there is evidence that it is better to eat it in moderation and avoid meat that is charred or smoked.
Disclaimer: I try to mostly stick to a vegetarian diet, but I am not a fanatic about it.
Or just don't use recursion
A non-recursive algorithm to walk a tree structure still requires memory space proportional to the maximum depth of the tree, and still requires more memory for an unbalanced tree. You may need less memory than a call stack, since you don't need to store the instruction pointer or stack index pointer (BP register on an x86), but that is only a linear improvement.
In the book "C Traps and Pitfalls", on page 146 of the index it says "recursion 88, 146".
The index also contains “pitfalls, see traps” and “traps, see pitfalls.”
There are languages that do not optimise tail-recursion, such as C .
All modern C compilers optimize tail-recursion.
computing the sum of the elements of a large array is efficiently done with a for-loop, whereas recursion would use excessive stack space.
Only a total idiot would use recursion to sum an array. There are many other tasks, such as searching a tree, where a recursive algorithm makes much more sense.
Anything that can be done iteratively, can be done recursively
Anything that can be built with a hammer can be built with a rock.
C will not do that
All modern C compilers will detect and optimize tail recursion. It is a very easy optimization to do, and is often a big win.
So as always, you should understand your language and your compiler.
Yes, you should.
I'd rather have very bad effects in my embedded code than small and subtle effects that can stay hidden for a long time, but still have the potential to screw up the application.
That is the point. If you implement a recursive function to walk a tree, it will work fine as long as the tree is somewhat balanced ... and if random data is inserted, a tree will almost always be balanced. Almost. But not always. So one day, the tree is not balanced, and your recursion overflows the stack, trashing the very call chain that you need to figure out what went wrong. That can be a subtle bug that is hard to track down.
There are several ways to avoid (or at least detect) this problem:
1. Count the depth, and increment each time you recurse.
2. Put a sentinel like "0xDEADBEAF" near the bottom of the stack space, and check it.
3. During development, use a much smaller stack than in deployment. If your deployment will have a 2K stack, then use 1K in development. This will expose a lot of fragile algorithms.
4. At each level of recursion, avoid storing unnecessary data in each stack frame. Instead, try to store data in static variables. For instance a depth counter does not need to be passed to a subfunction. It can be a static variable that is incremented when the subfunction is called, and decremented when it returns.
So instead of this:
void
foo(int depth)
{
foo(depth + 1);
}
Do this:
static int depth;
void foo()
{
++depth;
foo();
--depth;
}
What vegetables have the most vitamin B12 ?
Mushrooms. Cremini mushrooms are an especially good source. Tempeh (fermented soybeans) also has B12. Also, many vegan foods are supplemented with B12, such as bread and breakfast cereal.
There are no conclusive, unchallenged papers saying so.
Why the weasel words? In nutrition research NOTHING is conclusive and unchallenged.
In fact, very nearly the opposite: https://www.ncbi.nlm.nih.gov/p...
You are cherry-picking the report, and then cherry-picking quotes from the report. This report actually found that veggies live longer, but without enough data to be "conclusive". Many other studies have found a stronger correlation.
The USDA food pyramid has grains at the bottom (and widest) portion of the pyramid
No it doesn't. The pyramid with horizontal slices is obsolete, and was replaced with VERTICAL slices. Of course, vertical slices don't even fit the metaphor of a pyramid, and are thus meaningless, but THAT IS THE INTENT. The USDA was fed up with trying to please so many interest groups (farmers, food manufacturers, nutritionists, etc) that they just threw up their hands and went with something pointless, meaningless, and content free.
The vertical "pyramid" diagram has now been replaced with the MyPlate diagram, which is slightly less stupid.
Also, just in case anyone is wondering, PFAS means perfluorinated alkylated substances.
a non-recursive solution requires just as much space to keep track of what you're doing.
Nope. Recursion saves the instruction pointer on the stack, in addition to whatever other data is required. So a non-recursive equivalent will be slightly faster and use slightly less memory, at the cost of being slightly less understandable.
And it's true, people have gotten ruder over the years.
You have obviously never seen a USENET flamewar from 35 years ago. I have seen no evidence that people are any ruder today.
Consumer 64 bit CPUs have been around since the 2003 AMD Opteron
Linux runs on many many embedded systems that are 32 bit, including plenty of new devices. It is likely that these are even the majority of running Linux instances. This particular distro may only be interested in the 64-bit desktop/laptop/server market, but many other distros would be foolish to abandon the embedded market.
Who choosed that there are exactly five platonic solids in a 3D universe?
Plato.
Duh.
Are you saying he is incapable of understanding that?
No. I am saying that if, after 13 years of math education (K-12, he is a HS grad), he still doesn't understand a 2nd grade concept like the volume of a box, then he sure as heck is not going to contribute to the advancement of mathematics, by proving the Riemann Hypothesis, Goldbach's Conjecture, or anything else. Although it is politically incorrect to say so, the "tabula rasa" theory of human intelligence is baloney. Some people are just plain stupid. If you really think otherwise, then you should spend some time with someone with Williams Syndrome. While volunteering at a mental health clinic, I have met (and befriended) several. These are people that may initially seem normal, or even socially adept, but have an astonishing inability to reason quantitatively, much less understanding abstraction.
... cutting them off because ...
They are not being "cut off". They are just being downgraded to something that is still functional, but not as fancy.
There are no Giulio Tononi or Chiara Cirelli listed as professors on UoW's websites.
They are at the UofW School of Medicine, which is someone separate from UoW's academic campus. Here are their bios: Chiara Cirelli, Giulio Tononi.
Ah yes, prison rape joke.
Prison rape jokes are a GOOD THING. You should look at them as a sign of progress. Remember the old adage: First they ignore us, then they laugh at us, then they fight us, then we win. Jokes about prison rape mean we have moved from stage 1 (ignoring) to stage 2 (laughing). The brutality of our prison system is a horrific stain on our civilization, and the current rate of incarceration (America's rate is four times higher than either China or Russia) is appalling. Prison reform and sentencing reform are noble causes, and even the incremental progress of getting people to acknowledge the issues with humor is encouraging.
The ugliness of the real world in comparison to that mathematical beauty can unfortunately be a bit too much.
The profession with the highest suicide rate is farming.
The lowest are teachers and librarians.
Mathematicians are in the middle.
Farmers tend to be old, they often work alone, and one bad season can ruin them financially.
These are all aggravating factors for suicide.