To give an example, overfishing is an example of tragedy of the commons. It's in everyone's individual financial interest to overfish, but when everyone overfishes everyone is worse off.
It would be theoretically possible to divide fishing grounds into territories for each fishing boat, but the fish would not respect the boundaries. It would still be economically rational to overfish, since fish will be coming from neighboring territories.
It's in a business's interest to pollute because it's cheaper to not properly dispose of pollutants. Pollution travels across
boundaries. In the current case of carbon dioxide, any release of CO2 into the atmosphere affects everyone.
Hitler was fascist. He was ultra-nationalist, racist, and a lot of other things, but he wasn't socialist. If you believe any of his propaganda, you're a fool. If you look at how the German economy functioned under Hitler, it was distinctly capitalist. Mass murder is clearly not a socialist characteristic. Look how many Chinese and others died in WWII, and not even the people who think Hitler was socialist are stupid enough to think wartime Japan was.
Since government has done a tremendous amount of good things through history, it's obvious that you're determined to reject facts in favor of your ideology.
(Yeah, government has done a tremendous amount of bad things, too.)
The Socialists and the Nazis were at odds. The Nazis began as the National Socialist German Worker's Party in the 20s, and did in fact have nationalist and socialist wings until the socialist wing was removed with extreme prejudice in the 1930s. This didn't stop the Socialism from staying part of the propaganda (there's stuff in Mein Kampf about never changing the propaganda even if the core beliefs change - a way of keeping on message to the masses).
If National Socialism had been socialist, it would not have had the support from the big industrialists it got (Goering was the Nazi most dealing with them). The big industrialists would have been removed from power if it had been socialist. Industry would not have been business as normal.
For most of the war, Germany was less socialist than the US was during the war with the War Production Board. The WPB would assign certain companies to license-build aircraft from another manufacturer, without needing approval from the license holder, to give one example. This didn't happen in the Third Reich.
North Korea is certainly a military threat to the United States and it's allies.
It's certainly a threat to South Korea. I'm not at all sure about Japan, and it's not a threat to the US. Not even a Kim is dumb enough to start throwing nukes, because it would result in the annihilation of the North Korean government one way or another.
IMO the scariest scenario is NK allying with an adversary of the US and it's allies and giving them a small nuclear weapon to smuggle out and cause mayhem without carrying such a weapon on top of a missile.
We haven't had that issue with Pakistan, and the Pakistanis are not friends of ours.
No matter what, this problem cannot be ignored.
Why not? They're not going to do anything too suicidal.
I mean, I agree but hasn't that been tried the last few number of decades with limited to no success? At some point it is a failed policy.
We haven't had a war with North Korea while following a peaceful policy. We haven't constructively engaged with them, but that's not going to happen any time soon under any footing. I call not having a war a success.
Try Rocket Ship Galileo, 1947. That book was largely about the nuclear rocket, instead of using it as part of the plot. Heinlein did get the reaction mass wrong, planning to use the heaviest feasible atoms rather than the lightest.
"Language wonks", as you term them, spend a lot of time studying how programming languages are actually used and how they can be improved. They aren't always right, but don't dismiss them out of hand.
The job of a computer language is not usually to be a better assembler. It serves as the bridge between programmer and computer, and needs to be understood by the programmer as well as the compiler. We can express problems in quite a few ways now and still have quick compilation to efficient code.
The assembler languages I've used don't have functions. They're constructs in the language. The ones I've used most heavily, which are rather old, don't necessarily have floating-point arithmetic. A for() loop is another construct. Even C is abstracted from the machine.
Lambdas are functions, yes, but they;'re functions that can be written where they're used, and can therefore be clearer and easier to read.
There are no obscure undefined behaviours, only well documented ones.
Overflow in signed arithmetic? Comparison of pointers not to the same object? I'm doubtless missing others, but it's really easy to invoke undefined behavior. Some compilers don't do anything common-sense with undefined behavior, but assume that there is none and optimize on that basis. Declare a variable and initialize it in only one branch of an if-else statement, and the compiler is free to optimize out the if statement and the branch without the initialization.
Reports are that Duff considered Duff's Device to be a strong argument regarding case statement fallthrough, only he couldn't decide whether the argument was for it or against it. It's one of those magnificent hacks that both amazes and horrifies you.
I once saw a book on carpentry that was sufficiently old that it predated widespread use of electric drills, so the brace-and-bit was listed as an essential tool. In real life, I haven't seen a brace-and-bit since I was young, back in the middle Cretaceous. Nowadays, the variable-speed cordless drill has removed a lot of uses from the screwdriver. Carpentry tools do improve.
Some languages make things clumsier than others. For example, if you want all array references checked in C, you need to write the checks. In C++, use a vector and either use.at() instead of [] or derive your own and swap.at() and operator[](). You're a lot more likely to get the C++ version right, and keep it right through maintenance.
RAII memory management is not really manual. Manual memory management includes deciding where to write "free()". RAII means not writing "free()" or "delete", but deciding the lifetime based on the sort of smart pointer used.
It's generally not as good for memory as generational garbage collection and the like, but it's usable for all kinds of resources. C#, for example, is generally better for handling memory, and not as good for handling database connections or file handles and the like.
Is there a phrase I should use other than "social construct" to mean a distinction imposed by society for no clear reason? I'd rather not cause unnecessary confusion.
You tried to counter it with saying there are cases that are clearly on one side or another, but since this is not such a case
Proof by blatant assertion.
I jumped into this thread just like you did, except that I didn't claim that, since larger sizes might have an ethical issue, this has an ethical issue. That is a slippery-slope argument, and needs support you didn't give.
Do the devices with removable batteries do the same things an iPhone does? Are they the same size? How do wear cycles compare?
On a common-sense basis, a larger battery is a better battery. Other things being equal, battery size enlarges the phone and makes it heavier, so it's a tradeoff.
And you've just removing the possibility of voting for immobile people. No system is perfect.
I agree that absentee ballots are trickier than in-person ballots, but there will be people who can vote in no other way.
Allowing party representatives to challenge the process at any time is vital to preserving trustworthiness. What's the use of an observer who can just watch fraud going on and can't interfere with it?
I've been in software for something like forty-seven years now, in various capacities. You don't seem to be experienced enough to have learned humility yet. Until you accept that the software you are writing almost certainly has bugs, please don't tell your elders what they should think.
You appear to have a lot more faith in that than most people. Those of us who are actually in the software field have a pretty good idea of things that could possibly go wrong, and we're not nearly as confident that we know all of them.
I don't think that a somehow knowledgeable person (+ with intention of bringing that knowledge into picture, rather than having an almost fanatical behaviour whose goal is to prove whatever has to be proven) could seriously think that electronic records are even slightly unsafe in a generic way.
Digital records are fine in themselves, but they can frequently be altered untraceably. There are various ways to secure them better. Simple hardening of the system holding the records is useful. Other things that are useful are matching records. (For example, a record of each transaction affecting my checking account is good for assuring that my balance is what it should be.) Backups are useful, since it's more difficult to change a current result and the backups can reveal tampering.
What's really good here is large piles of paper ballots, counted by machine. Given proper physical security, which is a well understood field, they're hard to tamper with.
To give an example, overfishing is an example of tragedy of the commons. It's in everyone's individual financial interest to overfish, but when everyone overfishes everyone is worse off.
It would be theoretically possible to divide fishing grounds into territories for each fishing boat, but the fish would not respect the boundaries. It would still be economically rational to overfish, since fish will be coming from neighboring territories.
It's in a business's interest to pollute because it's cheaper to not properly dispose of pollutants. Pollution travels across boundaries. In the current case of carbon dioxide, any release of CO2 into the atmosphere affects everyone.
Hitler was fascist. He was ultra-nationalist, racist, and a lot of other things, but he wasn't socialist. If you believe any of his propaganda, you're a fool. If you look at how the German economy functioned under Hitler, it was distinctly capitalist. Mass murder is clearly not a socialist characteristic. Look how many Chinese and others died in WWII, and not even the people who think Hitler was socialist are stupid enough to think wartime Japan was.
Since government has done a tremendous amount of good things through history, it's obvious that you're determined to reject facts in favor of your ideology.
(Yeah, government has done a tremendous amount of bad things, too.)
Study some real history.
The Socialists and the Nazis were at odds. The Nazis began as the National Socialist German Worker's Party in the 20s, and did in fact have nationalist and socialist wings until the socialist wing was removed with extreme prejudice in the 1930s. This didn't stop the Socialism from staying part of the propaganda (there's stuff in Mein Kampf about never changing the propaganda even if the core beliefs change - a way of keeping on message to the masses).
If National Socialism had been socialist, it would not have had the support from the big industrialists it got (Goering was the Nazi most dealing with them). The big industrialists would have been removed from power if it had been socialist. Industry would not have been business as normal.
For most of the war, Germany was less socialist than the US was during the war with the War Production Board. The WPB would assign certain companies to license-build aircraft from another manufacturer, without needing approval from the license holder, to give one example. This didn't happen in the Third Reich.
"Thor: Ragnarok" does suggest catastrophic changes to anyone halfway familiar with the mythology.
In at least some cases, people go places despite losing the ability to vote. There's real uses for voting in advance.
Couple the ability to vote in advance at appropriate locations, and the mobile voting booths you mention, and vote by mail isn't necessary.
Sure, legally we're at war. Who cares about legalities nowadays? Certainly not the US (and that's not a new thing either).
People outside North Korea haven't been killed in any significant numbers by North Koreans since the armistice. I'm calling that a success.
It's certainly a threat to South Korea. I'm not at all sure about Japan, and it's not a threat to the US. Not even a Kim is dumb enough to start throwing nukes, because it would result in the annihilation of the North Korean government one way or another.
We haven't had that issue with Pakistan, and the Pakistanis are not friends of ours.
Why not? They're not going to do anything too suicidal.
We haven't had a war with North Korea while following a peaceful policy. We haven't constructively engaged with them, but that's not going to happen any time soon under any footing. I call not having a war a success.
Try Rocket Ship Galileo, 1947. That book was largely about the nuclear rocket, instead of using it as part of the plot. Heinlein did get the reaction mass wrong, planning to use the heaviest feasible atoms rather than the lightest.
Wasn't there a "J" language which was based on APL?
"Language wonks", as you term them, spend a lot of time studying how programming languages are actually used and how they can be improved. They aren't always right, but don't dismiss them out of hand.
The job of a computer language is not usually to be a better assembler. It serves as the bridge between programmer and computer, and needs to be understood by the programmer as well as the compiler. We can express problems in quite a few ways now and still have quick compilation to efficient code.
The assembler languages I've used don't have functions. They're constructs in the language. The ones I've used most heavily, which are rather old, don't necessarily have floating-point arithmetic. A for() loop is another construct. Even C is abstracted from the machine.
Lambdas are functions, yes, but they;'re functions that can be written where they're used, and can therefore be clearer and easier to read.
Overflow in signed arithmetic? Comparison of pointers not to the same object? I'm doubtless missing others, but it's really easy to invoke undefined behavior. Some compilers don't do anything common-sense with undefined behavior, but assume that there is none and optimize on that basis. Declare a variable and initialize it in only one branch of an if-else statement, and the compiler is free to optimize out the if statement and the branch without the initialization.
strncpy() is NOT a length-safe version of strcpy(). I consider that a very real problem with the C standard library.
Your blog entry there is rather short, and doesn't explain why C++ shouldn't be used. Many of the C security issues are trivially fixed with C++.
Reports are that Duff considered Duff's Device to be a strong argument regarding case statement fallthrough, only he couldn't decide whether the argument was for it or against it. It's one of those magnificent hacks that both amazes and horrifies you.
I once saw a book on carpentry that was sufficiently old that it predated widespread use of electric drills, so the brace-and-bit was listed as an essential tool. In real life, I haven't seen a brace-and-bit since I was young, back in the middle Cretaceous. Nowadays, the variable-speed cordless drill has removed a lot of uses from the screwdriver. Carpentry tools do improve.
Some languages make things clumsier than others. For example, if you want all array references checked in C, you need to write the checks. In C++, use a vector and either use .at() instead of [] or derive your own and swap .at() and operator[](). You're a lot more likely to get the C++ version right, and keep it right through maintenance.
RAII memory management is not really manual. Manual memory management includes deciding where to write "free()". RAII means not writing "free()" or "delete", but deciding the lifetime based on the sort of smart pointer used.
It's generally not as good for memory as generational garbage collection and the like, but it's usable for all kinds of resources. C#, for example, is generally better for handling memory, and not as good for handling database connections or file handles and the like.
There are efficient Lisp compilers out there that will produce fast code.
No problem.
Is there a phrase I should use other than "social construct" to mean a distinction imposed by society for no clear reason? I'd rather not cause unnecessary confusion.
Proof by blatant assertion.
I jumped into this thread just like you did, except that I didn't claim that, since larger sizes might have an ethical issue, this has an ethical issue. That is a slippery-slope argument, and needs support you didn't give.
Do the devices with removable batteries do the same things an iPhone does? Are they the same size? How do wear cycles compare?
On a common-sense basis, a larger battery is a better battery. Other things being equal, battery size enlarges the phone and makes it heavier, so it's a tradeoff.
And you've just removing the possibility of voting for immobile people. No system is perfect.
I agree that absentee ballots are trickier than in-person ballots, but there will be people who can vote in no other way.
Allowing party representatives to challenge the process at any time is vital to preserving trustworthiness. What's the use of an observer who can just watch fraud going on and can't interfere with it?
I've been in software for something like forty-seven years now, in various capacities. You don't seem to be experienced enough to have learned humility yet. Until you accept that the software you are writing almost certainly has bugs, please don't tell your elders what they should think.
You appear to have a lot more faith in that than most people. Those of us who are actually in the software field have a pretty good idea of things that could possibly go wrong, and we're not nearly as confident that we know all of them.
Digital records are fine in themselves, but they can frequently be altered untraceably. There are various ways to secure them better. Simple hardening of the system holding the records is useful. Other things that are useful are matching records. (For example, a record of each transaction affecting my checking account is good for assuring that my balance is what it should be.) Backups are useful, since it's more difficult to change a current result and the backups can reveal tampering.
What's really good here is large piles of paper ballots, counted by machine. Given proper physical security, which is a well understood field, they're hard to tamper with.