Some of them may be necessary bug fixes, some may be obsolete bug fixes, some may be something someone though would fix a bug which dosn't, etc, etc.
The difficult bit is deciding which is which, with people tending to take the conservative position.
That's not the point. The point is that unless there's a bug, you shouldn't be looking at that code in the first place. Go find something productive to do. Sure, that code might be ugly, it might be klugey, it might be 1200 lines long and have things in it that really ought to be abstracted out. But that's not a good enough reason to go digging through it again.
The real deciding criterium is economic: Any change you make costs the company money. In order to be worthwhile, it should save or earn that money back, and do so before that change is yanked out again by the next guy.
They're just tailoring their reference materials to match the sensibilities of their audience.
Funny, I always thought that reference resources (encyclopedia, dictionaries, thesauri, API documentation, etc) were intended to be unbiased representations of actual fact.
I agree that this is a minor annoyance, and hardly the end of the world. But it's disturbing nonetheless. What kills me is that MS can downgrade their product, and suffer no consequences. How many people would return their copies of Word 2000 if they discovered this? None.
M$ Has built, maintained and expanded its monopoly on the firm foundation of user ignorance and lazines. The only reason that such trivia as default desktop icons have been elevated to core matter in an antitrust case is that the vast majority of computer users are barely able to use their computers at all.
When I bitch about MS's monopoly, my dad always has the same answer: "But I don't want competition. I like that I can just use Microsoft for everything. I don't want to have to think about which word processor, or what operating system I'm using. That's too complicated. I just want it to work."
This is why MS is on top, and will stay there for some time to come. They understand that their users are deeply uncomfortable working with computers to begin with, and even something as simple as installing a new Web browser is often too much for them. Users will take the path of least resistance, and will chose the Hell they know over the Hell they don't every time.
I've heard it said several times that our (US) legislators are sincerely trying to do good on behalf of their constituency, but that most tech lobbyists work on behalf of groups with specific agendas. What hope is there for 'White Hat' tech lobbyists to make their mark in Washington's political scene, and what would you suggest to anyone with thoughts of becomming a lobbyist?
While I truly believe in the good will of legislators, police officers, and judges, it has become obvious that many of those responsible for drafting, enforcing, and interpreting tech law simply are not qualified to do so. This is troubling at best, and at worst is it outright dangerous.
What can be done (either by organizations such as the EFF, or by citizens acting individually) ro raise the 'cluefulness' of our legislators? Do they listen, or are our voices simply overwhelmed by political reality? How can we get our message through?
Against the overwhelming tide of distrust here on Slashdot, I'm one who actually believes that U.S. Congressmen are trying to do the right thing. These are guys who grew up believing that they could change the world, make it a better, safer, happier place to live. They may have learned to "play the game" along the way, but their goals are the same.
The trouble is: When it comes to technology, they don't know their ass from their elbow. With a few exceptions, they're simply not qualified even to talk to their own children.
So they try to regulate the production of software they way they would with cars, or guns, or oil. The whole Open Source idea hasn't gotten through to them yet, and no wonder. How are these Congressmen going to digest the idea that they essentialy can't regulate software in any meaningful way.
And they're listening to all the wrong people. The only information they get comes from corporate lobbyists and special interest groups. Groups like the EFF are fighting an uphill battle counteraction all the bullshit spouted by the RIAA, MS, etc. We need more "Light Side" lobbyists, and we need them in a hurry.
These thoughts are hardly new, but I'll try to keep them short and
persuasive. I also hope they will address the issue in a way that
will help IP holders, lawmakers, and the public to see a way forward
to a solution agreeable to all.
Due Process: When Sklyarov was arrested in Nevada, he did
not receive a bail hearing. The (reasonable) justification for this
was that he would be quickly transferred to California, where he would
have his bail hearing and have his trial date set. After more than
two weeks, he has neither been transferred nor had his bail hearing.
I've read that in forign countries arrestees have demanded to be read
their Miranda rights, highlighting the United States' reputation for
justice and due process. Let's strengthen this tradition and
reputation by allowing due process to move forward for Dmitri
Sklyarov.
Freedom of Speech: The DMCA has already been used to
intimidate academics into withholding the results of their research
(The SDMI Challenge case). Sklyarov, unintimidated, presented the
substance of his work on encryption technologies in a Las Vegas
programmers' conference. He has been put in jail, sending a clear
message that threats made using the DMCA will be acted upon.
I do not believe that any legislation can make an encryption system
more secure. However, even if the DMCA did substantially
strengthen copyright protection, the far-reaching restrictions it
places on free speech are too high a price to pay. We cannot protect
intellectual property at the expense of intellectual exploration.
Seems like everyone that's had a positive experience where they went to school wants it done the way they learned. And everyone who had a negative experience with their CS program has all kinds of opinions about how to fix it. What both of these perspectives lack is an understanding of how people actually learn
You have to keep it simple-- whatever rout you go, you should make sure that the peripheral knowledge required is minimal to non-existant. No fair making people learn make in order to learn C. And no fair making them slog through all this crap about classes, public, static, void, and main just to write "Hello World" to the screen. Interpreted languages have the advantage of not needing a compiler, and pure procedural language skip all the OO stuff that you can cover later. (Though I believe in a move to OO once students have the basics down.) Scheme is lovely for these reasons, but anything that allows students to quickly get the matter of the lesson is fine.
The main thing is that generic concepts are stressed. It's useless to learn how to build an interpreter in Scheme if you don't see how the same thing could be expressed in Java, or C++, or whatever. It's far more valuable to start seeing all languages as data structures than it is to just build a parser. Once you see that, building an interpreter for any language, in any language is possible.
What I'm saying here is that starting from a high-level language, stressing high-level concepts, really is the Right Way to Do It. I've tutored students for several years, and I've always found that when you show them the big picture first, and keep it in mind when talking about the details, the light goes on much faster, and they remember more the next time.
<cheap shot>
Then again, that's just my first-hand experience and carefully-honed intuition talking. Starting with pointers, memory management and big-endianness might be the way to go after all.
</cheap shot>
[...]so that at the end of the day, the last thought that a customer support rep doesn't have is, "I don't need this..."
Exactly. And in today's labor market, it's easy enough to find other work. The high turnover rate in any service job these days (and the consequent drop in quality of service) is due in part to the growing economy. Now, that growth has (if you believe CNN) slowed down, but I know it's still just as easy to find a job as an office worker as it is to be a teller at a bank, or a waiter, or even a tech support rep.
I've never been in any service job where I didn't say "I don't need this sh!t..." on a regular basis. Dealing with the general public is a genuine pain in the ass, and takes tremendous skill (technical and personal) to do it well.
Yet the prevailing wisdom is that tech support reps are disposable. Despite the skill that many reps acquire, they're paid no more, treated no better, and therefore have no incentive to stay. If these companies changed their attitude, and devoted a little energy and money to hiring and keeping good tech support reps, I think we'd all see a huge difference.
I heartily agree. This is one of the questions nearest my heart, and a considered answer from Rep. Boucher would be most appreciated, especially as this falls well within the realm of his Internet interests.
And thank you, Rep. Boucher, for answering our questions. I can't tell you how great it is to have our Congressional representatives finally taking an interest in the 'Net, and in the opinions of its denizens.
>Couldn't agree more. Anything not directly associated with the CS dept. is likely to be a serious mistake if you want a career as a
>techie. (ie, programming, not just managing programmers.)
Caveat: this is more than 15 years old; you were (at best) in diapers:)
Yeah, true. I did speak too soon. I think the Mathmatics & Music depts. (I'm a music convert myself) would be the notable exceptions to this.
Mostly I was trying to warn against 'trade school' computer classes, usually masquerading as CS-Business hybrid programs.
One of the articles had an article outside his door with an on-the-record comment from an IBM recruiter/manager. He said that when hiring a programmer, he *preferred* a math major to a cs major, because, "I want someone who can think."
Definitely true. When I started taking upper-level mathmatics, I got several comments from professors to the effect of, "Oh, well, we'll be writing actual proofs, not just automating the process." One of the things that I really loved about Indiana University's CS program was the explicit aim to teach the students to think. One instructor burned "if all you have is a hammer, everything looks like a nail" into our minds for a semester, which killed any 'favorite language syndrome' in me forever. There were still a lot of 'cookie cutter' programmers in my classes, but I'm convinced that this was despite the instructors'/Professors' best efforts.
I guess the point here (and I should have said this in my earlier post) is that everything I've said has been from my own experience at one school. Things may be considerably different elsewhere.
Second, talk to your advisor. This is invaluable. They will be able to explain the your different options (or point you to someone who can).
This is good advice. There's no substitute for talking to someone who knows the territory. However, make sure you do everything you can to get to know the system yourself. I have been led astray several times by incompetant advisors; on one occasion, only intervention from the Dean of Students kept my graduation date from being threatened. Had I taken the time to truly understand University policy, I could have saved myself the headache.
Also, recognise that your classmates (especially upper-classmen) are absolutely invaluable in helping you make good decisions. From things as simple as which classes/professors to avoid/seek out to the more subtile, like helping explain the convoluted academic policies you're likely to encounter. Talk to your fellow students, and listen to what they say. This information is ususally better than any you will get from your advisor.
If you are interested in "programming" just go ahead and start in on the Computer Science major and decide on a concentration later. I would very strongly warn you against some kind of vo-tech, "we'll teach you VB and send you out into the world" type of major. Take the full science path--it's definitely worth it.
Couldn't agree more. Anything not directly associated with the CS dept. is likely to be a serious mistake if you want a career as a techie. (ie, programming, not just managing programmers.) What you get from a Computer Science degree are the fundamental concepts that help you learn new languages/techniques/etc. I always thought that Scheme might just be a waste of time, but over and over again I've found the concepts I used in writing good Scheme code (high-level stuff like abstraction & simplicity, as well as techniques like continuation/closure passing) useful in my every-day programming.
In short, if you want a technical job, I urge you to go the Science route.
Legally, this all boils down to one question: Is leaving a file share set up with no password equivalent to (a) leaving your front door unlocked so friends can come on in, or (b) leaving your front door open with a "come on in" sign so anybody can come in?
This distinction is based on two things:
How knowledgeable/experienced is the user sharing his files?
How protective are we going to be of that user?
It's simply not reasonable to expect that every home user in the world will keep up with security. (MS|GNU/Linux|Be) has given them an incredibly powerful tool, and they're going to use it to get where they want to go. Worrying about the more subtle (or not-so-subtle) effects of their choices is just not going to occur to them, nor should it. Serious network security is outside the scope of a home system/office. No one has the time to worry about network security and get any real work done.
Protecting these people is a good idea--sort of a 'forgive them, for they know not what they do' approach. But putting that notion into any official form is a mistake, little better than the MPA thinking their DVD's are secure simply because the DMCA makes it illegal to crack them. You'd still have people getting hacked, and they'd still whine that they didn't know any better. And they'd be right.
The only real solution to this is for people to learn to use their machines, but we all know that's not going to happen. The next best thing is for operating systems to install some intelligently-configured firewall/security software by default, and for the networking software (in this case MS, but this applies to all OS's) to eliminate/minimize such glaring holes.
What disturbs me about this is the growing stigma/suspicion associated with computers & geeks. This is the same phenomenon that surrounds homosexuals in much of this country: 'They're predators looking to diddle little boys!' For hackers, our goals, methods, and motivations are a mystery, and so the few that make the evening news end up being our representatives to the culture at large. I can't think of anything more frightening than being governed by a system that is tilted against me, run by people who misunderstand and fear me.
What we need to do is get the hell out of our little Ivory Tower that we've built for ourselves. Yes, your new shell/programming language/bit twiddler is great, but we need a little public outreach. What about doing free sysadmin work for non-profit organizations? Support & installation for youth centers & half-way houses? Teaching classes in low-income neighborhoods? We've let the black hats have the spotlight for too long, and too many of us consider it an accomplishment simply to write great software.
Any specifics you teach him are likely to hinder his understanding of the 'meta-programming'. Go heavy on design patterns, fundamentals of programming languages. Abstract your teaching just like you would good code. I.E., Don't teach him C. Teach him about programming languages, then show him how C fits into that. In one lesson, you've taught him C, and given him the (very very basic) foundations of compiler-writing.
And more importantly, Do not let anyone (especially himself) shut him away from the world. His parents may think it's best, and he may feel that it's easier to talk to computers than to people. Always remember that no matter how brilliant he may be (and become), the code he writes is not as important as a happy life.
OK, so all of our bosses (with a few exceptions) are pricks. They demand excessive hours, try to invade our lives with cell phones and pagers and email, and don't give a damn that we have wives or kids or friends.
What did you expect?
My point is that untill all of us collectively turn our pagers off for the weekend, and start leaving at 5, and taking our lunches, nothing will change.
Americans as consumers and employees have, over the last couple decades, made countless small concessions, and as a result, we now pay for such things as the 'special service' of actually talking to a teller at the bank, and give up our weekends by wearing our beepers. We work longer hours (in addition to such attrocities as the unpaid lunch hour- at my job an 8-hour day is 8 to 5), and we cave in at the threat of loosing our jobs. My mom (who is also a geek in her way) recently received a flyer about a piece of legislation under debate in California that would make tech industry employees exempt from overtime pay.
I know I'm ranting a little, but my point is that getting a new job is a very small price to pay for getting a little of your life back. Ask about overtime policies and average work schedules when you interview, and don't be shy about letting them know that you're not interested in a job if it requires being on call 24/7.
I look at it this way: I'm engaged to be married, and I'll be damned if I let her get away because I couldn't find the balls to say that I was leaving for the day.
This very much reminds me of something that came up in a class a couple years ago. Wherever there is famine, the root cause is a serious power unbalance. Famine are by their nature a political phenomenon. Native peoples survive precisely because they're able to successfully farm the land and raise livestock. The natives of South America practiced a sustainable "slash and burn" farming for thousands of years before the first invaders from Europe ever arrived. Sections of land were burned, then farmed for a few years, after which they were allowed to *completely* regrow before being burned again. Once economic and cultural pressures forced the shift to cattle and cash crops, these practices were impossible, or at least not economical, and were quickly abandoned, or rather, never taken up by those that now owned the land.
In the case of the Potato Famine in Ireland, Brittish rule had forced most Irish farmers to devote most of their airable land to cattle (see a theme here?), allowing them only a tiny portion of their own land from which to feed themselves. The most effective method for accomplishing this was the growing of potatos. Traditional crops (or rather the practice of growing multiple crops) would have survived the Potato Blight. However, now that the farmers were depending on the potato as their staple food, the Blight prooved deadly. Throughout the Famine, exports of beef continued to Brittain. The cows, (and the Britts, evidently) were eating fine.
More recently, the famine in Etheopia (any other oldsters out there remember "We Are the World"?) bore many of the same symptoms. Corporate involvement made it more profitable to raise cattle on the arid land, a practice that quickly decimated the ground cover that held the soil in place, causing the desert to spread, and making farming impossible.
Point being (and I know I'm stretching the bounds of "on topic" here): economic forces shape the world far more powerfully than any legislation. Political Action Committees and Special Interest Groups hold god-like influence over the US's legislative bodies, and recent attempts to get the electorate more involved have had exactly the opposite effect, conferring "political viability" on those candidates that have the funding to support an election campaign. So the government isn't going to change anything. And the corporations aren't going to change anything. And whatever you think, writing your Senator definately isn't going to change anything. (Recent polls have found that congressmen ignore emailed letters just as they do the paper kind.) You have to speak with your wallet and your vote, and get your friends to do the same.
The real deciding criterium is economic: Any change you make costs the company money. In order to be worthwhile, it should save or earn that money back, and do so before that change is yanked out again by the next guy.
I agree that this is a minor annoyance, and hardly the end of the world. But it's disturbing nonetheless. What kills me is that MS can downgrade their product, and suffer no consequences. How many people would return their copies of Word 2000 if they discovered this? None.
When I bitch about MS's monopoly, my dad always has the same answer: "But I don't want competition. I like that I can just use Microsoft for everything. I don't want to have to think about which word processor, or what operating system I'm using. That's too complicated. I just want it to work."
This is why MS is on top, and will stay there for some time to come. They understand that their users are deeply uncomfortable working with computers to begin with, and even something as simple as installing a new Web browser is often too much for them. Users will take the path of least resistance, and will chose the Hell they know over the Hell they don't every time.
I've heard it said several times that our (US) legislators are sincerely trying to do good on behalf of their constituency, but that most tech lobbyists work on behalf of groups with specific agendas. What hope is there for 'White Hat' tech lobbyists to make their mark in Washington's political scene, and what would you suggest to anyone with thoughts of becomming a lobbyist?
What can be done (either by organizations such as the EFF, or by citizens acting individually) ro raise the 'cluefulness' of our legislators? Do they listen, or are our voices simply overwhelmed by political reality? How can we get our message through?
The trouble is: When it comes to technology, they don't know their ass from their elbow. With a few exceptions, they're simply not qualified even to talk to their own children.
So they try to regulate the production of software they way they would with cars, or guns, or oil. The whole Open Source idea hasn't gotten through to them yet, and no wonder. How are these Congressmen going to digest the idea that they essentialy can't regulate software in any meaningful way.
And they're listening to all the wrong people. The only information they get comes from corporate lobbyists and special interest groups. Groups like the EFF are fighting an uphill battle counteraction all the bullshit spouted by the RIAA, MS, etc. We need more "Light Side" lobbyists, and we need them in a hurry.
You have to keep it simple-- whatever rout you go, you should make sure that the peripheral knowledge required is minimal to non-existant. No fair making people learn make in order to learn C. And no fair making them slog through all this crap about classes, public, static, void, and main just to write "Hello World" to the screen. Interpreted languages have the advantage of not needing a compiler, and pure procedural language skip all the OO stuff that you can cover later. (Though I believe in a move to OO once students have the basics down.) Scheme is lovely for these reasons, but anything that allows students to quickly get the matter of the lesson is fine.
The main thing is that generic concepts are stressed. It's useless to learn how to build an interpreter in Scheme if you don't see how the same thing could be expressed in Java, or C++, or whatever. It's far more valuable to start seeing all languages as data structures than it is to just build a parser. Once you see that, building an interpreter for any language, in any language is possible.
What I'm saying here is that starting from a high-level language, stressing high-level concepts, really is the Right Way to Do It. I've tutored students for several years, and I've always found that when you show them the big picture first, and keep it in mind when talking about the details, the light goes on much faster, and they remember more the next time.
<cheap shot> Then again, that's just my first-hand experience and carefully-honed intuition talking. Starting with pointers, memory management and big-endianness might be the way to go after all. </cheap shot>
-Froggy
I've never been in any service job where I didn't say "I don't need this sh!t..." on a regular basis. Dealing with the general public is a genuine pain in the ass, and takes tremendous skill (technical and personal) to do it well.
Yet the prevailing wisdom is that tech support reps are disposable. Despite the skill that many reps acquire, they're paid no more, treated no better, and therefore have no incentive to stay. If these companies changed their attitude, and devoted a little energy and money to hiring and keeping good tech support reps, I think we'd all see a huge difference.
-froggy
And thank you, Rep. Boucher, for answering our questions. I can't tell you how great it is to have our Congressional representatives finally taking an interest in the 'Net, and in the opinions of its denizens.
Definitely true. When I started taking upper-level mathmatics, I got several comments from professors to the effect of, "Oh, well, we'll be writing actual proofs, not just automating the process." One of the things that I really loved about Indiana University's CS program was the explicit aim to teach the students to think. One instructor burned "if all you have is a hammer, everything looks like a nail" into our minds for a semester, which killed any 'favorite language syndrome' in me forever. There were still a lot of 'cookie cutter' programmers in my classes, but I'm convinced that this was despite the instructors'/Professors' best efforts.
I guess the point here (and I should have said this in my earlier post) is that everything I've said has been from my own experience at one school. Things may be considerably different elsewhere.
cheers,
-chris
This is good advice. There's no substitute for talking to someone who knows the territory. However, make sure you do everything you can to get to know the system yourself. I have been led astray several times by incompetant advisors; on one occasion, only intervention from the Dean of Students kept my graduation date from being threatened. Had I taken the time to truly understand University policy, I could have saved myself the headache.
Also, recognise that your classmates (especially upper-classmen) are absolutely invaluable in helping you make good decisions. From things as simple as which classes/professors to avoid/seek out to the more subtile, like helping explain the convoluted academic policies you're likely to encounter. Talk to your fellow students, and listen to what they say. This information is ususally better than any you will get from your advisor.
Couldn't agree more. Anything not directly associated with the CS dept. is likely to be a serious mistake if you want a career as a techie. (ie, programming, not just managing programmers.) What you get from a Computer Science degree are the fundamental concepts that help you learn new languages/techniques/etc. I always thought that Scheme might just be a waste of time, but over and over again I've found the concepts I used in writing good Scheme code (high-level stuff like abstraction & simplicity, as well as techniques like continuation/closure passing) useful in my every-day programming.
In short, if you want a technical job, I urge you to go the Science route.
This distinction is based on two things:
It's simply not reasonable to expect that every home user in the world will keep up with security. (MS|GNU/Linux|Be) has given them an incredibly powerful tool, and they're going to use it to get where they want to go. Worrying about the more subtle (or not-so-subtle) effects of their choices is just not going to occur to them, nor should it. Serious network security is outside the scope of a home system/office. No one has the time to worry about network security and get any real work done.
Protecting these people is a good idea--sort of a 'forgive them, for they know not what they do' approach. But putting that notion into any official form is a mistake, little better than the MPA thinking their DVD's are secure simply because the DMCA makes it illegal to crack them. You'd still have people getting hacked, and they'd still whine that they didn't know any better. And they'd be right.
The only real solution to this is for people to learn to use their machines, but we all know that's not going to happen. The next best thing is for operating systems to install some intelligently-configured firewall/security software by default, and for the networking software (in this case MS, but this applies to all OS's) to eliminate/minimize such glaring holes.
What we need to do is get the hell out of our little Ivory Tower that we've built for ourselves. Yes, your new shell/programming language/bit twiddler is great, but we need a little public outreach. What about doing free sysadmin work for non-profit organizations? Support & installation for youth centers & half-way houses? Teaching classes in low-income neighborhoods? We've let the black hats have the spotlight for too long, and too many of us consider it an accomplishment simply to write great software.
Any specifics you teach him are likely to hinder his understanding of the 'meta-programming'. Go heavy on design patterns, fundamentals of programming languages. Abstract your teaching just like you would good code. I.E., Don't teach him C. Teach him about programming languages, then show him how C fits into that. In one lesson, you've taught him C, and given him the (very very basic) foundations of compiler-writing.
And more importantly, Do not let anyone (especially himself) shut him away from the world. His parents may think it's best, and he may feel that it's easier to talk to computers than to people. Always remember that no matter how brilliant he may be (and become), the code he writes is not as important as a happy life.
What did you expect?
My point is that untill all of us collectively turn our pagers off for the weekend, and start leaving at 5, and taking our lunches, nothing will change.
Americans as consumers and employees have, over the last couple decades, made countless small concessions, and as a result, we now pay for such things as the 'special service' of actually talking to a teller at the bank, and give up our weekends by wearing our beepers. We work longer hours (in addition to such attrocities as the unpaid lunch hour- at my job an 8-hour day is 8 to 5), and we cave in at the threat of loosing our jobs. My mom (who is also a geek in her way) recently received a flyer about a piece of legislation under debate in California that would make tech industry employees exempt from overtime pay.
I know I'm ranting a little, but my point is that getting a new job is a very small price to pay for getting a little of your life back. Ask about overtime policies and average work schedules when you interview, and don't be shy about letting them know that you're not interested in a job if it requires being on call 24/7.
I look at it this way: I'm engaged to be married, and I'll be damned if I let her get away because I couldn't find the balls to say that I was leaving for the day.
This very much reminds me of something that came up in a class a couple years ago. Wherever there is famine, the root cause is a serious power unbalance. Famine are by their nature a political phenomenon. Native peoples survive precisely because they're able to successfully farm the land and raise livestock. The natives of South America practiced a sustainable "slash and burn" farming for thousands of years before the first invaders from Europe ever arrived. Sections of land were burned, then farmed for a few years, after which they were allowed to *completely* regrow before being burned again. Once economic and cultural pressures forced the shift to cattle and cash crops, these practices were impossible, or at least not economical, and were quickly abandoned, or rather, never taken up by those that now owned the land.
In the case of the Potato Famine in Ireland, Brittish rule had forced most Irish farmers to devote most of their airable land to cattle (see a theme here?), allowing them only a tiny portion of their own land from which to feed themselves. The most effective method for accomplishing this was the growing of potatos. Traditional crops (or rather the practice of growing multiple crops) would have survived the Potato Blight. However, now that the farmers were depending on the potato as their staple food, the Blight prooved deadly. Throughout the Famine, exports of beef continued to Brittain. The cows, (and the Britts, evidently) were eating fine.
More recently, the famine in Etheopia (any other oldsters out there remember "We Are the World"?) bore many of the same symptoms. Corporate involvement made it more profitable to raise cattle on the arid land, a practice that quickly decimated the ground cover that held the soil in place, causing the desert to spread, and making farming impossible.
Point being (and I know I'm stretching the bounds of "on topic" here): economic forces shape the world far more powerfully than any legislation. Political Action Committees and Special Interest Groups hold god-like influence over the US's legislative bodies, and recent attempts to get the electorate more involved have had exactly the opposite effect, conferring "political viability" on those candidates that have the funding to support an election campaign. So the government isn't going to change anything. And the corporations aren't going to change anything. And whatever you think, writing your Senator definately isn't going to change anything. (Recent polls have found that congressmen ignore emailed letters just as they do the paper kind.) You have to speak with your wallet and your vote, and get your friends to do the same.
</long-ass rant> -BlueFrog