It worked, just was undermined at some extent by taking shortcuts and cheating.
Those are inherent problems with any competition, and they are unrelated to the fact that some forms of competition are counterproductive to begin with.
They can speak alright, but I don't have to listen to them and I choose not to.
You can refuse to watch. No one defend the consumer's right to get a partial message -- content without commercials.
The nature of mass media is that the listener has to go out of his way, and possibly violate copyright (or pseudo-copyright established by "copyright protection" laws) to get access to the version of "speech" that he prefers. Consumer has to rely on someone else censoring what was supposed to be an indivisible stream of content and commercials coming from TV network.
They are not entitled to having their message distributed by Dish Network and they are not entitled to having their message listened to by me.
However consumer should not be given a choice to either listen to content along with irritating, brainwashing gibberish, or have no access to content at all. Therefore I support consumer's right to get a censored (commercial-free) version of content as long as consumer is willing to pay for it, and for this purpose, free speech protection of the TV network has to be limited.
military institutions have been using badges as a motivator for, oh, about >1000 years, now.
Military at the time of war is an extremely dangerous co-operative environment on every level of its hierarchy. Harmless competition works when added on top of it. Modern workplace is usually a safe environment with both co-operation and competition already in place.
Competition in games works because competition is added to something that would be less interesting without competition. Same about classroom -- students don't perceive their achievement as significant or a part of some greater picture, public display (not necessarily competitive one) affirms the significance.
At workplace, environment usually is already competitive. Worse yet, the most "important" competition's results, salaries, are never disclosed, what already causes some uncertainty in the minds of employees (do people who clearly do worse job, actually earn more than me because they were hired this year?) Adding another "competition" seems like company trying to avoid raising salary for its best employees instead opting for cheap "badges". It sends a message -- yes, we have meritocracy here, we give worthless things to people who contributed the most, however don't expect us to actually return your loyalty with anything of value, we have salaries and bonuses determined by haggling, nepotism, management hierarchies, and $deity knows what.
There is also another aspect to this -- a person who underperforming in a "game" would live in fear that he is going to be fired, even if his work is entirely adequate for the company's purposes.
It's also an interesting detail that it was very common in USSR to have competition in a workplace, however first and foremost, it was based on originally non-competitive environment (no unemployment or "working poor", narrow ranges of salaries), and created "bigger picture" not unlikely one in the classroom. Second, competition was mostly between groups, not just individuals. "You suck because your construction project goes two times slower than neighbor's" hurts someone's sense of pride for his work and ability, especially when it is known that all other conditions, results and consequences are supposed to be more or less the same for his and neighbor's group. I have a strong suspicion that this is what is being imitated here. Nope. Doesn't work under Capitalism. You can't enroll the same people in three competitions at once -- one for money, one for not being thrown out, one for shiny stickers.
The part that advertisers are prevented from distributing their speech to some potential listeners despite advertisers clearly intending to do so and even paying for it.
The part where consumers get to opt-in to a service to skip ads, continue watching TV with ads as they have before, or continue to DVR it and make up their own minds then? Or the part where the owner of the content wants to sell advertising inserted with the product and not have a reseller editing the final item without their say-so?
Free speech is about the rights of the speaker, not listener. Consumer protection is about the rights of the listener, and thanks to the First Amendment, the former always trumps the latter in US (until "speech" reaches the point of being obscenity, a part of criminal activity, or by itself causes direct harm such as very loud noise, as those things aren't tolerated, Constitution or no Constitution).
As a long-time advocate of censorship in mass-distribution media, I have to remind everyone that this is also a form of censorship.
I believe, it would be great if government ensured availability of media in such ad-stripped form, and provided a way to compensate the providers with subscription fees even if those providers refuse to implement such service on their own, or do not like the fees that users are willing to pay.
Most people use them to verify that very rule that you're talking about.
If rule can be expressed, it's possible to create code that always follows it. It may be possible to create code that verifies it (and therefore can be used for testing), but it's always more difficult and often plain impossible (ex: halting problem).
Testing is not some random code that people throw together. It can be just as carefully written and as planned, if not more, than the actual software being tested.
And then the result is still inferior to software being written right to begin with. However more likely tests are buggy, too, even if for some insane reason they are less buggy than software being tested. Tests only help to improve quality if they are written by a programmer far superior to the programmers who write software. This is why it works with teaching students. In all other situations they are merely an unreliable way to reduce the number of massive mistakes. Useful in the same way a guardrail is useful on a straight road -- its presence reassures the drivers that there is something at the edge of the road, and once in a blue moon someone will slam in it and won't die instantly in a ditch, but overall effect on the number and severity of incidents is negligible.
The development of tests can be done with multiple smart people.
And it would be more productive to just let those people write software.
They can divide up the program however they want and implement tests for it. This is impossible with formal proof.
Of course, it's possible! Software should be modular, with interface specifications defined for each module. Then all formal proofs or informal checks have to be done separately for each module, and for interaction model itself. Like with my example with the solution to a problem with debugging logs, once it is defined that a single interface must be used for all debugging logging, it's trivial just by looking at the code to determine that:
1. Debugging logging is never activated by default in production version. 2. All debugging information is logged through debugging logging interface.
So one implementation and one code review gives you very high certainty that all misbehavior related to debugging logs (information disclosure, performance drop, runaway use of space, use of log files as a part of privilege escalation or denial of service, etc.) will not happen on a production system in default configuration. Without this, you can test code until you are blue in the face, and billions of possible instances of debugging output will slip through your tests because they would be still indistinguishable from all other I/O.
When software is designed as a giant blob of spaghetti code, the problem is not with insufficient testing.
Without a several iterations you will be unable to even divide up the code the be formally analyzed in parallel.
If it is not already divided, it's designed poorly to begin with.
Tests will always be a faster and commercially more superior solution.
A solution to create false impression of correctness -- yes.
Then that means those people sucks at writing tests.
Just like in a well-known Kernighan's quote about debugging being twice as hard as writing code, so is writing tests (though I don't think, it's merely "twice", it varies with expected coverage). So everyone sucks at writing tests, and this is why a superior programmer can "rescue" an inferior one by providing tests. However this is like trying to use monkeys for building roads -- can work with enough effort applied by humans directing them, but it's easier to just let humans build those roads in the first place.
No, I'm under the impression that you mean exactly what you've said - that the government and society that produced it here in the United States is an abhorrent thing to you, and that you far prefer your homeland of Russia.
No, I would *prefer* if USSR wasn't destroyed in the first place.
And despite that, you left your beloved homeland when it was in the depths of an economic crisis - when you could have put your vast intellect and considerable skills to work bettering your homeland and helping your fellow Russians improve their economy, instead of letting it devolve into a second-world also-ran economic power under the control of strongmen and thugs - in order to come make a quick buck in the US. By this, we may conclude that you are a hypocrite, and a whore, who sells out his beliefs for a few bucks, and then proclaims his superiority to the people around him, measured by the sole fact that he comes from somewhere else, as if that will magically transform his hypocritical opinions into immutable facts of reality.
The crisis in Russia was not caused by problems in its economy, it was caused by people willingly destroying the economy for their own profit, or out of misguided belief that such destruction is "good for the country" and leads to a Libertarian paradise. I was neither necessary there, nor my work would end up producing any positive result -- at best, it would feed the thieves and oppressors. This situation continued at least until the end of Yeltsin's rule in 1999. Until then, my presence there would be absolutely pointless no matter what I did. Economic policy of the government infected with Libertarian ideology, and corrupt on top of that, had to be allowed to fail on its own, and it did in a default of 1998 and subsequent changes of both people and policies at the top. Until then, nothing I could do, save for outright sabotage, would produce any kind of lasting improvement.
From that point, I guess, I would not be as useless there, however it is yet to be seen what will help Russians more -- my contribution to Russian economy if I was there, or general improvement of technology that happens because I am here. I work on open source projects, so benefits from results of my work are not limited to my employer and its customers.
On the other hand, me moving back would be a procedure about as long and painful as moving to US -- with all that productivity being lost, it's unlikely to do any good for anyone. Maybe in the future the situation will be different, but at this point I do not believe that my choices made anything worse.
Right, and the USA, and its government, and its people, provided you with a PLACE and an OPPORTUNITY to do productive and interesting work, make a positive impact on society, advance your knowledge, and improve yourself. Opportunities you just admitted were not available to you in your former homeland.
First, "opportunity" is nothing to be thankful for. Lottery and gambling provide opportunities, too. Even organized crime and war "provide opportunity" -- some people get quite rich on those things. The truth is, "opportunity" is worthless if everyone who has it, can't exercise it at the same time.
Second, my ability to find decent work in US, is based on education obtained in USSR. If born in US, I would have no access to anything comparable, so US would deprive me of ability to use its "opportunities" if I was not born in USSR. It was an enormous amount of dumb luck that I wasn't born here.
As for the services and infrastructure provided by US government and people, for most of my life in US I paid taxes at the highest rate that exists here. As far as government is concerned, I certainly pay for more than I use. I consider it perfectly acceptable, I just wish that people who use more and produce less (or nothing), were not allowed to shirk their responsibilities.
Usually, when somebody gives us something we value, especi
Oh, please. This is the same as "Laffer curve" fallacy -- it describes something theoretically possible, but the numbers necessary for things claimed, are nowhere close to what happened in reality.
I don't understand your contention that this argument (military production is a loss, not a profit) makes no sense. I could understand a complaint that the exact economic cost of military production in the Soviet system is much lower than generally accepted. But as you provide no figures, you don't seem to be making that argument.
Figures? When USSR military budget was disclosed (for most of the time up to 3% of GDP when counted in USSR prices, 6% if USSR government paid US prices due to incompatible price structure), all US "comments" were along the lines "but it must be higher!", just to support this idiocy. In more realistic terms (so neither US nor USSR accounting and pricing quirks are relevant), it's a matter of people and raw materials that are involved in military industry, and as I have explained multiple times, similarly small fraction of people and materials were involved.
Last I checked, military production requires at the very least a lot of energy, a lot of metals, a lot of infrastructure, and a lot of person-hours, all of which have to be diverted from civilian production - they can't simply be magiced out of thin air.
Military industry would have to move a large fraction of population into "closed cities" where they had their facilities, and roads should be covered by a layer of BTRs (that other cars would have to drive over as if it was a new form of pavement), for this to have any impact.
This clearly was the case, since the people in the Soviet Union were (in)famously short of pretty much of everything. And while the Soviet civilian sector failed to deliver,
Says who? Shortages ended in 50's (when the whole densely populated Western part of USSR was rebuilt after WWII). People love to complain about lack of luxury items, but that's not a "shortage". On the other hand, poverty was completely unheard of, along with homelessness and illiteracy. With return of Capitalism in 90's, things went to Hell, and even now, after recovery, those problems that were completely eliminated in USSR, are present again.
the military sector delivered the Tsar Bomba [wikipedia.org] and a pretty nice space program.
Do you realize, just how cheap it is to develop and build those things, if no one takes profits? How many people were involved in the whole project? What were they paid? Say, what was the salary of Sakharov or Khariton? What amount of steel, copper, uranium, etc. was consumed by the project and how it compares with any civilian projects that uses similar materials (say, one many nuclear power plants that operated at the same time)? In US, it would have to feed shareholders and overblown management pyramids of thousands of little hungry companies, and a couple of huge and even more hungry companies, each of them eating more than entire USSR Academy of Sciencies system with all its research labs. That's on top of US government-operates research labs that would be still in the picture for such a project.
So basically you want people to improve the quality of their code base, without actually giving them any concrete and practical way to measure the quality?
Yes! I want people to avoid writing bugs regardless of those bugs being detectable by tests. I want people who can think of any kind of rule that applies to software, to implement and enforce that rule in their software so it will be logically impossible to violate it, instead of devising a tripwire for any piece of software that visibly violates it.
Also why, are you ranting?
Because this line of thinking reveals one of the most poisonous traditions in modern software development -- writing something that "looks right", and only starting to think when something visibly fails in a spectacular way.
No-one in this thread has claimed that tests are some kind of silver bullet. They are an important indicator - as objective as humanly possible - within reasonable constraints of day-to-day software development
No, they are not. They are arbitrary checks for randomly selected egregious mistakes. Passing tests lulls developers into thinking that their software works correctly when it really does not.
(we are not talking about NASA level quality and formal proofs and all that crap)
Why not? For tests to be meaningful, the difficulty of writing them well exceeds the difficulty of writing formally-proven software. Step down from there, and sufficiently careful logical thinking (a step down from formal proof) will always beat an informal test (a step down from complete test) made with the same level of effort.
that can be useful in enforcing that software is designed & implemented to be robust, and relatively bug-free.
Practice shows that they do not improve quality, they teach people to write software that passes tests, and not think about the whole range of possible situations it has to deal with.
Good programmer writes software that not only behaves properly in all known corner cases, it works properly in those corner cases that he can't imagine. After some level (that is supposed to be long passed at the time of graduation from university), all trivial ways of improving quality already reached their limit and became irrelevant. Tests are among those methods. All further improvement can be only achieved by becoming an aforementioned good programmer, and tests don't in any way help with this. Just the opposite, writing code as if it will never be tested and there is no way to test it, is the only way to keep yourself from avoiding mistakes (even if the code is tested after that).
Also you are wrong that tests cannot guarantee anything. When a human guarantees something to another human it is assumed to not be some kind of absolute statement. This *is* the common use (legal and general) of the term. Because otherwise you need some kind of perfect god like being which can evaluate products/services.
So the purpose of tests is to create an impression of "proof" to people who don't know any better?
There is nothing wrong with testing products in QA, alpha testersm beta testers, etc. -- they just might find something by pure luck or pure stupidity of the programmers. There is nothing wrong with programmers writing mini-tests to check if they are completely off-base in their thinking. However those things have nothing to do with improvement of development process. They are helpful because they often catch brain farts, but they guarantee nothing. The better are programmers, the least helpful are tests, and long before programmers become perfect, tests become worthless. If a company can benefit from including mandatory tests into development process, it means that it's full of incompetent programmers, who should not be there in the first place. Same applies to marathon runners and crutches, and many, many other things that "assist" in a way that only works when something deeper is terribly, terribly wrong.
You are under impression that all people ever do is try to obtain massive amounts of money by fleecing others, so my presence in a country provided me with some kind of hunting ground that I am supposed to be grateful for.
It may come as a massive revelation for you and other American patriots, but some people, myself included, see productive and interesting work, positive impact on society, advancement of knowledge and self-improvement as important goals in their lives. Those people's choices of places to live, organizations to work for, books to read, etc. are determined by those goals, and as far as I know, my choices serve those goals very well.
People who subscribe to American ideology, see accumulation of money and power as the only possible goals, and for the purpose of achieving those goals honest productive work is nearly worthless. Assuming that someone have those goals, indeed, his presence in some country -- any country -- is a terrible burden on everyone around him, and indeed such person has to be scorned for arriving anywhere. Or for being born anywhere to begin with, if one wants to be consistent. You seem to have a belief that either myself, or everyone in the world, is in this category, however for some reason you find it acceptable to feed your local predators, it's the foreigners that you see as undeserving of a chunk of your flesh.
This means that you are not only a faithful servant of people who prey on your society, but also a xenophobe on top of that. This earns you hatred of every honest and sane person in the world, and invalidates anything you say about morality and ethics.
And as I've mentioned many times, money is just a proxy for resources.
And I have demonstrated that USSR did not run out of resources because vast majority of them were in civilian production.
The steel that goes into a tank can't be used for a submarine - or refrigerators.
If there was something USSR had in vast abundance, it's steel. Or any locally produced material.
The guy that's making steel isn't harvesting grain, and so on.
Please don't tell me that USSR had shortage of people.
What is really an expensive resource in US, is a guy who makes nothing but takes profit out of the system, and a guy who takes nothing but acts as a middleman in a process where middlemen do nothing but clog up the system. The first consume most of the spending on "military", the second do the same for healthcare. Government can't feed both, so military-industrial complex is fed by taxes, health insurance companies have to prey on the population directly.
How do you come to the conclusion that someone arguing against military spending is engaged in a Republican propaganda campaign?
People who argue against Republican policies are still vulnerable to Republican propaganda talking points.
There's also no difference being the USSR paying itself for military production and the USA paying companies. In both cases finite resources of economic production are being allocated to the military. The US government just borrows (with no intention of paying back) the money to pay those companies anyway - since it can print money for free it's not like that transfer of money means anything.
As I explained, "resources" that are allocated "to the military" are mostly spending of financial goodwill (issuing money backed by nothing) to feed profits of military-industrial complex (what has absolutely nothing to do with miniscule amount of all limited resources consumed as a part of military production). US is unique in having such a system. USSR was unique in having the very opposite of it because of the lack of profit involved.
My understanding of the situation was that too much of the production capacity was devoted to the production of arms and other heavy industry, so that it could not be used to produce consumer goods.
It's a myth. As I explained elsewhere in this thread, for this to be true, USSR would have to run out of people working for civilian industry, as all other resources had to be consistent with people involved in production. Another possibility would be massive unemployment (if civilian industry did not have capacity to employ those people and government for some insane reason refused to build more with those available workers). Neither was the case in reality.
There was often a mismatch between infrastructure/materials processing/machinery and consumer goods production, but it was always toward infrastructure, so correcting it was a trivial exercise of using flexibility provided by overbuilt infrastructure/heavy industry. Things like that can make people grumble but don't destroy countries.
the 'mythology' of non violence has made literally millions(in just the west, the significant liberalization of both China and India are about to make that number billions) of lives safe from scarcity.
That's great! Now can you and other great Libertarian thinkers postpone your campaigns until China adopts your idea and proves them to be valid once and for all?
I disagree with a recommendation to add more tests to improve quality.
Thats like saying programming is the process of introducing bugs in the codebase.
No, but "introducing bugs in the codebase, running tests and watching if they cancel each other out" is a very much appropriate description of software development process as practiced by incompetent people. I call it perma-debugging cycle.
Only after you write tests can you claim any such quality of code base.
Tests do not prove anything other than two programs, test and program being tested, producing compatible results. They can just as well be both wrong, and usually test is formally wrong due to the limited scope and implicit assumptions made by a programmer who wrote it.
However a more important question is, do you want to be able to claim something, or actually make it closer to reality? If the former, go ahead, and do all kinds of measurements, tests, up to daily drug tests for programmers. This is a kind of solution we have with airports and TSA now. If you want to have less bugs, make it difficult to write a bug. Build infrastructure. Have infrastructure enforce global rules (such as when debugging logging is available) so programmer who uses it doesn't have to do it every time he implements anything. Re-use code that can be reasonably expected to be correct. Have code reviews.
Once that is done, there may be some talk about any kind of tests outside QA and developer's own initiatives. Maybe.
If quality does not come from testing then it does not exist other than in a programmers subjective opinions.
Of course, it is subjective. You want an objective evaluation of quality? Here it is: all software is wrong. For every piece of software at any point in time there is (known or unknown) valid condition that causes this software to misbehave. This will change when the last bugfix will be committed to some project, and so far no one, ever, made a claim that such an event happened.
But tests???
Tests are the most subjective thing that one can imagine to evaluate software quality. They are written by people who believe that software must pass some rules to be correct. You know what else is an expression of rules that produce software output? Software itself! Write the same program twice, run on all possible inputs (including all timing conditions as they are input, too), verify that result is always equivalent from some objectively defined point of view (again, timing, protocols, interactions with other software and hardware). That would be the only test that guarantees anything at all (+/- bugs in equivalence verification, +/- bugs in test infrastructure, +/- common bugs in both implementations). Anyone willing to implement that as his testing procedure? No? Takes nearly infinite time? Then everyone is welcome to shut the fuck up about tests being "objective" or "guaranteeing" anything.
It still constitutes an effort and resources that weren't spent on other things.
As I explained before, they were now. In US, government has a resource "ability to print money and give them to a bunch of rich guys without tanking the value of dollar". If it printed money (well, "loaned" them) and given them to military companies to pay for their profits, it can't print more to give them to medical insurance companies for their profits, and to textbook companies for their profits -- there would be so many dollars around, they would become unusable for international oil trade. So US can have either huge military or working healthcare and education.
In USSR everything was much simpler. Pay people salary that matches available amounts of consumer goods plus food, electricity and other living expenses for a given population. There is no "investment", so salaries will be spent on that, no point making them either higher or lower. Set mandatory standards for education, so people will be able to perform complex kinds of work, and would be bored out of their mind if they didn't have anything to do. Now, those people are your resource -- the only one that you have any chance to overuse unless you are dumb enough to run out of natural resources. Balance various kinds of industry and agriculture, and you have a stable society. That's what GOSPLAN was for -- with mathematicians working on optimization and stability.
So yes, it would be possible for military to drain resources out of the rest of the system -- it would happen if country ran out of people for everything else. Everyone would have to live in remote, isolated military industry towns, where all such production happened, and the rest of the country would be empty. Wind would blow tumbleweed across streets of Moscow and Leningrad. Do any of you realize how stupid that is?
There were thousands of ways to mess up USSR economy. They could miscalculate the amount of cash and mismatch it with products. They could over-emphasize infrastructure and have it unused because expansion of consumer goods production didn't keep up with it. They could over-emphasize consumer goods and overtax the infrastructure. They could underdevelop transportation and lose flexibility, thus having industry tied to established locations and require enormous effort to make any changes. They could piss off intelligentsia, lose the quality of education, and lag in industrial R&D. Many, many other things couls hurt USSR-style economy. But the idea that excessive military production did, or even could, produce enough harm to damage the economy is completely retarded. It's invention of Reagan-era US propaganda, and just like the rest of Reagan-era US propaganda, it makes no sense.
They work if the original environment is "too" co-operative, and a person may lose a reference point for how the effect of his work changes anything.
They don't work when original environment was competitive, or co-operation was insufficient to begin with.
See my comment above for description of this very thing (and why it is not applicable to workplace under Capitslism).
It worked, just was undermined at some extent by taking shortcuts and cheating.
Those are inherent problems with any competition, and they are unrelated to the fact that some forms of competition are counterproductive to begin with.
They can speak alright, but I don't have to listen to them and I choose not to.
You can refuse to watch. No one defend the consumer's right to get a partial message -- content without commercials.
The nature of mass media is that the listener has to go out of his way, and possibly violate copyright (or pseudo-copyright established by "copyright protection" laws) to get access to the version of "speech" that he prefers. Consumer has to rely on someone else censoring what was supposed to be an indivisible stream of content and commercials coming from TV network.
They are not entitled to having their message distributed by Dish Network and they are not entitled to having their message listened to by me.
However consumer should not be given a choice to either listen to content along with irritating, brainwashing gibberish, or have no access to content at all. Therefore I support consumer's right to get a censored (commercial-free) version of content as long as consumer is willing to pay for it, and for this purpose, free speech protection of the TV network has to be limited.
military institutions have been using badges as a motivator for, oh, about >1000 years, now.
Military at the time of war is an extremely dangerous co-operative environment on every level of its hierarchy. Harmless competition works when added on top of it. Modern workplace is usually a safe environment with both co-operation and competition already in place.
Competition in games works because competition is added to something that would be less interesting without competition. Same about classroom -- students don't perceive their achievement as significant or a part of some greater picture, public display (not necessarily competitive one) affirms the significance.
At workplace, environment usually is already competitive. Worse yet, the most "important" competition's results, salaries, are never disclosed, what already causes some uncertainty in the minds of employees (do people who clearly do worse job, actually earn more than me because they were hired this year?) Adding another "competition" seems like company trying to avoid raising salary for its best employees instead opting for cheap "badges". It sends a message -- yes, we have meritocracy here, we give worthless things to people who contributed the most, however don't expect us to actually return your loyalty with anything of value, we have salaries and bonuses determined by haggling, nepotism, management hierarchies, and $deity knows what.
There is also another aspect to this -- a person who underperforming in a "game" would live in fear that he is going to be fired, even if his work is entirely adequate for the company's purposes.
It's also an interesting detail that it was very common in USSR to have competition in a workplace, however first and foremost, it was based on originally non-competitive environment (no unemployment or "working poor", narrow ranges of salaries), and created "bigger picture" not unlikely one in the classroom. Second, competition was mostly between groups, not just individuals. "You suck because your construction project goes two times slower than neighbor's" hurts someone's sense of pride for his work and ability, especially when it is known that all other conditions, results and consequences are supposed to be more or less the same for his and neighbor's group. I have a strong suspicion that this is what is being imitated here. Nope. Doesn't work under Capitalism. You can't enroll the same people in three competitions at once -- one for money, one for not being thrown out, one for shiny stickers.
Which part is censorship?
The part that advertisers are prevented from distributing their speech to some potential listeners despite advertisers clearly intending to do so and even paying for it.
The part where consumers get to opt-in to a service to skip ads, continue watching TV with ads as they have before, or continue to DVR it and make up their own minds then? Or the part where the owner of the content wants to sell advertising inserted with the product and not have a reseller editing the final item without their say-so?
Free speech is about the rights of the speaker, not listener. Consumer protection is about the rights of the listener, and thanks to the First Amendment, the former always trumps the latter in US (until "speech" reaches the point of being obscenity, a part of criminal activity, or by itself causes direct harm such as very loud noise, as those things aren't tolerated, Constitution or no Constitution).
As a long-time advocate of censorship in mass-distribution media, I have to remind everyone that this is also a form of censorship.
I believe, it would be great if government ensured availability of media in such ad-stripped form, and provided a way to compensate the providers with subscription fees even if those providers refuse to implement such service on their own, or do not like the fees that users are willing to pay.
That is the way /YOU/ see tests.
This is also what happens when people use tests.
Most people use them to verify that very rule that you're talking about.
If rule can be expressed, it's possible to create code that always follows it. It may be possible to create code that verifies it (and therefore can be used for testing), but it's always more difficult and often plain impossible (ex: halting problem).
Testing is not some random code that people throw together. It can be just as carefully written and as planned, if not more, than the actual software being tested.
And then the result is still inferior to software being written right to begin with. However more likely tests are buggy, too, even if for some insane reason they are less buggy than software being tested. Tests only help to improve quality if they are written by a programmer far superior to the programmers who write software. This is why it works with teaching students. In all other situations they are merely an unreliable way to reduce the number of massive mistakes. Useful in the same way a guardrail is useful on a straight road -- its presence reassures the drivers that there is something at the edge of the road, and once in a blue moon someone will slam in it and won't die instantly in a ditch, but overall effect on the number and severity of incidents is negligible.
The development of tests can be done with multiple smart people.
And it would be more productive to just let those people write software.
They can divide up the program however they want and implement tests for it. This is impossible with formal proof.
Of course, it's possible! Software should be modular, with interface specifications defined for each module. Then all formal proofs or informal checks have to be done separately for each module, and for interaction model itself. Like with my example with the solution to a problem with debugging logs, once it is defined that a single interface must be used for all debugging logging, it's trivial just by looking at the code to determine that:
1. Debugging logging is never activated by default in production version.
2. All debugging information is logged through debugging logging interface.
So one implementation and one code review gives you very high certainty that all misbehavior related to debugging logs (information disclosure, performance drop, runaway use of space, use of log files as a part of privilege escalation or denial of service, etc.) will not happen on a production system in default configuration. Without this, you can test code until you are blue in the face, and billions of possible instances of debugging output will slip through your tests because they would be still indistinguishable from all other I/O.
When software is designed as a giant blob of spaghetti code, the problem is not with insufficient testing.
Without a several iterations you will be unable to even divide up the code the be formally analyzed in parallel.
If it is not already divided, it's designed poorly to begin with.
Tests will always be a faster and commercially more superior solution.
A solution to create false impression of correctness -- yes.
Then that means those people sucks at writing tests.
Just like in a well-known Kernighan's quote about debugging being twice as hard as writing code, so is writing tests (though I don't think, it's merely "twice", it varies with expected coverage). So everyone sucks at writing tests, and this is why a superior programmer can "rescue" an inferior one by providing tests. However this is like trying to use monkeys for building roads -- can work with enough effort applied by humans directing them, but it's easier to just let humans build those roads in the first place.
So this is what happens when stone-throwing chimps are kept away from /b/ !
lol anti-intellectualism
No, I'm under the impression that you mean exactly what you've said - that the government and society that produced it here in the United States is an abhorrent thing to you, and that you far prefer your homeland of Russia.
No, I would *prefer* if USSR wasn't destroyed in the first place.
And despite that, you left your beloved homeland when it was in the depths of an economic crisis - when you could have put your vast intellect and considerable skills to work bettering your homeland and helping your fellow Russians improve their economy, instead of letting it devolve into a second-world also-ran economic power under the control of strongmen and thugs - in order to come make a quick buck in the US. By this, we may conclude that you are a hypocrite, and a whore, who sells out his beliefs for a few bucks, and then proclaims his superiority to the people around him, measured by the sole fact that he comes from somewhere else, as if that will magically transform his hypocritical opinions into immutable facts of reality.
The crisis in Russia was not caused by problems in its economy, it was caused by people willingly destroying the economy for their own profit, or out of misguided belief that such destruction is "good for the country" and leads to a Libertarian paradise. I was neither necessary there, nor my work would end up producing any positive result -- at best, it would feed the thieves and oppressors. This situation continued at least until the end of Yeltsin's rule in 1999. Until then, my presence there would be absolutely pointless no matter what I did. Economic policy of the government infected with Libertarian ideology, and corrupt on top of that, had to be allowed to fail on its own, and it did in a default of 1998 and subsequent changes of both people and policies at the top. Until then, nothing I could do, save for outright sabotage, would produce any kind of lasting improvement.
From that point, I guess, I would not be as useless there, however it is yet to be seen what will help Russians more -- my contribution to Russian economy if I was there, or general improvement of technology that happens because I am here. I work on open source projects, so benefits from results of my work are not limited to my employer and its customers.
On the other hand, me moving back would be a procedure about as long and painful as moving to US -- with all that productivity being lost, it's unlikely to do any good for anyone. Maybe in the future the situation will be different, but at this point I do not believe that my choices made anything worse.
Right, and the USA, and its government, and its people, provided you with a PLACE and an OPPORTUNITY to do productive and interesting work, make a positive impact on society, advance your knowledge, and improve yourself. Opportunities you just admitted were not available to you in your former homeland.
First, "opportunity" is nothing to be thankful for. Lottery and gambling provide opportunities, too. Even organized crime and war "provide opportunity" -- some people get quite rich on those things. The truth is, "opportunity" is worthless if everyone who has it, can't exercise it at the same time.
Second, my ability to find decent work in US, is based on education obtained in USSR. If born in US, I would have no access to anything comparable, so US would deprive me of ability to use its "opportunities" if I was not born in USSR. It was an enormous amount of dumb luck that I wasn't born here.
As for the services and infrastructure provided by US government and people, for most of my life in US I paid taxes at the highest rate that exists here. As far as government is concerned, I certainly pay for more than I use. I consider it perfectly acceptable, I just wish that people who use more and produce less (or nothing), were not allowed to shirk their responsibilities.
Usually, when somebody gives us something we value, especi
Oh, please. This is the same as "Laffer curve" fallacy -- it describes something theoretically possible, but the numbers necessary for things claimed, are nowhere close to what happened in reality.
I don't understand your contention that this argument (military production is a loss, not a profit) makes no sense. I could understand a complaint that the exact economic cost of military production in the Soviet system is much lower than generally accepted. But as you provide no figures, you don't seem to be making that argument.
Figures? When USSR military budget was disclosed (for most of the time up to 3% of GDP when counted in USSR prices, 6% if USSR government paid US prices due to incompatible price structure), all US "comments" were along the lines "but it must be higher!", just to support this idiocy. In more realistic terms (so neither US nor USSR accounting and pricing quirks are relevant), it's a matter of people and raw materials that are involved in military industry, and as I have explained multiple times, similarly small fraction of people and materials were involved.
Last I checked, military production requires at the very least a lot of energy, a lot of metals, a lot of infrastructure, and a lot of person-hours, all of which have to be diverted from civilian production - they can't simply be magiced out of thin air.
Military industry would have to move a large fraction of population into "closed cities" where they had their facilities, and roads should be covered by a layer of BTRs (that other cars would have to drive over as if it was a new form of pavement), for this to have any impact.
This clearly was the case, since the people in the Soviet Union were (in)famously short of pretty much of everything. And while the Soviet civilian sector failed to deliver,
Says who? Shortages ended in 50's (when the whole densely populated Western part of USSR was rebuilt after WWII). People love to complain about lack of luxury items, but that's not a "shortage". On the other hand, poverty was completely unheard of, along with homelessness and illiteracy. With return of Capitalism in 90's, things went to Hell, and even now, after recovery, those problems that were completely eliminated in USSR, are present again.
the military sector delivered the Tsar Bomba [wikipedia.org] and a pretty nice space program.
Do you realize, just how cheap it is to develop and build those things, if no one takes profits? How many people were involved in the whole project? What were they paid? Say, what was the salary of Sakharov or Khariton? What amount of steel, copper, uranium, etc. was consumed by the project and how it compares with any civilian projects that uses similar materials (say, one many nuclear power plants that operated at the same time)? In US, it would have to feed shareholders and overblown management pyramids of thousands of little hungry companies, and a couple of huge and even more hungry companies, each of them eating more than entire USSR Academy of Sciencies system with all its research labs. That's on top of US government-operates research labs that would be still in the picture for such a project.
keep yourself from avoiding mistakes
Should be keep yourself from making mistakes, obviously.
So basically you want people to improve the quality of their code base, without actually giving them any concrete and practical way to measure the quality?
Yes! I want people to avoid writing bugs regardless of those bugs being detectable by tests. I want people who can think of any kind of rule that applies to software, to implement and enforce that rule in their software so it will be logically impossible to violate it, instead of devising a tripwire for any piece of software that visibly violates it.
Also why, are you ranting?
Because this line of thinking reveals one of the most poisonous traditions in modern software development -- writing something that "looks right", and only starting to think when something visibly fails in a spectacular way.
No-one in this thread has claimed that tests are some kind of silver bullet. They are an important indicator - as objective as humanly possible - within reasonable constraints of day-to-day software development
No, they are not. They are arbitrary checks for randomly selected egregious mistakes. Passing tests lulls developers into thinking that their software works correctly when it really does not.
(we are not talking about NASA level quality and formal proofs and all that crap)
Why not? For tests to be meaningful, the difficulty of writing them well exceeds the difficulty of writing formally-proven software. Step down from there, and sufficiently careful logical thinking (a step down from formal proof) will always beat an informal test (a step down from complete test) made with the same level of effort.
that can be useful in enforcing that software is designed & implemented to be robust, and relatively bug-free.
Practice shows that they do not improve quality, they teach people to write software that passes tests, and not think about the whole range of possible situations it has to deal with.
Good programmer writes software that not only behaves properly in all known corner cases, it works properly in those corner cases that he can't imagine. After some level (that is supposed to be long passed at the time of graduation from university), all trivial ways of improving quality already reached their limit and became irrelevant. Tests are among those methods. All further improvement can be only achieved by becoming an aforementioned good programmer, and tests don't in any way help with this. Just the opposite, writing code as if it will never be tested and there is no way to test it, is the only way to keep yourself from avoiding mistakes (even if the code is tested after that).
Also you are wrong that tests cannot guarantee anything. When a human guarantees something to another human it is assumed to not be some kind of absolute statement. This *is* the common use (legal and general) of the term. Because otherwise you need some kind of perfect god like being which can evaluate products/services.
So the purpose of tests is to create an impression of "proof" to people who don't know any better?
There is nothing wrong with testing products in QA, alpha testersm beta testers, etc. -- they just might find something by pure luck or pure stupidity of the programmers. There is nothing wrong with programmers writing mini-tests to check if they are completely off-base in their thinking. However those things have nothing to do with improvement of development process. They are helpful because they often catch brain farts, but they guarantee nothing. The better are programmers, the least helpful are tests, and long before programmers become perfect, tests become worthless. If a company can benefit from including mandatory tests into development process, it means that it's full of incompetent programmers, who should not be there in the first place. Same applies to marathon runners and crutches, and many, many other things that "assist" in a way that only works when something deeper is terribly, terribly wrong.
You are under impression that all people ever do is try to obtain massive amounts of money by fleecing others, so my presence in a country provided me with some kind of hunting ground that I am supposed to be grateful for.
It may come as a massive revelation for you and other American patriots, but some people, myself included, see productive and interesting work, positive impact on society, advancement of knowledge and self-improvement as important goals in their lives. Those people's choices of places to live, organizations to work for, books to read, etc. are determined by those goals, and as far as I know, my choices serve those goals very well.
People who subscribe to American ideology, see accumulation of money and power as the only possible goals, and for the purpose of achieving those goals honest productive work is nearly worthless. Assuming that someone have those goals, indeed, his presence in some country -- any country -- is a terrible burden on everyone around him, and indeed such person has to be scorned for arriving anywhere. Or for being born anywhere to begin with, if one wants to be consistent. You seem to have a belief that either myself, or everyone in the world, is in this category, however for some reason you find it acceptable to feed your local predators, it's the foreigners that you see as undeserving of a chunk of your flesh.
This means that you are not only a faithful servant of people who prey on your society, but also a xenophobe on top of that. This earns you hatred of every honest and sane person in the world, and invalidates anything you say about morality and ethics.
And as I've mentioned many times, money is just a proxy for resources.
And I have demonstrated that USSR did not run out of resources because vast majority of them were in civilian production.
The steel that goes into a tank can't be used for a submarine - or refrigerators.
If there was something USSR had in vast abundance, it's steel. Or any locally produced material.
The guy that's making steel isn't harvesting grain, and so on.
Please don't tell me that USSR had shortage of people.
What is really an expensive resource in US, is a guy who makes nothing but takes profit out of the system, and a guy who takes nothing but acts as a middleman in a process where middlemen do nothing but clog up the system. The first consume most of the spending on "military", the second do the same for healthcare. Government can't feed both, so military-industrial complex is fed by taxes, health insurance companies have to prey on the population directly.
How do you come to the conclusion that someone arguing against military spending is engaged in a Republican propaganda campaign?
People who argue against Republican policies are still vulnerable to Republican propaganda talking points.
There's also no difference being the USSR paying itself for military production and the USA paying companies. In both cases finite resources of economic production are being allocated to the military. The US government just borrows (with no intention of paying back) the money to pay those companies anyway - since it can print money for free it's not like that transfer of money means anything.
As I explained, "resources" that are allocated "to the military" are mostly spending of financial goodwill (issuing money backed by nothing) to feed profits of military-industrial complex (what has absolutely nothing to do with miniscule amount of all limited resources consumed as a part of military production). US is unique in having such a system. USSR was unique in having the very opposite of it because of the lack of profit involved.
My understanding of the situation was that too much of the production capacity was devoted to the production of arms and other heavy industry, so that it could not be used to produce consumer goods.
It's a myth. As I explained elsewhere in this thread, for this to be true, USSR would have to run out of people working for civilian industry, as all other resources had to be consistent with people involved in production. Another possibility would be massive unemployment (if civilian industry did not have capacity to employ those people and government for some insane reason refused to build more with those available workers). Neither was the case in reality.
There was often a mismatch between infrastructure/materials processing/machinery and consumer goods production, but it was always toward infrastructure, so correcting it was a trivial exercise of using flexibility provided by overbuilt infrastructure/heavy industry. Things like that can make people grumble but don't destroy countries.
The residents can get a business visa to come onshore for business meetings, they just can't perform any actual work in the United States.
Despite what it often looks like, business meetings are work.
And there are still some customers who don't like the idea of someone all the way around the world providing their services.
You also need those customers to have no problems with the idea of their services being provided off the slave ship.
the 'mythology' of non violence has made literally millions(in just the west, the significant liberalization of both China and India are about to make that number billions) of lives safe from scarcity.
That's great! Now can you and other great Libertarian thinkers postpone your campaigns until China adopts your idea and proves them to be valid once and for all?
What are you disagreeing with?
I disagree with a recommendation to add more tests to improve quality.
Thats like saying programming is the process of introducing bugs in the codebase.
No, but "introducing bugs in the codebase, running tests and watching if they cancel each other out" is a very much appropriate description of software development process as practiced by incompetent people. I call it perma-debugging cycle.
Only after you write tests can you claim any such quality of code base.
Tests do not prove anything other than two programs, test and program being tested, producing compatible results. They can just as well be both wrong, and usually test is formally wrong due to the limited scope and implicit assumptions made by a programmer who wrote it.
However a more important question is, do you want to be able to claim something, or actually make it closer to reality? If the former, go ahead, and do all kinds of measurements, tests, up to daily drug tests for programmers. This is a kind of solution we have with airports and TSA now. If you want to have less bugs, make it difficult to write a bug. Build infrastructure. Have infrastructure enforce global rules (such as when debugging logging is available) so programmer who uses it doesn't have to do it every time he implements anything. Re-use code that can be reasonably expected to be correct. Have code reviews.
Once that is done, there may be some talk about any kind of tests outside QA and developer's own initiatives. Maybe.
If quality does not come from testing then it does not exist other than in a programmers subjective opinions.
Of course, it is subjective. You want an objective evaluation of quality? Here it is: all software is wrong. For every piece of software at any point in time there is (known or unknown) valid condition that causes this software to misbehave. This will change when the last bugfix will be committed to some project, and so far no one, ever, made a claim that such an event happened.
But tests???
Tests are the most subjective thing that one can imagine to evaluate software quality. They are written by people who believe that software must pass some rules to be correct. You know what else is an expression of rules that produce software output? Software itself! Write the same program twice, run on all possible inputs (including all timing conditions as they are input, too), verify that result is always equivalent from some objectively defined point of view (again, timing, protocols, interactions with other software and hardware). That would be the only test that guarantees anything at all (+/- bugs in equivalence verification, +/- bugs in test infrastructure, +/- common bugs in both implementations). Anyone willing to implement that as his testing procedure? No? Takes nearly infinite time? Then everyone is welcome to shut the fuck up about tests being "objective" or "guaranteeing" anything.
It still constitutes an effort and resources that weren't spent on other things.
As I explained before, they were now. In US, government has a resource "ability to print money and give them to a bunch of rich guys without tanking the value of dollar". If it printed money (well, "loaned" them) and given them to military companies to pay for their profits, it can't print more to give them to medical insurance companies for their profits, and to textbook companies for their profits -- there would be so many dollars around, they would become unusable for international oil trade. So US can have either huge military or working healthcare and education.
In USSR everything was much simpler. Pay people salary that matches available amounts of consumer goods plus food, electricity and other living expenses for a given population. There is no "investment", so salaries will be spent on that, no point making them either higher or lower. Set mandatory standards for education, so people will be able to perform complex kinds of work, and would be bored out of their mind if they didn't have anything to do. Now, those people are your resource -- the only one that you have any chance to overuse unless you are dumb enough to run out of natural resources. Balance various kinds of industry and agriculture, and you have a stable society. That's what GOSPLAN was for -- with mathematicians working on optimization and stability.
So yes, it would be possible for military to drain resources out of the rest of the system -- it would happen if country ran out of people for everything else. Everyone would have to live in remote, isolated military industry towns, where all such production happened, and the rest of the country would be empty. Wind would blow tumbleweed across streets of Moscow and Leningrad. Do any of you realize how stupid that is?
There were thousands of ways to mess up USSR economy. They could miscalculate the amount of cash and mismatch it with products. They could over-emphasize infrastructure and have it unused because expansion of consumer goods production didn't keep up with it. They could over-emphasize consumer goods and overtax the infrastructure. They could underdevelop transportation and lose flexibility, thus having industry tied to established locations and require enormous effort to make any changes. They could piss off intelligentsia, lose the quality of education, and lag in industrial R&D. Many, many other things couls hurt USSR-style economy. But the idea that excessive military production did, or even could, produce enough harm to damage the economy is completely retarded. It's invention of Reagan-era US propaganda, and just like the rest of Reagan-era US propaganda, it makes no sense.