That's simply not true. Any member of staff working at an organisation shares a certain amount of collective responsibility to do their part well, and help others to do likewise. Only a smart-ass manager would expect an engineer to produce 100% bug free code and make no allowance for screw-ups. Only a smart-ass critic would expect management to hire only perfect staff and fire them instantly if their perfection diminishes. The real world doesn't work that way.
That said, if I were the manager of an engineer senior enough to be customer-facing, and the engineer started making promises and changing deals, that would be a first-and-final-warning kind of deal, and only if I were in a good mood. That kind of behaviour is serious professional misconduct. Anyone who can't tell the difference between sincerely seeking a customer's viewpoint so you can do a good job of meeting it (a good thing for engineers) and actually negotiating with the customer and making commitments on behalf of the company (a bad thing for engineers) is clearly incompetent to hold that job.
Please avoid using any Flash or ECMAScript/JavaScript/AnyScript, or at least provide a non-script fallback for those of us who have all of that crap disabled.
I agree 100%, although I wouldn't object to some useful scripting, e.g., more flexible layout of popular threads, perhaps allowing on-the-fly expanding and collapsing of bodies in subthreads.
Allow us to use more character entity references (such as , ½, etc.) in comments.
Yes! Also, some easy way of inputting tab characters in things like code listings would be useful; I've never worked out how some people get that to work.
One thing I've noticed is that small body fonts on web sites nearly always come from designers who use Macs. I've never really worked out why. The fonts look small and annoying on their Macs, too, so it's not just some difference in font rendering or something.
Actually, I think it is: comparing the typical Mac fonts (Geneva and the like) with the typical Windows fonts (Arial and the like) at the same point size, they certainly look significantly different to me, with the Windows fonts rendering significantly smaller on average. I've always assumed this was something to do with Macs historically using different physical screen resolutions, though I don't have any numbers to check whether that makes sense.
This is a very good argument for what we all seem to agree on around here: the main body text of a page should be set to the default font size configured by the user's browser, not x-small, 90%, or (God forbid) an absolute pixel value like 10px. This is usability 101 stuff, and any professional web designer who's still getting it wrong doesn't deserve the title. Setting text in a small font that many users can't read isn't stylish or clever, it's thoughtless and inconsiderate.
But it would be interesting to hear from some CAD developers - do you write low-level stuff in-house, e.g. do you write triangles directly to the GPU, or do you purchase development environments [PIXAR, DirectX, OpenGL/Mesa, VRML, whatever] that perform the low-level translations for you?
Usually the latter; CAD applications are complex beasts, and life's too short to reinvent the wheel all the time.
IANACD either, but I do write libraries used by them.:-)
My understanding is that CAD software has a lot of processor specific opitizations.
Don't count on it. A lot of the serious maths is farmed out to external libraries. Those libraries are often highly portable. Given the inherent complexity of many of the algorithms involved, and the frequency of new compiler/processor releases, there isn't really time to do much platform-specific optimisation work beyond setting sensible compiler options and the like.
Even if there was time to spend on micro-optimisation, it wouldn't help that much anyway. In this business, you usually count performance benefits in powers of N (where N is usually something like the number of geometric figures in a particular part of a model or the number of control points on a NURBS figure), or in orders of magnitude (typically where some new algorithm is developed to do some key processing), not the odd 10% speed up gained by micro-optimisation of a particular implementation of a particular algorithm on a particular platform with a particular compiler version.
Obviously I'm generalising somewhat. There's clearly a lot of scope for parallel processing on some platforms, for example, particularly as mainstream processors become multi-core by default, and serious CAD workstations come with multiple physical processors. Again, though, the interest is more in how readily parallelisable the algorithms are in this case than in using some particularly clever combination of MMX/SSE/whatever instructions to squeeze an extra 5% out of a particular build.
Just MHO, of course, and all opinions here are my own and do not represent those of any CAD software vendor, mathematical library vendor, tech pundit, CAD software user, or anyone else for that matter...
No offence, but you're not a lawyer, are you? Unfortunately, as much as I wish your beliefs and doubts were justified, a lot of what you wrote sounds very unlike what lawyers in prominent jurisdictions say on these subjects.:-(
Unfortunately a lot of companies have IP clauses in ther contracts w/ employees. For example, I used to work for IBM and they had first dibs on anything I developed, whether it was on company time or not.
In most places, that's unenforceable.
In that case, a surprisingly large number of people seem to get screwed by unenforceable contractual terms.:-(
When my employer (after being bought out) tried to stick "all your IP are belong to us" terms into the new contract everyone got, at least half the dev team expressed their negative opinions pretty vocally, and the changes from the previous terms in this area were dropped.
On the other hand, if the stuff you've developed is on company time, using company resources, or clearly related to your role at the company -- and it sounds like the latter applies here -- then I would expect the employer to have first claim over it, even in a contract that says anything other than those categories is yours.
You stripped the qualifier "for serious performance work" when you quoted me. GCC has many good things going for it; performance just isn't (yet?) one of them.
Actually, that's not true in many cases -- GCC 3.x generates very good code, but the 4.x versions still haven't caught up with the 3.x line.
I write high performance, highly portable code for a living. I use nearly a dozen compilers, including GCC, supporting more than half a dozen different platforms between them. I just finished spending several weeks specifically researching ways to further improve that performance. And I'm sorry, but you're wrong.
Code generated by any recent version of, say, VC++ or Intel's compiler, blows code generated by GCC away most of the time on performance. These other compilers are tuned to optimise for a specific architecture, where GCC's optimisations are inherently generic for the most part, so this isn't really surprising. Indeed, the sample code in the first post of this subthread is an example of exactly this issue, and you can compare it with similar examples from other compilers posted elsewhere in this discussion to see the difference.
Even on the generic optimisation front, GCC has only very recently merged in the SSA branch, while competing compilers have been supporting whole program optimisation using related techniques for several years now. I imagine the balance will tilt back towards GCC a bit now the SSA framework is in place, since this gives scope for many new optimisations to be introduced with relatively little effort, but as of today that hasn't happened yet.
None of this is necessarily a criticism of GCC per se; its goals are different to VC++ or Intel's software or whatever other alternative. But if raw performance is what matters, GCC is usually not the best choice today.
OK, fair play, you actually had me for a couple of posts there and I thought you were serious. The religious nut job act pretty much gave you away, but nicely trolled, sir.
GCC is designed to be portable, not fast, so the code is generates is often pretty bad compared to specialised, platform-specific compilers. Obviously your test is relevant if GCC is the compiler you'll be using, but for serious performance work it's pretty much irrelevant what GCC generates because no-one uses it when native alternatives are available anyway. In fact, your example code here is a great demonstration of this!
You can alter the chars of char_ptr all you want, it's just a pointer to some bytes (that happen to be ascii chars) on the stack.
Nope, sorry, he was right and you're wrong. In the code given, char_ptr points to a string literal, which is automatically constant data and can be stored somewhere completely different to either the stack or the heap. Attempting to change that data results in undefined behaviour.
(For completeness: in C++, you can only even point a (non-constant) char * to a string literal because of a deprecated hack in the language spec that allows you to violate the type system, though I'm not sure C99 picked up on that one.)
If it truly matters then you count the ticks for each platform, and decide if it is reasonable. 3 ticks versus 2... that's 33%. 2 ticks versus 1... that's 50%.
Not necessarily. You're ignoring the fact that modern processors use pipelining architectures, branch prediction, extensive caching often at several levels, and a whole host of other things that mean the total time required is not the sum of the individual times for each instruction.
One of these days, someone will invent a program that can take some more abstract representation of what we want to do, and automatically generate optimised machine code from it on any given platform. Yeah, there's an idea... I can C it now!
I shouldn't reply to this, nor confess as much, but some of your points really need to be countered.
You conveniently forget that the weapon was used against a despotic Emperor supported by a fantical military machine that attacked the US first.
Which part of "the resulting death of hundreds of thousands of civilians" didn't you understand? Do you not appreciate the ethical difference between killing a combatant and killing a civilian?
In some of the countries you seem to admire and support, all UN members, terrorists, such as those in Gitanamo are summarily executed.
OK, reality check. The US is holding hundreds of people in Gitmo without even trying them for any crime, never mind convicting them in a fair court. You don't know they're terrorists. You don't even know if they didn't say thank you when their mothers gave them a toy one day. Sure, it's a good bet that a lot of them are pretty unpleasant people, but even then the vast majority were arrested on a foreign battlefield in the middle of what the US officials choose to call a war, yet using legal technicalities and weasel words those same US officials choose not to treat them as prisoners of war. None of this implies that these are potential suicide bombers. The word "terrorist" has been turned into a synonym for "anyone we don't like who's prepared to stand up to us" by the US government, as a convenient excuse to avoid the usual legal technicalities like proving guilt before you punish someone.
In fact, when several British Gitmo detainees were finally released and returned to my country, they were held at the airport when they landed pending a brief investigation of the "evidence" provided by US authorities to our own, and then immediately released without charge. Such, apparently, is the level of "evidence" that justifies holding people in a prison camp for several years under conditions condemned by international human rights organisations as inadequate on several occasions. This is the epitome of why so many people outside the US now have neither respect nor trust for the US government and its actions.
Exactly and neither do those at the UN that use junk science to try convince the western nations, including the US, that we are responsible for global warming and other environmental disasters.
So you're an expert on environment too, are you? One who knows better than all the scientists who study this sort of thing, and can identify exactly where things like holes in the ozone layer have formed?
The US is basically the worst polluter in the world, and no amount of paper or bits in a bank computer will change the reality that you are destroying the environment around you, and ultimately you're negatively affecting it for everyone else as well. You can't buy nature, can't bribe it, can't pay it off in an out-of-court settlement after the damage is done. The US environmental policy is a hazard to the rest of the world. If you want a genuine reason to wage war against a foreign country in defence of your own, you just gave an example that applies to pretty much everyone in the world except the US, right there.
Fine, let them spend lots of their money to re-invent the wheel. While they are at it, they may as well build their own Internet, design and fabricate high performance microchips and write the software that runs on them, not using our patents and copyrights.
It's not so much reinventing the wheel as building our own, and we're doing just fine with all those things you mentioned, thanks. As for your patents and copyrights, well, fortunately for the rest of us, most other countries haven't yet caved in to US demands for absurd extensions to the protections granted by IP, nor does the US have the right or ability to enforce its wishes in this area beyond its own borders, so I'm afraid we'll just have to screw your big business on
Not a lot, apparently. For those who didn't read TFsummary on the subject the other day, the primary reason for closing the source was that keeping it open was gaining little benefit, while supporting those directly competing with the company offering it.
May I ask what in particular? It's obviously significant enough that you've noticed!
I wish more people in the USA could see just how much damage this administration has done to their country. Damage that will take at least a generation to fix, possibly much longer.
I certainly hope not. However, I think it would need a dramatic shift in the administration to restore the confidence of the outside world.
Bush and his entire inner circle would probably have to go for a start. That includes a lot of the people he's appointed to other key roles, many of whom aren't exactly popular outside the US administration anyway; appointing someone who's on the record as saying they don't like a major international organisation to be your liaison with that organisation isn't exactly stunning diplomacy!
Then you'd have to have a demonstrable attitude shift among the major replacements; less Donald Rumsfeld and more Colin Powell, if you know what I mean. There's not a lot anyone can do about the SCOTUS, so we'll have to hope the senior justices can rise above the politics when it comes to international affairs. Stamping on the obvious rule of big business over Congress and the Senate, and the resultant aggressive foreign policy, wouldn't do any harm, either.
With those measures in place, the US would at least no longer be actively hostile towards even its "allies". A couple of years making a genuine effort to re-engage with international dialogs on everything from security to the environment to intellectual property law to, yes, the Internet, would go a long way.
I don't see why this needs to take more than a few years, but the US population would be wise to elect more diplomatic representatives if it wants to see it happen.
If you study history you will know that the Europeans have been killing each other for centuries and the US had to clean up the mess of two World wars.
Not the best example to choose, given that your idea of cleaning up the mess appears to be becoming the only nation in the history of the world ever to actually use a weapon of mass destruction, with the resulting death of hundreds of thousands of civilians.
The US government, like any other is run by fallible humans, but is still limited under a constitution that has stood the test of over 200 years. What other countries of the world can you name that have had the same democratic governmental system and authority for that long?
That depends on whether you believe that the US today still honours the principles of that constitution. Countless past discussions on this forum suggest that not everyone does.
US businesses go into third world countries and create jobs for many. The jobs may be at low wages, but conditions are still better for people who then have SOME means of earning a living rather than having nothing or nearly so. People like you call that exploitation.
That's because a lot of it is exploitation. The conditions are usually pretty poor, and in some cases they really are obscene, but since the megacorp is messing up the local economy people have to work under those conditions because setting out on their own doesn't bring in enough money. All the time, the US corps are bringing the fruits of the cheap labour back home, instead of reinvesting in the foreign locations as a local firm would. It's the classic give a man a fish vs. teach a man to fish thing, and US big business is firmly in the loaning a man a fish at an exorbitant interest rate category.
You are right in that a lot of evil people despise the US because we stand up against their evil ambitions toward their neighbors. It is a great honor and shows that we are doing the right thing when we are despised by the many evil doers around the world.
That's great. And what about all the other people who aren't evil, but disagree with your government's position on (for example) the environment for entirely constructive reasons?
Now the incompetents at the UN want to run the Internet so they can try to stifle and control free expression and commerce.
That depends. I have no problem with them stifling US commerce, given that the typical US approach to big business and trade is directly harmful to their trading partners, and only works because the US can basically force it in the current economic climate. Did you really think the rest of the world would accept this indefinitely? Of course not, and I imagine the knives will really come out when the US's self-imposed economic crisis blows up sooner or later and it's vulnerable to the same tactics itself.
As long as Mr. Bush is in the White House, those DNS servers are very safe in the US and will continue to do their job for the whole world for free. The US owned and run GPS system will also be safe and useable by others around the world for not so much as a single cent.
You are absolutely right that most people don't want or need ultra-secure software, but as soon as these politicans and lawyers start meddling we'll see utlra-secure software with minimal features, few revisions, and extremely high costs.
I'm not sure I agree with your assumptions, but in any case, whether the above would actually be a bad thing is debatable. I wonder how many people who don't think they need secure software are part of a botnet that's used to extort millions from some innocent small company down the road?
People used to think drink-driving was OK, at least until they killed someone while unfit, by which time it's a bit late to be developing a conscience. These days drink-driving is socially unacceptable to most people, and the world is better for it. The nature of the behaviour didn't change, just the public's attitude to it.
It depends what you're assigning liability for. Holding a software vendor responsible in the event of any bug ever being discovered is unreasonable, just as it's unreasonable to expect no car ever to have mechanical problems during its lifetime. It's an impractical goal that would rarely if ever be reached, even by good guys making good products.
On the other hand, software companies should be expected to take reasonable steps to ensure the quality of their product, and be held liable for negligence. Rushing a product out the door when you have knowingly failed to follow sound practices during development and testing is negligent, and the vendor should be held liable for any resulting damage.
Of course, in order to police this practically, there has to be some level of incentive, so companies don't just "forget" to record bugs they discover and then claim the database was empty at shipping time. This would probably require a more robust, engineering-oriented culture to develop within the industry, voluntarily (because well-engineered software makes more money, and some managers are smart enough to realise that already) or through compulsion (because receiving compensation in exchange for software that hasn't been properly signed off becomes illegal, perhaps).
I think you're probably right on all counts. In a closely related discussion the other day, I too suggested that legal responsibility could be a good thing for people who write good code. I also suggested that the most important difference between true engineering disciplines and most of today's software development isn't the strict processes and paperwork, it's the role of the engineer, which spawned an interesting discussion about how to make the best use of your top flight developers, while still accepting the reality that the average developer is... well, average.:-)
Well, since this whole thread is going to be a trollfest from start to finish, we might as well get this one in early:
...the real world is a rather fucked up place, and the US is probably the least of all evils in this case.
The problem with the above is that the rest of the world doesn't believe that any more. The current US administration has quite possibly done more to damage international relations for the US than any other in modern history, and this is probably among the first of many ways it's going to come back to bite them and the citizens they represent.
It's not the only one: I watched with great sadness as people whom I know to have given very generously to things like the tsunami appeal openly refused to donate anything in the aftermath of Katrina, such was their loathing for the current state of affairs across the pond. Outside the US, the tragedy that hundreds of people died and countless thousands were displaced isn't what registers with a lot of people any more; they just see the mighty US get what they thought it had coming.
I honestly don't think a lot of US citizens realise just how negative their nation's world image is right now. People outside hear claims about protecting human rights, and the first thing they think of is the images from Gitmo. Every time this thread comes up, half a million zealots start claiming the US created the Internet, and the rest of us don't know whether to laugh or cry at the ignorance and naivety. War for oil, the environment, refusing to submit political and military leaders for internationally-recognised war trials while prosecuting leaders of other nations claiming that same authority, using trade power as a way to force other countries to change their legal systems to benefit US corporations at the expense of their own population, supporting dubious regimes in other nations... the list goes on, and none of it's pretty. You have to wonder how any remotely smart US citizen thought their administration could do this and never face any consequences.
That's simply not true. Any member of staff working at an organisation shares a certain amount of collective responsibility to do their part well, and help others to do likewise. Only a smart-ass manager would expect an engineer to produce 100% bug free code and make no allowance for screw-ups. Only a smart-ass critic would expect management to hire only perfect staff and fire them instantly if their perfection diminishes. The real world doesn't work that way.
That said, if I were the manager of an engineer senior enough to be customer-facing, and the engineer started making promises and changing deals, that would be a first-and-final-warning kind of deal, and only if I were in a good mood. That kind of behaviour is serious professional misconduct. Anyone who can't tell the difference between sincerely seeking a customer's viewpoint so you can do a good job of meeting it (a good thing for engineers) and actually negotiating with the customer and making commitments on behalf of the company (a bad thing for engineers) is clearly incompetent to hold that job.
I agree 100%, although I wouldn't object to some useful scripting, e.g., more flexible layout of popular threads, perhaps allowing on-the-fly expanding and collapsing of bodies in subthreads.
Yes! Also, some easy way of inputting tab characters in things like code listings would be useful; I've never worked out how some people get that to work.
Actually, I think it is: comparing the typical Mac fonts (Geneva and the like) with the typical Windows fonts (Arial and the like) at the same point size, they certainly look significantly different to me, with the Windows fonts rendering significantly smaller on average. I've always assumed this was something to do with Macs historically using different physical screen resolutions, though I don't have any numbers to check whether that makes sense.
This is a very good argument for what we all seem to agree on around here: the main body text of a page should be set to the default font size configured by the user's browser, not x-small, 90%, or (God forbid) an absolute pixel value like 10px. This is usability 101 stuff, and any professional web designer who's still getting it wrong doesn't deserve the title. Setting text in a small font that many users can't read isn't stylish or clever, it's thoughtless and inconsiderate.
So was Betamax, but it never reached critical mass.
Usually the latter; CAD applications are complex beasts, and life's too short to reinvent the wheel all the time.
IANACD either, but I do write libraries used by them. :-)
Don't count on it. A lot of the serious maths is farmed out to external libraries. Those libraries are often highly portable. Given the inherent complexity of many of the algorithms involved, and the frequency of new compiler/processor releases, there isn't really time to do much platform-specific optimisation work beyond setting sensible compiler options and the like.
Even if there was time to spend on micro-optimisation, it wouldn't help that much anyway. In this business, you usually count performance benefits in powers of N (where N is usually something like the number of geometric figures in a particular part of a model or the number of control points on a NURBS figure), or in orders of magnitude (typically where some new algorithm is developed to do some key processing), not the odd 10% speed up gained by micro-optimisation of a particular implementation of a particular algorithm on a particular platform with a particular compiler version.
Obviously I'm generalising somewhat. There's clearly a lot of scope for parallel processing on some platforms, for example, particularly as mainstream processors become multi-core by default, and serious CAD workstations come with multiple physical processors. Again, though, the interest is more in how readily parallelisable the algorithms are in this case than in using some particularly clever combination of MMX/SSE/whatever instructions to squeeze an extra 5% out of a particular build.
Just MHO, of course, and all opinions here are my own and do not represent those of any CAD software vendor, mathematical library vendor, tech pundit, CAD software user, or anyone else for that matter...
No offence, but you're not a lawyer, are you? Unfortunately, as much as I wish your beliefs and doubts were justified, a lot of what you wrote sounds very unlike what lawyers in prominent jurisdictions say on these subjects. :-(
In that case, a surprisingly large number of people seem to get screwed by unenforceable contractual terms. :-(
When my employer (after being bought out) tried to stick "all your IP are belong to us" terms into the new contract everyone got, at least half the dev team expressed their negative opinions pretty vocally, and the changes from the previous terms in this area were dropped.
On the other hand, if the stuff you've developed is on company time, using company resources, or clearly related to your role at the company -- and it sounds like the latter applies here -- then I would expect the employer to have first claim over it, even in a contract that says anything other than those categories is yours.
Do not try the L337 sk1llz of Slashdotters, for they are unsubtle and quick to code a DoS script!
Sorry, but your sense of humour is shocking today.
You stripped the qualifier "for serious performance work" when you quoted me. GCC has many good things going for it; performance just isn't (yet?) one of them.
I write high performance, highly portable code for a living. I use nearly a dozen compilers, including GCC, supporting more than half a dozen different platforms between them. I just finished spending several weeks specifically researching ways to further improve that performance. And I'm sorry, but you're wrong.
Code generated by any recent version of, say, VC++ or Intel's compiler, blows code generated by GCC away most of the time on performance. These other compilers are tuned to optimise for a specific architecture, where GCC's optimisations are inherently generic for the most part, so this isn't really surprising. Indeed, the sample code in the first post of this subthread is an example of exactly this issue, and you can compare it with similar examples from other compilers posted elsewhere in this discussion to see the difference.
Even on the generic optimisation front, GCC has only very recently merged in the SSA branch, while competing compilers have been supporting whole program optimisation using related techniques for several years now. I imagine the balance will tilt back towards GCC a bit now the SSA framework is in place, since this gives scope for many new optimisations to be introduced with relatively little effort, but as of today that hasn't happened yet.
None of this is necessarily a criticism of GCC per se; its goals are different to VC++ or Intel's software or whatever other alternative. But if raw performance is what matters, GCC is usually not the best choice today.
OK, fair play, you actually had me for a couple of posts there and I thought you were serious. The religious nut job act pretty much gave you away, but nicely trolled, sir.
GCC is designed to be portable, not fast, so the code is generates is often pretty bad compared to specialised, platform-specific compilers. Obviously your test is relevant if GCC is the compiler you'll be using, but for serious performance work it's pretty much irrelevant what GCC generates because no-one uses it when native alternatives are available anyway. In fact, your example code here is a great demonstration of this!
Nope, sorry, he was right and you're wrong. In the code given, char_ptr points to a string literal, which is automatically constant data and can be stored somewhere completely different to either the stack or the heap. Attempting to change that data results in undefined behaviour.
(For completeness: in C++, you can only even point a (non-constant) char * to a string literal because of a deprecated hack in the language spec that allows you to violate the type system, though I'm not sure C99 picked up on that one.)
Not necessarily. You're ignoring the fact that modern processors use pipelining architectures, branch prediction, extensive caching often at several levels, and a whole host of other things that mean the total time required is not the sum of the individual times for each instruction.
One of these days, someone will invent a program that can take some more abstract representation of what we want to do, and automatically generate optimised machine code from it on any given platform. Yeah, there's an idea... I can C it now!
...and said they can't have them because all these new-fangled alternatives suck when you've got serious work to do.
I shouldn't reply to this, nor confess as much, but some of your points really need to be countered.
Which part of "the resulting death of hundreds of thousands of civilians" didn't you understand? Do you not appreciate the ethical difference between killing a combatant and killing a civilian?
OK, reality check. The US is holding hundreds of people in Gitmo without even trying them for any crime, never mind convicting them in a fair court. You don't know they're terrorists. You don't even know if they didn't say thank you when their mothers gave them a toy one day. Sure, it's a good bet that a lot of them are pretty unpleasant people, but even then the vast majority were arrested on a foreign battlefield in the middle of what the US officials choose to call a war, yet using legal technicalities and weasel words those same US officials choose not to treat them as prisoners of war. None of this implies that these are potential suicide bombers. The word "terrorist" has been turned into a synonym for "anyone we don't like who's prepared to stand up to us" by the US government, as a convenient excuse to avoid the usual legal technicalities like proving guilt before you punish someone.
In fact, when several British Gitmo detainees were finally released and returned to my country, they were held at the airport when they landed pending a brief investigation of the "evidence" provided by US authorities to our own, and then immediately released without charge. Such, apparently, is the level of "evidence" that justifies holding people in a prison camp for several years under conditions condemned by international human rights organisations as inadequate on several occasions. This is the epitome of why so many people outside the US now have neither respect nor trust for the US government and its actions.
So you're an expert on environment too, are you? One who knows better than all the scientists who study this sort of thing, and can identify exactly where things like holes in the ozone layer have formed?
The US is basically the worst polluter in the world, and no amount of paper or bits in a bank computer will change the reality that you are destroying the environment around you, and ultimately you're negatively affecting it for everyone else as well. You can't buy nature, can't bribe it, can't pay it off in an out-of-court settlement after the damage is done. The US environmental policy is a hazard to the rest of the world. If you want a genuine reason to wage war against a foreign country in defence of your own, you just gave an example that applies to pretty much everyone in the world except the US, right there.
It's not so much reinventing the wheel as building our own, and we're doing just fine with all those things you mentioned, thanks. As for your patents and copyrights, well, fortunately for the rest of us, most other countries haven't yet caved in to US demands for absurd extensions to the protections granted by IP, nor does the US have the right or ability to enforce its wishes in this area beyond its own borders, so I'm afraid we'll just have to screw your big business on
Not a lot, apparently. For those who didn't read TFsummary on the subject the other day, the primary reason for closing the source was that keeping it open was gaining little benefit, while supporting those directly competing with the company offering it.
May I ask what in particular? It's obviously significant enough that you've noticed!
I certainly hope not. However, I think it would need a dramatic shift in the administration to restore the confidence of the outside world.
Bush and his entire inner circle would probably have to go for a start. That includes a lot of the people he's appointed to other key roles, many of whom aren't exactly popular outside the US administration anyway; appointing someone who's on the record as saying they don't like a major international organisation to be your liaison with that organisation isn't exactly stunning diplomacy!
Then you'd have to have a demonstrable attitude shift among the major replacements; less Donald Rumsfeld and more Colin Powell, if you know what I mean. There's not a lot anyone can do about the SCOTUS, so we'll have to hope the senior justices can rise above the politics when it comes to international affairs. Stamping on the obvious rule of big business over Congress and the Senate, and the resultant aggressive foreign policy, wouldn't do any harm, either.
With those measures in place, the US would at least no longer be actively hostile towards even its "allies". A couple of years making a genuine effort to re-engage with international dialogs on everything from security to the environment to intellectual property law to, yes, the Internet, would go a long way.
I don't see why this needs to take more than a few years, but the US population would be wise to elect more diplomatic representatives if it wants to see it happen.
Not the best example to choose, given that your idea of cleaning up the mess appears to be becoming the only nation in the history of the world ever to actually use a weapon of mass destruction, with the resulting death of hundreds of thousands of civilians.
That depends on whether you believe that the US today still honours the principles of that constitution. Countless past discussions on this forum suggest that not everyone does.
That's because a lot of it is exploitation. The conditions are usually pretty poor, and in some cases they really are obscene, but since the megacorp is messing up the local economy people have to work under those conditions because setting out on their own doesn't bring in enough money. All the time, the US corps are bringing the fruits of the cheap labour back home, instead of reinvesting in the foreign locations as a local firm would. It's the classic give a man a fish vs. teach a man to fish thing, and US big business is firmly in the loaning a man a fish at an exorbitant interest rate category.
That's great. And what about all the other people who aren't evil, but disagree with your government's position on (for example) the environment for entirely constructive reasons?
That depends. I have no problem with them stifling US commerce, given that the typical US approach to big business and trade is directly harmful to their trading partners, and only works because the US can basically force it in the current economic climate. Did you really think the rest of the world would accept this indefinitely? Of course not, and I imagine the knives will really come out when the US's self-imposed economic crisis blows up sooner or later and it's vulnerable to the same tactics itself.
You know that there are active plans to construct an alternative GPS network as well, right?
Overall, you score about 4/10; must try harder if you really want anyone to believe you, I think.
I'm not sure I agree with your assumptions, but in any case, whether the above would actually be a bad thing is debatable. I wonder how many people who don't think they need secure software are part of a botnet that's used to extort millions from some innocent small company down the road?
People used to think drink-driving was OK, at least until they killed someone while unfit, by which time it's a bit late to be developing a conscience. These days drink-driving is socially unacceptable to most people, and the world is better for it. The nature of the behaviour didn't change, just the public's attitude to it.
It depends what you're assigning liability for. Holding a software vendor responsible in the event of any bug ever being discovered is unreasonable, just as it's unreasonable to expect no car ever to have mechanical problems during its lifetime. It's an impractical goal that would rarely if ever be reached, even by good guys making good products.
On the other hand, software companies should be expected to take reasonable steps to ensure the quality of their product, and be held liable for negligence. Rushing a product out the door when you have knowingly failed to follow sound practices during development and testing is negligent, and the vendor should be held liable for any resulting damage.
Of course, in order to police this practically, there has to be some level of incentive, so companies don't just "forget" to record bugs they discover and then claim the database was empty at shipping time. This would probably require a more robust, engineering-oriented culture to develop within the industry, voluntarily (because well-engineered software makes more money, and some managers are smart enough to realise that already) or through compulsion (because receiving compensation in exchange for software that hasn't been properly signed off becomes illegal, perhaps).
I think you're probably right on all counts. In a closely related discussion the other day, I too suggested that legal responsibility could be a good thing for people who write good code. I also suggested that the most important difference between true engineering disciplines and most of today's software development isn't the strict processes and paperwork, it's the role of the engineer, which spawned an interesting discussion about how to make the best use of your top flight developers, while still accepting the reality that the average developer is... well, average. :-)
Well, since this whole thread is going to be a trollfest from start to finish, we might as well get this one in early:
The problem with the above is that the rest of the world doesn't believe that any more. The current US administration has quite possibly done more to damage international relations for the US than any other in modern history, and this is probably among the first of many ways it's going to come back to bite them and the citizens they represent.
It's not the only one: I watched with great sadness as people whom I know to have given very generously to things like the tsunami appeal openly refused to donate anything in the aftermath of Katrina, such was their loathing for the current state of affairs across the pond. Outside the US, the tragedy that hundreds of people died and countless thousands were displaced isn't what registers with a lot of people any more; they just see the mighty US get what they thought it had coming.
I honestly don't think a lot of US citizens realise just how negative their nation's world image is right now. People outside hear claims about protecting human rights, and the first thing they think of is the images from Gitmo. Every time this thread comes up, half a million zealots start claiming the US created the Internet, and the rest of us don't know whether to laugh or cry at the ignorance and naivety. War for oil, the environment, refusing to submit political and military leaders for internationally-recognised war trials while prosecuting leaders of other nations claiming that same authority, using trade power as a way to force other countries to change their legal systems to benefit US corporations at the expense of their own population, supporting dubious regimes in other nations... the list goes on, and none of it's pretty. You have to wonder how any remotely smart US citizen thought their administration could do this and never face any consequences.