I think Hollings is motivated by venality and lust for power, like most legislators. But this legislation represents another step in the continuing extension of state power by making crimes of common activities. For example, the continuing legislative attack on the tens of millions of Americans who have listened to an MP3 file without paying for it. Next comes the expression of original thought, especially if it means that you distribute it by any but government-approved and -regulated channels. The SSSCA takes us another mile or two along that road.
Unlike some other posters, I think that it is important to make a big stink about this. Too much bad legislation has already been passed with little or no debate. Consider the draconian, repressive Ashcroft Laws that slid through Congress with only token deliberation. This means that there is no responsible legislative oversight at present, and our so-called representatives need to be stirred from their greed and apathy. I'm not at all optimistic that this is possible yet in the current climate of wartime hysteria. A lot of hidden agendas will slip through before even "normal," weak accountability is restored.
Perhaps we should be thinking of a plan for how to roll back these restrictions after the present war is over?
And, as an example of bad UK law becoming bad US law, consider the Prevention of Terrorism Act, which eroded civil liberties and led to a number of high-profile miscarriages of justice. Result: just as much terrorism as before, more false convictions, and a long drift to authoritarianism that both the Consdervatives and Labour have been all too happy to collude in.
Now, we see a number of similar provisions on Ashcroft's wish list, which he seems to have had in his back pocket, ready for the first crisis that could be used as a pretext. The cynicism is appalling.
I'm an architect too, though for a smaller company (also a not-dot-com, and still growing).
- Available human resources: do we have developers that know x technology. If not, how available are they?
This is a good one, well worth considering. But following your policy without looking ahead would mean that we'd all still be doing COBOL or 360 assembler. So you also need to make strategic choices about your technical direction, not just follow the pack.
- Business: are there any benefits to adopting a certain technology, such as existing or potential partnerships? i.e.: existing support contracts, brand name recognition
Sounds unlikely that brand name recognition has any place in product selection. Existing contracts might matter if those contracts were entered as the result of architectural choices rather than golf-course deals. Otherwise you're throwing good money after bad by expanding existing relationships with suppliers who aren't meeting your requirements.
- Liability: is there someone to blame when things go wrong? (like it or not)
Most legal departments will inform you that software licenses are constructed so that suits of this nature are very hard to win. Not a good consideration. Anyway, the net result of this policy is to exclude open-source software, some of which is technically superior and better-supported than commercial competitors, and with demonstrably better ROI.
- Scalability: can the adoption of a technology come with a guarantee that some aspect of performance doesn't hit a brick wall?
This matters in instances where the application might need to scale. But there are a number of instances within a business where that might not happen, and in those cases, scalability is less important.
I think there's a simpler rule: if there's a business need for performance, implement a system that delivers that performance and will continue to do so within anticipated system growth. If you follow this rule, there will be instances where performance certainly will matter. Benchmarks like these are important for those instances.
``This is a war situation we're in,'' Sen. Charles Grassley (news - bio - voting record), R-Iowa, said, adding that Tuesday's tragedy likely would alter Americans' sense of security and lead them to forgo some freedoms for added safety in the future.
No extra points for guessing which freedoms the good Senator would like to dispense with.
Interesting that you suggest leaving mp3.com for eMusic, and you mention that they're owned by Vivendi. Mp3.com is also owned by Vivendi. Welcome to the brave new world, where going to the competition leads you back to the same media giant.
Jorge Luis Borges wrote a story called "The Library of Babylon" about an extremely large, but finite, library of random books. Every possible book of a certain length, in a certain character set. In those books can be found all human knowledge, almost infinitely repeated if you consider whitespace and non-essential typos. Also, all human fallacies, the complete works of Shakespeare, including those that were lost to posterity, and works that purport to be the Bard's but are not... etc. The only complication is in finding anything. Same goes for the digits of pi. Infinite sequences are counter-intuitive in lots of ways.
Your argument is fallacious. To see this, consider the fact that the same reasoning can apply equally well to any sequence of digits. So, by your reasoning, for any sequence of digits, that sequence cannot be produced by a random number generator. So a random number generator cannot product any infinite sequence of digits. Therefore, I am a greyhound, snow is lime green, and microwave ovens were invented by sheep.
You have been confused by infinitesimals. You are not the first. Limit of p(x) as N -> infinity = 0 is not the same as p(x) = 0.
If I recall correctly, there's a proof by contradiction that shows that, for any finite or countably infinite sequence S, S appears somewhere in the decimal approximation of pi, and in the decimal approximation of any irrational real. Which makes me wonder why they're bothering to run the computer check.
I myself am a very quick programmer, but I agree with your points. When interviewers pull the "snap quiz" on me, I politely decline to play the game, and ask them if there's anything else left to talk about. If not, I walk.
If the real job situation is that cut and dried, they don't need me, they can get anyone with a CS degree, and save themselves a lot of money. I'm there to know which questions need to be asked, not to answer the ones you already thought of.
When I interview job candidates, I usually frame it as "Here's the situation, how do you think you can contribute?" The micro-tactical stuff has a short shelf life, and you'll find out very quickly if they're faking it.
Old people have the bell curve just like everyone else. Some are flexible, opportunistic, quick studies, others not. The ones who aren't either find a stable niche (say, COBOL-for-life, urgh), or get out of coding. The same goes for firms: if they can't get their products to run on the platforms that people actually use, they deserve to go broke, and they do.
Me, I'm middle-aged, and have retooled so many times I've lost count. Good thing, since nobody needs much PDP-11 assembler these days. If you can't keep learning, you just don't belong in the business. I've seen people of all ages show signs of rigidity and inability to move on. If you're not hiring good people because of your age prejudice, you just might find yourself on the way out the door soon too. It's not just tools that people hang onto for too long, it's preconceived notions.
I was at Open Source. The debate was VERY informative. It very much clarified what my best interests are in this situation.
During the Tiemann/Mundie debate, I recalled Churchill's comment on hearing a conciliatory German radio speech just prior to the invasion of Austria: "Before the boa constrictor swallows its prey, it coats it in slime."
A more graphic image is of MS lubing up the Open Source community before bending us over to have its way with us.
It was clear that one of MS's goals was to drive a wedge between Free Software and everyone else, since the GPL makes them break out in hives, and to co-opt as many of us as possible into collusion with MS. I fear that this might happen to MONO, although I have confidence that Miguel's no dummy and he'll know when to cry foul.
On the other hand, I think that Tiemann was correct in his observation that, below the level of top management, there might be a diversity of views within MS, and the management itself is opportunistic rather than driven by principles. So, if MS perceives that it is in its interest to cooperate with the OS movement, it will. But remember that corporations have interests, not morals, so that cooperation is not likely to be long-term. They can get us to commit resources, do lots of work, then cut us off later.
My conclusion is that, if we don't collaborate with MS, they're going to mess with us in a big way. If we do collaborate, it will end up being on their terms. When a follow-up question mentioned the DMCA, the subtext of Mundie's sneering response sounded like "Well, smart-ass, if you don't like it, buy your own congressmen and change it." He explicitly referred to the lack of money in the OS movement, and said "Fine, if it takes money, then go get some." The main thing I took away from the debate was that MS is an arrogant and unscrupulous monopolist, and anything they can't eat or extract money from, they'll piss on. It has hardened my views (which were previously wavering) that they should be shunned and resisted at all costs. The balance of power is too asymmetrical for us to be able to cut fair deals with them.
And I'm looking into ways to fund patent applications for features in GPL'd code.
You mention double taxation. However, the U.S. corporate tax laws are so riddled with loopholes that many large firms (GM and Microsoft, to name two) pay minimal to no tax. I have been involved in some IPOs, and one motivation for transitioning from a partnership to a publicly-traded corporation is that the overall tax regime is more favorable. This is even true for smallish firms (market cap less than 100MM).
The concept of limited shareholder liability is a good one. However, there is nothing wrong with society establishing acceptable norms of behavior on corporations, and imposing sanctions up to and including the revocation of corporate charters, for violation of those norms. Unless shareholders recognize this to be a risk, they will not hold management accountable for some of the abuses that are now commonplace. Corporate governance now is a joke, with most shareholders taking a largely passive role.
Note that, when discussing sanctions, I'm talking about criminal, not civil law. I agree with your view that tort law is out of control in the US, and that's bad for business as well as for society as a whole. But part of the reason for the excessive number of lawsuits is the failure of the government to effectively control corporate behavior. This creates a political climate in which jurors view corporations as arrogant and unaccountable, and as a result, those jurors render punitive verdicts to teach them a lesson. And, sadly, many corporations fully deserve to be characterized in that way. When they are unquestioningly backed by the power of the state, as is the case with this Adobe fiasco, there is no reason to assume that their behavior will improve.
My greatest concern, as a shareholder and as a citizen, is that this sort of behavior will bring the market-based economy into disrepute, and the populist "solution" will be something far worse. That's how so many Latin American countries got communism, socialism, or state monopolies. And it could happen here too. With the present government, we're looking more like a banana republic all the time.
While I agree with the general point of your posting, you should be aware that the Dutch had corporations, and the infrastructure to support them (merchant banks, a stock market) as long ago as the late 1600s. Things were different then, but the history of Dutch colonization, and many of their wars, were driven by business interests.
The collusion of governments with business (whether corporations or other forms) goes back as far as Roman times. One could even argue that it was the norm in early states. And even when government arguably took the lead (say, the Nazi imperialist venture and the genocides that followed), "respectable" businesses were right there to help, and to cash in.
Incidentally, Adam Smith had a good understanding of the way that businesses subvert the political process for their own ends. He was a thinker of some subtlety, taking a balanced view nothing like the mindlessly absolutist pro-capitalist cheerleaders who post on Slashdot. He said
People of the same trade seldom meet together, even for merriment and diversion, but the conversation ends in a conspiracy against the public, or in some contrivance to raise prices.
He was a firm advocate of the rule of law, and of controls on monopolies. He recognized the power of the market, but also understood its limitations. We'll never get anywhere in our current debates on this topic unless we too can recognize shades of grey and get away from idiotic capitalist/communist cold war rhetoric.
I am pro-market, and I also want corporations out of government. The DMCA is one example of how the system can be distorted when commercial interests buy legislation. I just hope that the response to Alan's principled resignation is not for some corporate shill to be appointed in his place.
Another example of this is the Fraunhofer Institute's extortion of license fees from implementers of the mp3 standard. The standards body chose to base the standard on a patented, proprietary algorithm. After the obligatory waiting period for the standard to gain market share, Fraunhofer lawyers started sending out letters demanding license money. Most open-source mp3 encoder efforts shut down at that point.
Having said that, it is unclear what ECMA's policy is. I agree with bluGill that it would be moronic for any standards body to allow something like this to happen. If M$ is really planning on claiming that.NET is an open standard, yet attempting to prevent competitors from implementing it, ECMA should walk away.
A likely interpretation is that M$ is attempting their tried and true embrace/extend/extinguish tactic on the standards process itself.
Your anecdotal statement about nice police officers is naive and sadly mistaken.
I have had encounters with police in Southern California in which they have threatened me, and I have been in situations twice where police have lied about (luckily small) matters. I was of unconventional appearance (shaved head except for foot-long pigtail on side of head) but not breaking the law at the time. One nice officer (maybe one of your four friends?) told me that he didn't like my looks, and if I didn't leave his town, he'd take me down the alley and beat nine kinds of shit out of me. At least he didn't plant drugs on me, like they sometimes do to others I know.
It may be that most cops are fine (though I think they have a groupthink that encourages "shortcuts"), but it's the ones that aren't fine that are the problem. And in any large group, you will find at least a few scumbags.
If police can drag camera crews for "reality TV" along when they bust people, effectively trashing the presumption of innocence, then the citizens should have the same right to capture it on film. The judicial decision is further evidence of Massachusetts' authoritatian mindset. Not much has changed since Salem, huh.
And the other posters are right about not trusting the Supreme Court. In a sane society, those bozos would not be allowed to hold positions of responsibility such as 7-11 manager, leaf-blower operator, or chicken plucker, let alone judge. It's evidence of the profound malaise of the system that a Scalia, Thomas or Rehnquist could even have been nominated without being laughed out of the Senate.
When I run the process, I make sure that the QA engineer is NOT in charge. They focus too much on style, and miss the fitness-for-use and other engineering-suitability choices that are really worth examining and justifying.
I've found that it was better to have the best techie (TD or group tech lead) run the review. It takes up some of their time, but it makes the review an occasion for mentoring rather than nitpicking.
The tailoring suggestion, though, is a good one. Just be sure that steps aren't being tailored out in order to hide embarrassing screw-ups. The people who think they need least review are often the ones who need it most. If I saw a lot of resistance, I'd run those reviews myself (I was in charge of the project).
And as to the "taking it personally" problem mentioned in other posts: encourage the people who personalize issues (either pro or con) to leave. Reviews give a good opportunity to see who those people are. Backstabbers and prima donnas will kill your project and your business, no matter how technically capable they might be. Reviews will be hell for all concerned if that kind of behavior is tolerated. System development is a collaborative effort, and that means collaboration is a necessary part of the job. Much of the resistance to reviews is a denial of that fundamental fact of life.
"We tried it once and then decided it wasn't worth it." Your post was facetious, but painfully close to what I've seen when consulting on how not to screw up development.
I've heard the same thing about just about any process improvement that, when done right, can improve the quality of your product. Controlling your code baseline, knowing what your requirements are, testing your code, knowing the status of your project. They all involve discipline and perseverance, and there are plenty of excuses for not doing them at the first sign of resistance.
The proper name for this kind of resistance is "passive agression."
The real problem with code reviews is finding two people who know enough about the problem domain and the technologies being used to do the review. In a lot of firms, even one qualified person is hard to find. Having your code reviewed by someone who doesn't have the faintest idea what you're doing might be good training for them, but it's not a review. I suspect this is one reason firms try it once, then throw up their hands.
The trick is not to starve projects of resources (like enough qualified coders). Good luck convincing the managers!
I think it's deeply embedded in the culture, and very ancient. The system of legal scolding is a lot like the shouting-down that American jaywalkers are so surprised to receive from other pedestrians in German cities. I got chewed out in Munich for crossing a completely empty street at midnight, by the only other person who was out. Seemed more like some weird residual Protestant exhortation than denunciation, but it still had a disturbing effect. Made me think about how deep the differences in cultural norms can be in superficially similar societies.
Looks like the legal system has enshrined this as a form of peer-pressure-for-profit.
Apple is trying to be Bose. Design for the sake of design, even when it leads to sometimes questionable functionality (think Bose's idiosyncratic sound coloration). Pretends to be high-end, but really people buy it because they like the looks. Meanwhile the rest of the industry has moved on to boom boxes. Never mind the sound quality, they're cheap, you can stuff any kind of media you like into them, and it usually plays OK.
The difference is that, in the computer market, the boom box equivalents have nearly overtaken the high-end stereos, while still managing to retain their cheesy origins.
Don't try this at home, kids. If you're a US citizen, and you obtain dual nationality as an adult (the rules are different for those who have dual nationality by birth), then you use the non-US passport to enter the US, this can be taken as evidence that you have renounced your US citizenship. They used this logic to mess with draft-dodgers who acquired dual US/Canadian nationality.
I'm not entirely sure what this says about M$passports, though. Eventually, the cost of opting out of monopoly situations like (maybe) Passport gets too great, and everyone either gets sucked in or is marginalized.
So we'd better sue the S.O.B's now, before they get even bigger and more intrusive.
A friend of mine suggested that this debate will settle out with a compromise in which individuals will have ownership rights over their personal data, and users will be forced to compensate the owners for use, but a system of "compulsory purchase" will replace current opt-out privileges.
So you'll get a micropayment everytime your personal data changes hands, but you won't be able to stop the trade.
"Remember, it isn't until we start passing regulations that affect big business that big business starts interfering in governmental issues."
For much of history, there was no meaningful distinction between government and big business. The ancient Romans operated a system of bribes and kickbacks. It was only in the past couple of centuries that government and business were really decoupled, and then only in a few countries. Your view is an oversimplified version of a 19th-century liberal belief that few who have observed the behavior of real businesses would have taken seriously even then. "Free-marketeer" Adam Smith certainly didn't believe it for an instant. Only some unreasonably optimistic Victorians a few generations later.
The only way to keep big business out of government is to force them out. It's disingenuous to say that the best way to do this is to just give them what they want, with no consideration of the greater good.
As for profit increases, classical economics predicts that, in a truly free market, high profits are never sustainable. In the absence of barriers to entry, other players will undercut the high profits, and competition will drive all players towards the same, lower, margins. In cases where we don't see that happening, we're looking at market failure. But I suppose that, for libertarians, even market failure is not sufficient cause to consider intervention?
1. Python
2. Java
3. Perl
4. C++
5. Any variant of Basic, with VB last
Reasons: The OO and functional programming aspects of Python are cleaner and easier to get to than those of the other languages, and the overall semantics are more straightforward (except for namespaces, urgh...).
Java is kind of half-OO, and the strong typing and lack of primitive types and functions as first-class objects makes for some annoying restrictions. Perl's great, but one of its pre-eminent features is its lack of structure, so I'd save it for later. C++ is overly baroque, and you spend more time learning about the interaction of all its non-orthogonal features than you do in solving real problems. Unless memory leaks are a key element of the curriculum, defer C++ for as long as possible. Basic has essentially no meaningful OO support, and manages to combine weak functionality with poor performance. It also encourages poor programming practices. VB tries to kludge some OO features onto Basic, and they don't really fit. The worst code I've seen has been in VB, followed by C++. The best has been in Python and Java.
I think that you were pointing in (3) towards one of the most important economic arguments for occasionally ripping it all out and starting over: the code moves out of the "maintainability window." Anyone who has seen the bathtub curve will know what I mean. This applies to all systems-- code isn't special in this way. After a certain point, it starts becoming hard to find people who know how to maintain the code base; vendors no longer support it; and there are so many layers of cruft that breakage is the inevitable consequence of even minor changes. And every system contains undocumented features and long-forgotten tradeoffs that increase in proportion to the number of hands that have touched it. Each of these is a booby trap for the next maintainer. At some point it just doesn't make sense to train any more new tightrope walkers instead of fixing the fucking bridge.
I think Hollings is motivated by venality and lust for power, like most legislators. But this legislation represents another step in the continuing extension of state power by making crimes of common activities. For example, the continuing legislative attack on the tens of millions of Americans who have listened to an MP3 file without paying for it. Next comes the expression of original thought, especially if it means that you distribute it by any but government-approved and -regulated channels. The SSSCA takes us another mile or two along that road.
Unlike some other posters, I think that it is important to make a big stink about this. Too much bad legislation has already been passed with little or no debate. Consider the draconian, repressive Ashcroft Laws that slid through Congress with only token deliberation. This means that there is no responsible legislative oversight at present, and our so-called representatives need to be stirred from their greed and apathy. I'm not at all optimistic that this is possible yet in the current climate of wartime hysteria. A lot of hidden agendas will slip through before even "normal," weak accountability is restored.
Perhaps we should be thinking of a plan for how to roll back these restrictions after the present war is over?
And, as an example of bad UK law becoming bad US law, consider the Prevention of Terrorism Act, which eroded civil liberties and led to a number of high-profile miscarriages of justice. Result: just as much terrorism as before, more false convictions, and a long drift to authoritarianism that both the Consdervatives and Labour have been all too happy to collude in.
Now, we see a number of similar provisions on Ashcroft's wish list, which he seems to have had in his back pocket, ready for the first crisis that could be used as a pretext. The cynicism is appalling.
This is a good one, well worth considering. But following your policy without looking ahead would mean that we'd all still be doing COBOL or 360 assembler. So you also need to make strategic choices about your technical direction, not just follow the pack.
Sounds unlikely that brand name recognition has any place in product selection. Existing contracts might matter if those contracts were entered as the result of architectural choices rather than golf-course deals. Otherwise you're throwing good money after bad by expanding existing relationships with suppliers who aren't meeting your requirements.
Most legal departments will inform you that software licenses are constructed so that suits of this nature are very hard to win. Not a good consideration. Anyway, the net result of this policy is to exclude open-source software, some of which is technically superior and better-supported than commercial competitors, and with demonstrably better ROI.
This matters in instances where the application might need to scale. But there are a number of instances within a business where that might not happen, and in those cases, scalability is less important.
I think there's a simpler rule: if there's a business need for performance, implement a system that delivers that performance and will continue to do so within anticipated system growth. If you follow this rule, there will be instances where performance certainly will matter. Benchmarks like these are important for those instances.
Interesting that you suggest leaving mp3.com for eMusic, and you mention that they're owned by Vivendi. Mp3.com is also owned by Vivendi. Welcome to the brave new world, where going to the competition leads you back to the same media giant.
The staff write the replies. It's likely that they share canned responses with other senators' staff, particularly those of the same party.
My senator gave an almost-identical reply, by the way.
Sounds more senatorial than "The RIAA owns a sizeable chunk of my ass and I do whatever they tell me."
Jorge Luis Borges wrote a story called "The Library of Babylon" about an extremely large, but finite, library of random books. Every possible book of a certain length, in a certain character set. In those books can be found all human knowledge, almost infinitely repeated if you consider whitespace and non-essential typos. Also, all human fallacies, the complete works of Shakespeare, including those that were lost to posterity, and works that purport to be the Bard's but are not... etc. The only complication is in finding anything. Same goes for the digits of pi. Infinite sequences are counter-intuitive in lots of ways.
Your argument is fallacious. To see this, consider the fact that the same reasoning can apply equally well to any sequence of digits. So, by your reasoning, for any sequence of digits, that sequence cannot be produced by a random number generator. So a random number generator cannot product any infinite sequence of digits. Therefore, I am a greyhound, snow is lime green, and microwave ovens were invented by sheep.
You have been confused by infinitesimals. You are not the first. Limit of p(x) as N -> infinity = 0 is not the same as p(x) = 0.
If I recall correctly, there's a proof by contradiction that shows that, for any finite or countably infinite sequence S, S appears somewhere in the decimal approximation of pi, and in the decimal approximation of any irrational real. Which makes me wonder why they're bothering to run the computer check.
I myself am a very quick programmer, but I agree with your points. When interviewers pull the "snap quiz" on me, I politely decline to play the game, and ask them if there's anything else left to talk about. If not, I walk.
If the real job situation is that cut and dried, they don't need me, they can get anyone with a CS degree, and save themselves a lot of money. I'm there to know which questions need to be asked, not to answer the ones you already thought of.
When I interview job candidates, I usually frame it as "Here's the situation, how do you think you can contribute?" The micro-tactical stuff has a short shelf life, and you'll find out very quickly if they're faking it.
Old people have the bell curve just like everyone else. Some are flexible, opportunistic, quick studies, others not. The ones who aren't either find a stable niche (say, COBOL-for-life, urgh), or get out of coding. The same goes for firms: if they can't get their products to run on the platforms that people actually use, they deserve to go broke, and they do.
Me, I'm middle-aged, and have retooled so many times I've lost count. Good thing, since nobody needs much PDP-11 assembler these days. If you can't keep learning, you just don't belong in the business. I've seen people of all ages show signs of rigidity and inability to move on. If you're not hiring good people because of your age prejudice, you just might find yourself on the way out the door soon too. It's not just tools that people hang onto for too long, it's preconceived notions.
Sounds like hype:
"We could have done even better, but that would have been too good, and it would have freaked the audience out too much." Yeah, sure.
Reminds me of the hokey warnings at the beginning of 50's monster movies where they advised people with heart conditions to leave the theaters.
I was at Open Source. The debate was VERY informative. It very much clarified what my best interests are in this situation.
During the Tiemann/Mundie debate, I recalled Churchill's comment on hearing a conciliatory German radio speech just prior to the invasion of Austria: "Before the boa constrictor swallows its prey, it coats it in slime."
A more graphic image is of MS lubing up the Open Source community before bending us over to have its way with us.
It was clear that one of MS's goals was to drive a wedge between Free Software and everyone else, since the GPL makes them break out in hives, and to co-opt as many of us as possible into collusion with MS. I fear that this might happen to MONO, although I have confidence that Miguel's no dummy and he'll know when to cry foul.
On the other hand, I think that Tiemann was correct in his observation that, below the level of top management, there might be a diversity of views within MS, and the management itself is opportunistic rather than driven by principles. So, if MS perceives that it is in its interest to cooperate with the OS movement, it will. But remember that corporations have interests, not morals, so that cooperation is not likely to be long-term. They can get us to commit resources, do lots of work, then cut us off later.
My conclusion is that, if we don't collaborate with MS, they're going to mess with us in a big way. If we do collaborate, it will end up being on their terms. When a follow-up question mentioned the DMCA, the subtext of Mundie's sneering response sounded like "Well, smart-ass, if you don't like it, buy your own congressmen and change it." He explicitly referred to the lack of money in the OS movement, and said "Fine, if it takes money, then go get some." The main thing I took away from the debate was that MS is an arrogant and unscrupulous monopolist, and anything they can't eat or extract money from, they'll piss on. It has hardened my views (which were previously wavering) that they should be shunned and resisted at all costs. The balance of power is too asymmetrical for us to be able to cut fair deals with them.
And I'm looking into ways to fund patent applications for features in GPL'd code.
You mention double taxation. However, the U.S. corporate tax laws are so riddled with loopholes that many large firms (GM and Microsoft, to name two) pay minimal to no tax. I have been involved in some IPOs, and one motivation for transitioning from a partnership to a publicly-traded corporation is that the overall tax regime is more favorable. This is even true for smallish firms (market cap less than 100MM).
The concept of limited shareholder liability is a good one. However, there is nothing wrong with society establishing acceptable norms of behavior on corporations, and imposing sanctions up to and including the revocation of corporate charters, for violation of those norms. Unless shareholders recognize this to be a risk, they will not hold management accountable for some of the abuses that are now commonplace. Corporate governance now is a joke, with most shareholders taking a largely passive role.
Note that, when discussing sanctions, I'm talking about criminal, not civil law. I agree with your view that tort law is out of control in the US, and that's bad for business as well as for society as a whole. But part of the reason for the excessive number of lawsuits is the failure of the government to effectively control corporate behavior. This creates a political climate in which jurors view corporations as arrogant and unaccountable, and as a result, those jurors render punitive verdicts to teach them a lesson. And, sadly, many corporations fully deserve to be characterized in that way. When they are unquestioningly backed by the power of the state, as is the case with this Adobe fiasco, there is no reason to assume that their behavior will improve.
My greatest concern, as a shareholder and as a citizen, is that this sort of behavior will bring the market-based economy into disrepute, and the populist "solution" will be something far worse. That's how so many Latin American countries got communism, socialism, or state monopolies. And it could happen here too. With the present government, we're looking more like a banana republic all the time.
The collusion of governments with business (whether corporations or other forms) goes back as far as Roman times. One could even argue that it was the norm in early states. And even when government arguably took the lead (say, the Nazi imperialist venture and the genocides that followed), "respectable" businesses were right there to help, and to cash in.
Incidentally, Adam Smith had a good understanding of the way that businesses subvert the political process for their own ends. He was a thinker of some subtlety, taking a balanced view nothing like the mindlessly absolutist pro-capitalist cheerleaders who post on Slashdot. He said He was a firm advocate of the rule of law, and of controls on monopolies. He recognized the power of the market, but also understood its limitations. We'll never get anywhere in our current debates on this topic unless we too can recognize shades of grey and get away from idiotic capitalist/communist cold war rhetoric.
I am pro-market, and I also want corporations out of government. The DMCA is one example of how the system can be distorted when commercial interests buy legislation. I just hope that the response to Alan's principled resignation is not for some corporate shill to be appointed in his place.
Another example of this is the Fraunhofer Institute's extortion of license fees from implementers of the mp3 standard. The standards body chose to base the standard on a patented, proprietary algorithm. After the obligatory waiting period for the standard to gain market share, Fraunhofer lawyers started sending out letters demanding license money. Most open-source mp3 encoder efforts shut down at that point.
.NET is an open standard, yet attempting to prevent competitors from implementing it, ECMA should walk away.
Having said that, it is unclear what ECMA's policy is. I agree with bluGill that it would be moronic for any standards body to allow something like this to happen. If M$ is really planning on claiming that
A likely interpretation is that M$ is attempting their tried and true embrace/extend/extinguish tactic on the standards process itself.
Your anecdotal statement about nice police officers is naive and sadly mistaken.
I have had encounters with police in Southern California in which they have threatened me, and I have been in situations twice where police have lied about (luckily small) matters. I was of unconventional appearance (shaved head except for foot-long pigtail on side of head) but not breaking the law at the time. One nice officer (maybe one of your four friends?) told me that he didn't like my looks, and if I didn't leave his town, he'd take me down the alley and beat nine kinds of shit out of me. At least he didn't plant drugs on me, like they sometimes do to others I know.
It may be that most cops are fine (though I think they have a groupthink that encourages "shortcuts"), but it's the ones that aren't fine that are the problem. And in any large group, you will find at least a few scumbags.
If police can drag camera crews for "reality TV" along when they bust people, effectively trashing the presumption of innocence, then the citizens should have the same right to capture it on film. The judicial decision is further evidence of Massachusetts' authoritatian mindset. Not much has changed since Salem, huh.
And the other posters are right about not trusting the Supreme Court. In a sane society, those bozos would not be allowed to hold positions of responsibility such as 7-11 manager, leaf-blower operator, or chicken plucker, let alone judge. It's evidence of the profound malaise of the system that a Scalia, Thomas or Rehnquist could even have been nominated without being laughed out of the Senate.
When I run the process, I make sure that the QA engineer is NOT in charge. They focus too much on style, and miss the fitness-for-use and other engineering-suitability choices that are really worth examining and justifying.
I've found that it was better to have the best techie (TD or group tech lead) run the review. It takes up some of their time, but it makes the review an occasion for mentoring rather than nitpicking.
The tailoring suggestion, though, is a good one. Just be sure that steps aren't being tailored out in order to hide embarrassing screw-ups. The people who think they need least review are often the ones who need it most. If I saw a lot of resistance, I'd run those reviews myself (I was in charge of the project).
And as to the "taking it personally" problem mentioned in other posts: encourage the people who personalize issues (either pro or con) to leave. Reviews give a good opportunity to see who those people are. Backstabbers and prima donnas will kill your project and your business, no matter how technically capable they might be. Reviews will be hell for all concerned if that kind of behavior is tolerated. System development is a collaborative effort, and that means collaboration is a necessary part of the job. Much of the resistance to reviews is a denial of that fundamental fact of life.
"We tried it once and then decided it wasn't worth it." Your post was facetious, but painfully close to what I've seen when consulting on how not to screw up development.
I've heard the same thing about just about any process improvement that, when done right, can improve the quality of your product. Controlling your code baseline, knowing what your requirements are, testing your code, knowing the status of your project. They all involve discipline and perseverance, and there are plenty of excuses for not doing them at the first sign of resistance.
The proper name for this kind of resistance is "passive agression."
The real problem with code reviews is finding two people who know enough about the problem domain and the technologies being used to do the review. In a lot of firms, even one qualified person is hard to find. Having your code reviewed by someone who doesn't have the faintest idea what you're doing might be good training for them, but it's not a review. I suspect this is one reason firms try it once, then throw up their hands.
The trick is not to starve projects of resources (like enough qualified coders). Good luck convincing the managers!
I think it's deeply embedded in the culture, and very ancient. The system of legal scolding is a lot like the shouting-down that American jaywalkers are so surprised to receive from other pedestrians in German cities. I got chewed out in Munich for crossing a completely empty street at midnight, by the only other person who was out. Seemed more like some weird residual Protestant exhortation than denunciation, but it still had a disturbing effect. Made me think about how deep the differences in cultural norms can be in superficially similar societies.
Looks like the legal system has enshrined this as a form of peer-pressure-for-profit.
Perhaps it's time to switch metaphors.
Apple is trying to be Bose. Design for the sake of design, even when it leads to sometimes questionable functionality (think Bose's idiosyncratic sound coloration). Pretends to be high-end, but really people buy it because they like the looks. Meanwhile the rest of the industry has moved on to boom boxes. Never mind the sound quality, they're cheap, you can stuff any kind of media you like into them, and it usually plays OK.
The difference is that, in the computer market, the boom box equivalents have nearly overtaken the high-end stereos, while still managing to retain their cheesy origins.
Don't try this at home, kids. If you're a US citizen, and you obtain dual nationality as an adult (the rules are different for those who have dual nationality by birth), then you use the non-US passport to enter the US, this can be taken as evidence that you have renounced your US citizenship. They used this logic to mess with draft-dodgers who acquired dual US/Canadian nationality.
I'm not entirely sure what this says about M$passports, though. Eventually, the cost of opting out of monopoly situations like (maybe) Passport gets too great, and everyone either gets sucked in or is marginalized.
So we'd better sue the S.O.B's now, before they get even bigger and more intrusive.
A friend of mine suggested that this debate will settle out with a compromise in which individuals will have ownership rights over their personal data, and users will be forced to compensate the owners for use, but a system of "compulsory purchase" will replace current opt-out privileges.
So you'll get a micropayment everytime your personal data changes hands, but you won't be able to stop the trade.
I'm pessimistic enough to give this credence.
"Remember, it isn't until we start passing regulations that affect big business that big business starts interfering in governmental issues."
For much of history, there was no meaningful distinction between government and big business. The ancient Romans operated a system of bribes and kickbacks. It was only in the past couple of centuries that government and business were really decoupled, and then only in a few countries. Your view is an oversimplified version of a 19th-century liberal belief that few who have observed the behavior of real businesses would have taken seriously even then. "Free-marketeer" Adam Smith certainly didn't believe it for an instant. Only some unreasonably optimistic Victorians a few generations later.
The only way to keep big business out of government is to force them out. It's disingenuous to say that the best way to do this is to just give them what they want, with no consideration of the greater good.
As for profit increases, classical economics predicts that, in a truly free market, high profits are never sustainable. In the absence of barriers to entry, other players will undercut the high profits, and competition will drive all players towards the same, lower, margins. In cases where we don't see that happening, we're looking at market failure. But I suppose that, for libertarians, even market failure is not sufficient cause to consider intervention?
My recommendations:
1. Python
2. Java
3. Perl
4. C++
5. Any variant of Basic, with VB last
Reasons: The OO and functional programming aspects of Python are cleaner and easier to get to than those of the other languages, and the overall semantics are more straightforward (except for namespaces, urgh...).
Java is kind of half-OO, and the strong typing and lack of primitive types and functions as first-class objects makes for some annoying restrictions. Perl's great, but one of its pre-eminent features is its lack of structure, so I'd save it for later. C++ is overly baroque, and you spend more time learning about the interaction of all its non-orthogonal features than you do in solving real problems. Unless memory leaks are a key element of the curriculum, defer C++ for as long as possible. Basic has essentially no meaningful OO support, and manages to combine weak functionality with poor performance. It also encourages poor programming practices. VB tries to kludge some OO features onto Basic, and they don't really fit. The worst code I've seen has been in VB, followed by C++. The best has been in Python and Java.
I think that you were pointing in (3) towards one of the most important economic arguments for occasionally ripping it all out and starting over: the code moves out of the "maintainability window." Anyone who has seen the bathtub curve will know what I mean. This applies to all systems-- code isn't special in this way. After a certain point, it starts becoming hard to find people who know how to maintain the code base; vendors no longer support it; and there are so many layers of cruft that breakage is the inevitable consequence of even minor changes. And every system contains undocumented features and long-forgotten tradeoffs that increase in proportion to the number of hands that have touched it. Each of these is a booby trap for the next maintainer. At some point it just doesn't make sense to train any more new tightrope walkers instead of fixing the fucking bridge.