All of the alternatives you provide involve the government. I can see where you're coming from, but when the government can't even provide food and water to hurricane victims, why should we trust them to do anything complex? (For the record, I'm a conservative, so I'm not just another Bush-basher.) NASA is a prime example of how the government can get something technical jump-started, but it also shows how government is unable to sustain an ongoing program. At some point, private industry needs to be the leader.
Since you still have your original copy, and since a monopoly on distribution isn't a right (even if it can be claimed to be an incentive).
So how would you provide an incentive to an individual to do any work that couldn't be protected? In some ways, isn't what you're advocating just another form of socialism? After all, what you're saying in effect is that my efforts belong to all people.
I think you missed the joke. July 1 is Canada Day, the closest thing that Canada has to our 4th of July. Much in the same way that Canadian Thanksgiving is in October rather than November.
Actually only about 6% of the world population actually cares about thanksgiving.
Which is really sad. Doesn't the other 94% have anything to be thankful for, or is it that they're just so bitter about life that they can't see the blessings that they have?
Us Canucks are lucky that way - nicely spread out for us
Well, I'm glad that it's good for you, because it totally screws those of us who are US and married to Canadians. Not only do I have to eat Turkey for a third time in October, but then I have to listen to all that drivel about how Canadian beer and cigarettes are so much better than those in the US, when it's obvious that the reverse is true. I think that all the cold up there has a big impact on your ability to think, like when you get a Slurpee brain freeze. I mean, really, who in their right mind can't tell that a Krispy Kreme donut is so much better than one from Tim Horton's?:-)
I've gotten to the point where I can't stand turkey any more. You cook a huge bird and eat it for the next month, then do it all again for Christmas. This year I'm staging a revolt and eating steak.
Please be careful when using the term "libertarian" to categorize yourself. I am a libertarian as well, but my form of libertarianism (sometimes referred to as "social libertarianism") allows for societies to act in their own interest as well as the interest of the people. For example, libertarianism in its truest form would say that you should never restrict anyone for any reason, yet few libertarians would say that we should allow killing and stealing. A true civil libertarian is not very much different than an anarchist, and I don't think that you intend to go down that path.
In general, however, I agree with your statement. The question I have to ask, however, is whether copyrights are really a bad idea or not, or whether its how we grant and enforce them. For example, if I were to build a toll bridge across a river and no one had ever seen a bridge before, should you be allowed to build one too? I'd say "yes", but certainly you shouldn't have the right come take mine away from me unless I chose to give it to you. So the "idea" should be free, but certainly not the "implementation" of that idea. I'm not so sure that copyrights for software are a bad idea because it keeps you from stealing my "bridge", but certainly patents on software generally are because they prevent you from building a bridge of your own. Should you be able to download an artist's music for free off the Web? I don't think so. Should you be able to sing "Happy Birthday to You" on TV without paying a royalty? You betcha.
There is a time and place for government protectionism, and some forms of "IP" do serve a greater good.
I agree, and disagree. I think that one reason that I've been somewhat reluctant to jump on the "IP rights are evil" bandwagon is that there are times when granting an IP right to a company is a good thing. We all complain about how drugs are expensive and how pharmaceutical companies have mini-monopolies, but I'm not sure how a drug company would ever have an incentive to risk billions of dollars in R&D money otherwise. If there's another alternative then we should consider it, but I really don't see one.
When it comes to computer software and other areas where patents are granted, the notion of IP rights is really pretty stupid. When I see patents being issued for PB&J sandwiches, I have to ask the question about how much capital a company has put up for R&D. Are there really teams of research specialists, working day and night for years, trying to figure out how to make a crustless PB&J sandwich? How many sandwiches were made before the perfect combination of peanut butter and jelly were found, and how much did this cost? Can anyone tell me how long it takes to get a PhD in jelly-making?
My understanding is that patents are supposed to be issued when an idea is "new and novel", yet the Patent and Trade Office seems to accept every application filed. Recently, for example, I went looking for a fax service. When I asked one company if their system would email the fax to me directly, they replied that the technology was patented and they were prohibited from using it. Excuse me, but how is emailing a fax any different than dropping a piece of paper off on my desk? Does a different delivery method for a fax meet the "new and novel" test? Looking at the Conditions for patentability, it talks about the lack of obviousness of an invention in filing a patent application. Wouldn't it be obvious to someone who had email that you should be able to use it to receive a fax? Wouldn't it be obvious to a fax machine maker that hooking up their device to the Internet would allow them to email faxes? I'd like to know how these applications get granted.
After a while these bodies will notice that "Oops, MS Office runs only on Windows, ah.. never mind, so we'll stay with Windows".
This is really insightful. OpenOffice is not only a challenge to Office domination, but to Windows domination as well. I can't tell you how many times I've told my friends to download OpenOffice and Firefox as alternatives to MS products. I know that as soon as they have a real alternative, then a Linux installation is soon to follow. And that's what really scares Microsoft, because after all these years they have not been able to transition from the shrink-wrapped software model to an ASP/service model. (The original.Net discussions provided for ASP model, but those plans were quietly killed.) Microsoft needs Windows as much today as ever before, since the vast majority of company revenues are derived from Office/Windows. They might be able to live without Office, but certainly not Windows.
Re:The children will ask themselves
on
The Prodigy Puzzle
·
· Score: 2, Interesting
Yeah, it's true that a kid could keep himself occupied doing math problems, but how many kids are actually going to do that?
It really is just a matter of discipline. I watch my daughter work on homework at school in the gym while the volleyball game is going on, totally oblivious to what's going on around her. She makes it a priority, even though she's plenty smart enough to skate through her classes without any real effort. To her credit, she knows at age 15 what she wants to do in life and is preparing herself for what's ahead. And I think that's a problem with most kids who are smart. They have so many options to chose from that they can't pick just one thing and stick with it. So I'd suggest that you consider finishing your studies, even if the only thing you'll get is a sense of accomplishment. I suspect that taking time off may just be an excuse for not fulling committing to the task at hand. If you're really serious about coming back and just need a little time to rest then you'll probably be ok. But if you still need to "find yourself" then you may have a problem with commitment.
Among physics PhDs (a reasonablly intelligent bunch, on average) it is typically to get 12-14 years of training after high school before you are ready to be a professor (or other PI) and come up with your own research ideas.
I had the opportunity to sit in on a lecture by a guy just finishing his PhD in CS. He was interviewing for a full time position as a professor. He gave a talk on his PhD thesis, and when he was done I was shocked. I had worked on a virtually identical project for a Fortune 500 company, and finished in three months what it took him 4 years to work on. I guess part of the difference was that in his world, he had to make up the problem and generate sample data. In my world, we were being buried by data that we couldn't keep up with and had to have a solution in a short time frame or risk losing the competitive advantage that the data provided. Since I haven't had a lot of contact with the academic world, I couldn't tell if it was business as usual for them or not. But if it was, then I'd say that getting a PhD is a total waste of time if you want to do really fun stuff, at least in the CS world. Then again, a new PC and a compiler will only set you back a couple hundred bucks. I suspect they get a little more money for those cool atom smasher things.:-)
Re:The children will ask themselves
on
The Prodigy Puzzle
·
· Score: 4, Interesting
I've yet to take a class that actually challenges me
I spent a year teaching in college, and I have to say that one of the most difficult things to do is pick a good target when teaching. If you teach to the top 10% then the rest of the class suffers, and the same is true when you teach to the bottom 10%. The problem is greatest at the entry level, where you have everyone from the student who thinks that maybe they'd like to learn how to program a computer all the way up to the kids who have been coding since they were ten years old and know at least six computer languages. My solution, which some might criticize, was to target something around the top 25%. My goal was to keep the class exciting for those who understood the material, and to use those students who picked up the material quickly to help the others along. To some degree it worked, but I also failed nearly 1/3 of the students in my very first class. I suspect that most of them never had the heart for it anyway, but you always wonder about those few students who may have succeeded had the class not been so tough.
When you spend 12 years doing something that is neither interesting nor challenging to you, yeah, you tend to just stop caring.
Or maybe you just got lazy. At the end of the day, there are plenty of things that a kid can do to keep themselves occupied. In math class, I used to go to the end of the book and do problems that I knew we'd never get to in class. Then I'd visit the teacher after class to verify my answers. It was a great way for me to send the message that I was bored. It never changed anything, and after a while I also became lazy, but I really could have kept myself challenged if I wanted. When I was teaching I always used my assignments as a "minimum" for my students. I'd say something like "Here's what I want you to do, but if you do more then that's great. I'll look over the code, but you don't get any extra credit. In fact, if you screw up the original assignment then your grade will go down. I want you to do more because you want to, for the pure enjoyment." I often had students take me up on the offer, and I think that they benefited from the exercise. Often, I think recognition of work that's well done is more of an incentive to a student than getting a good grade.
If you must answer that, just watch "Village of the Damned"!
Or just turn on C-SPAN. Really, as a country we've supposedly hired the brightest and best to run our country, but somehow putting 535 lawyers into a two rooms in Washington, DC doesn't seem to have gotten the job done. Don't get me wrong - I'm all for helping smart kids get even smarter. But we should be careful not to go down the path of assuming that developing their talent is somehow going to revolutionize the world. Simple is often better than complex, and I have yet to meet a genius who knows what KISS means (both kinds:-)
Sorry, but with the war on drugs our jails are full already. We can build more I guess. Then our society will be divided into two classes: (1) those in jail, and (2) those who aren't in jail.
One thing that I really hate about conservatives (and I am one) is that we get these insane ideas that jail is the right solution for every problem. But this is just really, really stupid. Should we jail people for speeding? It is, after all, a crime. I'd be more than willing to bet (which, by the way, is also illegal where I live) that more people are killed each year by excessive speed than by excessive downloading.
This is dead-on. The problem with most projects is that the scope is way too big. Then they get into trouble because they've bit off more than they can chew. And what's most interesting is that in most cases, the market doesn't even care about most of the stuff that they're delivering. Vista is the poster child for this kind of mentality.
What I like about Linux and other F/OSS projects is that they deliver in what I'd call a "tactical" mode. Find the biggest annoyance and address that first. Deliver a good but not perfect feature. Then as you're starting work on new stuff, polish up the old. Deliver frequently, get the code in front of your customers, and let them tell you whether or not it works.
In the old model of software delivery, if a feature didn't work then you had to market the crap out of it or risk losing your investment. That's why we have so much crappy code out there.
These people, believe it or not, included engineers and scientists.
I think that the reason that you'll find many engineers and scientists resisting a pure evolutionary program in schools is that evolution, in its current form, is as much a religion as anything based on the Bible. If you're going to be honest, you have to admit that there are huge gaps in evolution going all the way back to the Big Bang. Scientists still can't say how galaxies formed (the "smoothness" of the Big Bang prevents it), nor have we yet found the bridge from ape to man. Somehow NASA scientists predict intelligent life on many planets when the odds say that we're unique, even in a universe that's some 11-15 billion light years in diameter.
So about now you might be saying, "Well, it's just a matter of time before we prove this stuff", and if you want more time then please take whatever you need to get the job done. But in the meantime, it's intellectually dishonest to pretend that these discoveries are just around the corner and that we should be teaching evolution as fact. Any scientist with his/her salt will tell you that you don't publish results until all the tests are done. Until you have incontrovertable proof of evolution from start to finish, you have to allow for alternate theories, even if you personally believe them to be unreliable.
For what it's worth, I hear lots of people saying that the US is heading toward another "Dark Age" when all science is pushed aside, and I'm not sure that I'd disagree that this may happen. Too much bad science that's based on some agenda rather than fact have infiltrated the scientific community, and the result may be to discredit science altogether. I personally believe that that would be a shame if it were to happen, because lots of good science can tell us things like "New Orleans will be under 20 feet of water in a category 5 hurricane". I'd hate to think that science that can be proven will be rejected because of so much pollution by pseudo-scientists.
Somehow I don't see where a compiler is going to help me there.
Ok, let me see if I can help you here. Let's say that you like to sing. So you listen to a bunch of songs on the radio and sing along. But in doing so, you never learn to read music. That means that the first time that someone hands you a sheet of music you're stuck, because you don't know how to read notes.
I've been paid to write code since I was 14 (and I'm now 42), and when I got into school I thought that I knew a lot. And I did. But what I lacked was the ability to understand higher level concepts and put a bunch of disparate concepts together. In other words, I could sing but not read the music. My time in college fixed that.
You may still think that compiler theory isn't applicable to real world problems like ERP systems. And I'd agree that you're probably not going to find a copy of lex or yacc in an ERP system. But in other ways, there are parallels between the two. Compilers follow formal sets of rules to generate code, ERP systems employ business logic. Compilers (at least good compilers) optimize the code, ERP systems look for efficiencies. Compilers break down large sets of problems in to smaller, more managable ones. So do ERP systems. Compilers deal with topics like memory management, ERP systems manage large data sets.
Last time I visited my dentist, he was telling me about his experience in dentistry school. His first class involved dissecting a cadaver, one with especially large feet. Now you might think that it's not important for a guy who's going to be poking around in mouths all day long to be hacking apart some poor dead guy's feet, but he learned valuable lessons about the human body along the way. So maybe you won't ever apply compiler theory directly, but you'll sure use the concepts that learn to make your application better.
Both want to be programmers and I want to make sure they have every tool available to them.
Make sure that they attend a liberal arts college. As you pointed out earlier, knowing your limitations is a good thing. A liberal arts education will help them see the big picture. Not every task assigned to a programmer is a programming task. Sometimes a slight tweak to a business process can do a lot more to help a company than writing a new program. But if all you know is engineering concepts then you might not look to human factors when solving a problem.
How the hell do you get out of college not understanding pseudo-random number generators? To say nothing of the hoards who don't get big "O" notation.
I've worked with literally hundreds of programmers, both formally trained and those who've learned on-the-job, and I think that this is the first time that I've ever encountered someone without a CS degree who knows what big-O is. Most people, once they pick up programming, only learn enough to get the job done. But if you don't know the difference between a bitwise AND and a logical AND then that will limit your ability to handle more and more difficult problems.
Kudos to you for learning core CS principles on your own. I'd still encourage you, however, to at least look at a CS curriculum to see what you're missing. There's a lot of stuff like data structures and discrete math that are really hard (although not impossible) to pick up on your own. They can be very dry and boring, but no less important than other programming courses. Nothing separates then men from the boys like combinatorics, Dijkstra's Algorithm, or Gaussian Elimination.:-)
On the other hand, if you are over 25, just work on your resume. If you've made it this far without the degree, it's not going to help you climb the wage ladder.
This is really, really bad advice. Even though I've learned most of what I know through practical experience, my 4 years of college has really helped me. Too many programmers don't understand foundational concepts, and subsequently they lack the tools to adequately understand how to solve a problem. Picking some arbitrary age limit and saying that you shouldn't do any formal learning after that time is just plain stupid. Shame on you for even making that suggestion.
He was also the last well-respected Microsoft CFO. While Maffei was in charge, Microsoft could literally do nothing wrong financially. When the earnings were announced, he'd say something like "don't expect good results next quarter" and the stock would skyrocket. When Connors replaced him, it was almost the exact opposite. Connors would say virtually the same thing, and the stock would tank. Microsoft has definitely suffered from the leadership vacuum that Maffei's departure left.
We often run into the problem of wanting to copy a row in a table back into the same table (or an identical table in another database) but only make a minor modification to it. For example, let's say I have a system for creating orders. When I want to generate an invoice, I want to copy all the rows from that order into an identical invoice ("you ordered three widgets at $1.99"). The reason to preserve the original order is that you may want to reuse it to generate more invoices later.
So what I'm looking for is something like a "select into" where I can override the values of specific columns, perhaps with a lookup from another table. It should also be smart enough to handle auto_increment/identity type of columns so that you don't get conflicts.
All of the alternatives you provide involve the government. I can see where you're coming from, but when the government can't even provide food and water to hurricane victims, why should we trust them to do anything complex? (For the record, I'm a conservative, so I'm not just another Bush-basher.) NASA is a prime example of how the government can get something technical jump-started, but it also shows how government is unable to sustain an ongoing program. At some point, private industry needs to be the leader.
So how would you provide an incentive to an individual to do any work that couldn't be protected? In some ways, isn't what you're advocating just another form of socialism? After all, what you're saying in effect is that my efforts belong to all people.
I think you missed the joke. July 1 is Canada Day, the closest thing that Canada has to our 4th of July. Much in the same way that Canadian Thanksgiving is in October rather than November.
Yeah, but in US dollars they're like 50 cents a pack.
Which is really sad. Doesn't the other 94% have anything to be thankful for, or is it that they're just so bitter about life that they can't see the blessings that they have?
Would that be Canadian bacon, or American?
Us Canucks are lucky that way - nicely spread out for us
Well, I'm glad that it's good for you, because it totally screws those of us who are US and married to Canadians. Not only do I have to eat Turkey for a third time in October, but then I have to listen to all that drivel about how Canadian beer and cigarettes are so much better than those in the US, when it's obvious that the reverse is true. I think that all the cold up there has a big impact on your ability to think, like when you get a Slurpee brain freeze. I mean, really, who in their right mind can't tell that a Krispy Kreme donut is so much better than one from Tim Horton's? :-)
And that the Fourth of July is really on the 1st.
I've gotten to the point where I can't stand turkey any more. You cook a huge bird and eat it for the next month, then do it all again for Christmas. This year I'm staging a revolt and eating steak.
Please be careful when using the term "libertarian" to categorize yourself. I am a libertarian as well, but my form of libertarianism (sometimes referred to as "social libertarianism") allows for societies to act in their own interest as well as the interest of the people. For example, libertarianism in its truest form would say that you should never restrict anyone for any reason, yet few libertarians would say that we should allow killing and stealing. A true civil libertarian is not very much different than an anarchist, and I don't think that you intend to go down that path.
In general, however, I agree with your statement. The question I have to ask, however, is whether copyrights are really a bad idea or not, or whether its how we grant and enforce them. For example, if I were to build a toll bridge across a river and no one had ever seen a bridge before, should you be allowed to build one too? I'd say "yes", but certainly you shouldn't have the right come take mine away from me unless I chose to give it to you. So the "idea" should be free, but certainly not the "implementation" of that idea. I'm not so sure that copyrights for software are a bad idea because it keeps you from stealing my "bridge", but certainly patents on software generally are because they prevent you from building a bridge of your own. Should you be able to download an artist's music for free off the Web? I don't think so. Should you be able to sing "Happy Birthday to You" on TV without paying a royalty? You betcha.
I agree, and disagree. I think that one reason that I've been somewhat reluctant to jump on the "IP rights are evil" bandwagon is that there are times when granting an IP right to a company is a good thing. We all complain about how drugs are expensive and how pharmaceutical companies have mini-monopolies, but I'm not sure how a drug company would ever have an incentive to risk billions of dollars in R&D money otherwise. If there's another alternative then we should consider it, but I really don't see one.
When it comes to computer software and other areas where patents are granted, the notion of IP rights is really pretty stupid. When I see patents being issued for PB&J sandwiches, I have to ask the question about how much capital a company has put up for R&D. Are there really teams of research specialists, working day and night for years, trying to figure out how to make a crustless PB&J sandwich? How many sandwiches were made before the perfect combination of peanut butter and jelly were found, and how much did this cost? Can anyone tell me how long it takes to get a PhD in jelly-making?
My understanding is that patents are supposed to be issued when an idea is "new and novel", yet the Patent and Trade Office seems to accept every application filed. Recently, for example, I went looking for a fax service. When I asked one company if their system would email the fax to me directly, they replied that the technology was patented and they were prohibited from using it. Excuse me, but how is emailing a fax any different than dropping a piece of paper off on my desk? Does a different delivery method for a fax meet the "new and novel" test? Looking at the Conditions for patentability, it talks about the lack of obviousness of an invention in filing a patent application. Wouldn't it be obvious to someone who had email that you should be able to use it to receive a fax? Wouldn't it be obvious to a fax machine maker that hooking up their device to the Internet would allow them to email faxes? I'd like to know how these applications get granted.
This is really insightful. OpenOffice is not only a challenge to Office domination, but to Windows domination as well. I can't tell you how many times I've told my friends to download OpenOffice and Firefox as alternatives to MS products. I know that as soon as they have a real alternative, then a Linux installation is soon to follow. And that's what really scares Microsoft, because after all these years they have not been able to transition from the shrink-wrapped software model to an ASP/service model. (The original .Net discussions provided for ASP model, but those plans were quietly killed.) Microsoft needs Windows as much today as ever before, since the vast majority of company revenues are derived from Office/Windows. They might be able to live without Office, but certainly not Windows.
It really is just a matter of discipline. I watch my daughter work on homework at school in the gym while the volleyball game is going on, totally oblivious to what's going on around her. She makes it a priority, even though she's plenty smart enough to skate through her classes without any real effort. To her credit, she knows at age 15 what she wants to do in life and is preparing herself for what's ahead. And I think that's a problem with most kids who are smart. They have so many options to chose from that they can't pick just one thing and stick with it. So I'd suggest that you consider finishing your studies, even if the only thing you'll get is a sense of accomplishment. I suspect that taking time off may just be an excuse for not fulling committing to the task at hand. If you're really serious about coming back and just need a little time to rest then you'll probably be ok. But if you still need to "find yourself" then you may have a problem with commitment.
I had the opportunity to sit in on a lecture by a guy just finishing his PhD in CS. He was interviewing for a full time position as a professor. He gave a talk on his PhD thesis, and when he was done I was shocked. I had worked on a virtually identical project for a Fortune 500 company, and finished in three months what it took him 4 years to work on. I guess part of the difference was that in his world, he had to make up the problem and generate sample data. In my world, we were being buried by data that we couldn't keep up with and had to have a solution in a short time frame or risk losing the competitive advantage that the data provided. Since I haven't had a lot of contact with the academic world, I couldn't tell if it was business as usual for them or not. But if it was, then I'd say that getting a PhD is a total waste of time if you want to do really fun stuff, at least in the CS world. Then again, a new PC and a compiler will only set you back a couple hundred bucks. I suspect they get a little more money for those cool atom smasher things. :-)
I spent a year teaching in college, and I have to say that one of the most difficult things to do is pick a good target when teaching. If you teach to the top 10% then the rest of the class suffers, and the same is true when you teach to the bottom 10%. The problem is greatest at the entry level, where you have everyone from the student who thinks that maybe they'd like to learn how to program a computer all the way up to the kids who have been coding since they were ten years old and know at least six computer languages. My solution, which some might criticize, was to target something around the top 25%. My goal was to keep the class exciting for those who understood the material, and to use those students who picked up the material quickly to help the others along. To some degree it worked, but I also failed nearly 1/3 of the students in my very first class. I suspect that most of them never had the heart for it anyway, but you always wonder about those few students who may have succeeded had the class not been so tough.
When you spend 12 years doing something that is neither interesting nor challenging to you, yeah, you tend to just stop caring.
Or maybe you just got lazy. At the end of the day, there are plenty of things that a kid can do to keep themselves occupied. In math class, I used to go to the end of the book and do problems that I knew we'd never get to in class. Then I'd visit the teacher after class to verify my answers. It was a great way for me to send the message that I was bored. It never changed anything, and after a while I also became lazy, but I really could have kept myself challenged if I wanted. When I was teaching I always used my assignments as a "minimum" for my students. I'd say something like "Here's what I want you to do, but if you do more then that's great. I'll look over the code, but you don't get any extra credit. In fact, if you screw up the original assignment then your grade will go down. I want you to do more because you want to, for the pure enjoyment." I often had students take me up on the offer, and I think that they benefited from the exercise. Often, I think recognition of work that's well done is more of an incentive to a student than getting a good grade.
Or just turn on C-SPAN. Really, as a country we've supposedly hired the brightest and best to run our country, but somehow putting 535 lawyers into a two rooms in Washington, DC doesn't seem to have gotten the job done. Don't get me wrong - I'm all for helping smart kids get even smarter. But we should be careful not to go down the path of assuming that developing their talent is somehow going to revolutionize the world. Simple is often better than complex, and I have yet to meet a genius who knows what KISS means (both kinds :-)
And we start with everyone named "Anonymous Coward". That'll get at least 1/2 the population.
One thing that I really hate about conservatives (and I am one) is that we get these insane ideas that jail is the right solution for every problem. But this is just really, really stupid. Should we jail people for speeding? It is, after all, a crime. I'd be more than willing to bet (which, by the way, is also illegal where I live) that more people are killed each year by excessive speed than by excessive downloading.
What I like about Linux and other F/OSS projects is that they deliver in what I'd call a "tactical" mode. Find the biggest annoyance and address that first. Deliver a good but not perfect feature. Then as you're starting work on new stuff, polish up the old. Deliver frequently, get the code in front of your customers, and let them tell you whether or not it works.
In the old model of software delivery, if a feature didn't work then you had to market the crap out of it or risk losing your investment. That's why we have so much crappy code out there.
I think that the reason that you'll find many engineers and scientists resisting a pure evolutionary program in schools is that evolution, in its current form, is as much a religion as anything based on the Bible. If you're going to be honest, you have to admit that there are huge gaps in evolution going all the way back to the Big Bang. Scientists still can't say how galaxies formed (the "smoothness" of the Big Bang prevents it), nor have we yet found the bridge from ape to man. Somehow NASA scientists predict intelligent life on many planets when the odds say that we're unique, even in a universe that's some 11-15 billion light years in diameter.
So about now you might be saying, "Well, it's just a matter of time before we prove this stuff", and if you want more time then please take whatever you need to get the job done. But in the meantime, it's intellectually dishonest to pretend that these discoveries are just around the corner and that we should be teaching evolution as fact. Any scientist with his/her salt will tell you that you don't publish results until all the tests are done. Until you have incontrovertable proof of evolution from start to finish, you have to allow for alternate theories, even if you personally believe them to be unreliable.
For what it's worth, I hear lots of people saying that the US is heading toward another "Dark Age" when all science is pushed aside, and I'm not sure that I'd disagree that this may happen. Too much bad science that's based on some agenda rather than fact have infiltrated the scientific community, and the result may be to discredit science altogether. I personally believe that that would be a shame if it were to happen, because lots of good science can tell us things like "New Orleans will be under 20 feet of water in a category 5 hurricane". I'd hate to think that science that can be proven will be rejected because of so much pollution by pseudo-scientists.
Ok, let me see if I can help you here. Let's say that you like to sing. So you listen to a bunch of songs on the radio and sing along. But in doing so, you never learn to read music. That means that the first time that someone hands you a sheet of music you're stuck, because you don't know how to read notes.
I've been paid to write code since I was 14 (and I'm now 42), and when I got into school I thought that I knew a lot. And I did. But what I lacked was the ability to understand higher level concepts and put a bunch of disparate concepts together. In other words, I could sing but not read the music. My time in college fixed that.
You may still think that compiler theory isn't applicable to real world problems like ERP systems. And I'd agree that you're probably not going to find a copy of lex or yacc in an ERP system. But in other ways, there are parallels between the two. Compilers follow formal sets of rules to generate code, ERP systems employ business logic. Compilers (at least good compilers) optimize the code, ERP systems look for efficiencies. Compilers break down large sets of problems in to smaller, more managable ones. So do ERP systems. Compilers deal with topics like memory management, ERP systems manage large data sets.
Last time I visited my dentist, he was telling me about his experience in dentistry school. His first class involved dissecting a cadaver, one with especially large feet. Now you might think that it's not important for a guy who's going to be poking around in mouths all day long to be hacking apart some poor dead guy's feet, but he learned valuable lessons about the human body along the way. So maybe you won't ever apply compiler theory directly, but you'll sure use the concepts that learn to make your application better.
Both want to be programmers and I want to make sure they have every tool available to them.
Make sure that they attend a liberal arts college. As you pointed out earlier, knowing your limitations is a good thing. A liberal arts education will help them see the big picture. Not every task assigned to a programmer is a programming task. Sometimes a slight tweak to a business process can do a lot more to help a company than writing a new program. But if all you know is engineering concepts then you might not look to human factors when solving a problem.
I've worked with literally hundreds of programmers, both formally trained and those who've learned on-the-job, and I think that this is the first time that I've ever encountered someone without a CS degree who knows what big-O is. Most people, once they pick up programming, only learn enough to get the job done. But if you don't know the difference between a bitwise AND and a logical AND then that will limit your ability to handle more and more difficult problems.
Kudos to you for learning core CS principles on your own. I'd still encourage you, however, to at least look at a CS curriculum to see what you're missing. There's a lot of stuff like data structures and discrete math that are really hard (although not impossible) to pick up on your own. They can be very dry and boring, but no less important than other programming courses. Nothing separates then men from the boys like combinatorics, Dijkstra's Algorithm, or Gaussian Elimination. :-)
This is really, really bad advice. Even though I've learned most of what I know through practical experience, my 4 years of college has really helped me. Too many programmers don't understand foundational concepts, and subsequently they lack the tools to adequately understand how to solve a problem. Picking some arbitrary age limit and saying that you shouldn't do any formal learning after that time is just plain stupid. Shame on you for even making that suggestion.
He was also the last well-respected Microsoft CFO. While Maffei was in charge, Microsoft could literally do nothing wrong financially. When the earnings were announced, he'd say something like "don't expect good results next quarter" and the stock would skyrocket. When Connors replaced him, it was almost the exact opposite. Connors would say virtually the same thing, and the stock would tank. Microsoft has definitely suffered from the leadership vacuum that Maffei's departure left.
So what I'm looking for is something like a "select into" where I can override the values of specific columns, perhaps with a lookup from another table. It should also be smart enough to handle auto_increment/identity type of columns so that you don't get conflicts.
Even if this is true, it sure goes toward "prior art".