I am in my later 40s. I have been in "high tech" since the early 1980s. I do not have a degree. I built my first computer in the 1970s. I learned the concepts of computer science from an old navy programmer in high school. (in the late 70s)
When I entered the software industry, computer science was considered a math. In many ways, it is just an expression of a series of non-linear calculus equations, only with a different set of languages to express it.
I wish the industry were heading in a different direction, but stupid people who think a degree means "learning" have infiltrated the profession. Here's the problem: 25 years ago, you had to be smart and know your shit to work in the industry. Smart people understand that learning is a personal process and no piece of paper can substitute for innate curiosity and a drive for learning. It is the stupid people who barely get through college, barely retain anything they've learned, but managed to acquire a diploma, think, like the strawman from the wizard of oz, that they are now smart. It is these people that become the gatekeepers in the industry. It is the childish and oblivious value they put on the meaningless diploma that harms the industry. Smart people who know what they are doing are passed over for frat boys. The more of them there are in the industry, the more the industry will tend to go in that direction.
It should be sobering that most of the most meaningful developments in computer science have come from smart people who never learned anything about computers in school.
When I interview guys from supposedly good technical schools, and ask them how hash tables work or what a "call gate" is, I get a blank look and the response: "Why do I need to know that?" Anyone that has ever uttered that phrase, "why do I need to know that," is an idiot and should not work in any profession that requires knowledge.
When I was younger, computer science was the science of solving problems on actual computers. It is an interesting science as "real" computers have limitations. Understanding the limitations and operation of the computer allowed you to come up with interesting algorithms. The most used algorithms of our time have come from this type of thinking. These days, you'd be hard pressed to find a computer science grad that actually has any sort of clue about how real computers work. They don't understand why there are signed and unsigned integers and think that pointers are "bad."
So, blue collar or white collar? It doesn't matter. The idiots are running the industry. Moronic MBAs are coining buzzword phrases like "AGILE" development, and generally making the software industry a hopeless idiocracy.
Ok, this just pisses me off. Computers do not suck at math because they don't do math. They do add, subtract, multiply, and divide within their limitations. Hell, it wasn't until the 8088 that I used a micro that could multiply or divide. It has *always* been the job of the computer scientist to understand this.
It is *new* computer science that teaches languages like java or C# that abstract "computers" from the programs. I guess using theoretical computers is easier for moron professors to teach. I learned computer science from one of the old school teachers (ex-navy weather research) who would bitch about the usage of bits and bytes in a program.
I'm not sorry to say that "Computer Science" has to be more about the science of using COMPUTERS, not about some abstract ideal computer like edifice "virtual machine." I learned computer science as a way to model REAL problems on REAL computers, understanding limits and even using them advantageously. Algorithms are often incomplete or fundamentally wrong when they ignore the simple fact that they are running on a real computer with real limitations.
For all you java and dot net zealots who say, and I am quoting many of you, "Why do I need to know how that works" when it comes to lists, trees, hash tables, mutex, semaphores, MATH, and so on. This is but one example. If you KNEW how these things worked, you wouldn't be bitten in the arse when they didn't do as you imagined they would.
One of the first things you should learn in computer science in school or self education is that floating point is an approximation with limited precision. Any math done with it, must be done in the correct order that preserves as much precision as possible, and even then, if your precision requirements exceed the decimal accuracy of 64 bit floating point, then you can't do your math with floating point. You will have to code your own or buy/use a 3rd party precision math package.
Floting point is fine for a lot of things, but not everything, but if your computer science teacher didn't beat you head in with the limitations, you missed out. "How" "real" computers work is fascinating, and just knowing how they work affect how you code. Here's the big question.....
Now that you know floating point is not accurate, how many past projects would you double check to make sure they really do work?
I'm mostly a capitalist. I generally think I should be paid for work that I do, however, there is a sense of dignity missing in the rush to the bottom attitude of raw unbridled capitalism that is disgusting.
Money "right now" greed will be the destruction of capitalism and the end of democracy as we know it. Democracy depends on an independent society. As the poor get poorer and the rich get richer, the notions of government and individual rights and dignity become less relevant. What good are environmental laws, worker safety laws, tax rates, etc. when corporations can just go to some 3rd world shit-hole and work those people for cheap. Then, if they have the temerity to demand rights and pay, then the corporation will just jump to the next shit-hole and exploit those workers.
Maybe I'm old fashioned, but man-kind evolved a social structure that worked. It was a balance of personal avarice and societal responsibility. One was supposed to have an amount of greed BUT! Also have an amount of social responsibility. The community protected itself against threats. The well-to-do (from hunter gatherers to railroad tycoons) knew they needed the protection and/or good will of the community to survive, so, while they lived better than most, they made sure their wealth also provided for the society that allowed them to be successful.
Once the society stops taking care of itself and it is an "everyman for himself situation," civilization is over. There must be a notion of a common good. There must be a notion of âoefor the good of society,â even in capitalism. It is a race to the bottom and no good can come from abandoning the stake holder for the sole purpose of enriching the share holder. There must be a balance between greed and society or we will lose both our wealth and our civilization.
when compared to the simplicity of developing for Windows.
"Simplicity" and "developing for Windows" do not belong in the same sentence, unless the sentence works something like "I like simplicity, but developing for Windows sucks."
Obviously you've never tried to do something non-trivial. APIs that change definition across releases. A compiler and library that does not support standard function names like open/read/write/close. A socket API that's glued on as an afterthought.
It doesn't support auto arrays: int mysize = somenumber*10; char buffer[mysze];
I think they've FINALLY got variadic macros.
File access time sucks. child process spawn is SLOOWW
For example, saying, "Okay, we'll fix Pulseaudio for you guys by next Ubuntu release, if you do this or that." It would be a question of whether the Linux gang would accept them or not, depending on the offer.
Google is the 800 lb gorilla of Linux if it wants to be. It could define the audio standard and open source would have to follow or get left behind.
Fortunately the GPL will allow Google to ride rough-shod over the bickering egos, and we still benefit. How cool is that?
He's the broken clock of pundits, he's right twice a day, but only by accident.
The problem with Google vs Microsoft is that Google should have made this move 6 years ago and it would have been in place to capitalize on the fiasco that is/was Vista.
The advantage Google has over, say, Canonical with Ubuntu, ls that everyone knows who Google is, sheesh, its used as a verb. Google docs is getting some uptake in smaller companies. OpenOffice is getting some uptake in others. The economy is helping the lower cost alternatives. People with skills are losing jobs and turning to lower cost or free alternatives in order to make money contracting.
Google can deal with Intuit, Adobe, and others to get their apps ported to Linux.
Google has the resources to make it happen. To beat Microsoft on the desktop market. The question is will they?
It's curious that this get repeated so often. I'd like to know the metrics by which they measure this. Which "linux" they measure against, and what constitutes "stability."
I've seen Solaris crash. I've seen Linux crash. having watch many systems over the years, I don't sense any practical difference in reliability over Linux, FreeBSD, or Solaris. They all stay running without issue until a power failure, hardware failure, kernel upgrade, or system upgrade.
So, what is "more stable" in this context? I have Linux machines with uptimes over a year.
So, please, do tell, how is Solaris "more stable" than Linux and why? Do tell!
You'd prefer to use subqueries? Good for you, then use pgsql. That still doesn't answer my questions, it just restates the point (which I explicitly agree with) that MySQL is stupid and annoying.
What you dismiss as merely "annoying" astounds me. It is "broken" it does not support SQL in any reasonable way. Consider a C compiler that would have several orders of magnitude difference in the way if processed "*p++=0" vs "*p=0; p++;" IN THE WRONG WAY!
If it's a constant, just run myudf() in the application, not the database, and it will certainly be fine. That's mainly a stylistic difference. You usually don't use UDFs in MySQL. Again, not a prohibitive problem. You can't expect MySQL to work well if you use it like pgsql, any more than the contrary.
It is statements like this that indicate to me that "MySQL" proponents don't know a thing about databases.
It is so hard to use MySQL because, sure, there may be a way to get something to work, not always, of course, but it isn't what you expect and you are constantly trying to "trick" MySQL into doing what it is that you want, even though the various permutations that you try are all logically similar.
You are working around a poorly designed query planner!!! You don't just shrug that off, its broken. Deal with it.
How about
select * from FOO where BAR in (select bar from froboz where name = xyz);
It won't use an index for BAR!! That is BROKEN. It is indefensible.
Designation as elite comes from the person so designating himself
Well, actually comes from morons who call you "elitist" or an "elite" for saying that one product is better than another or that "good enough" is a fools game.
There are lots of real reasons why MySQL is a bad database, and for that mere statement I am called "elite" or "elitist." Sorry, maybe I am "elite" but I have worked hard in my career to know things and have knowledge from which I make decisions. I don't blindly say something is "good enough" without being able to quantify those decisions, and MySQL is not "good enough" on most all measures.
Well, we discovered that "elite" is mostly hubris.
I have a problem with the anti-intellectualism in the U.S.A. and it is reflected by this notion that, somehow, elite or an "Elite," is a bad thing.
Everyone has the ability to be elite. It takes time, study, passion, and work. You master a discipline, you attain a substantial amount of knowledge and ability.
Instead of that hard work and ability being recognized, people who do not choose to work, simply dismiss it as "Elitism."
In the software community, software engineers who will debate the finner differences between using "++i;" vs "i++;" stay away from databases and are almost proud of their ignorance.
A good "database," or RDBMS, is an amazing tool. If you are "elite" in your knowledge about data access, storage, and retrieval, you would understand why MySQL is a bad database, however, to understand requires learning more functional computer science. So it is easy for the non-elite programmer to dismiss the whole notion that knowledge has any sort of worth by saying it is simply "elitism" to say that one thing is better than another.
A Jew, a Muslim, a Christian, and an atheist walk into a bar.
The Muslim kills the jew in the name of allah, the christian kills the muslim for murder, and the when the atheist says this is insane, the christian has him redered to some islamic hell hole for defamation of religion?
Nice. civilization is dead. Welcome to the new dark ages.
To say SQLite is "fast" is meaningless unless you define the criteria by which you come to this conclusion.
And yet it is somehow meaningful to say that "A full RDBMS will have HUGE speed advantages over MySQL and SQLite most every case."?
Yes, because in almost every metric, a full blown RDBMS WILL have an advantage. Look at something like Oracle, DB2, or PostgreSQL. The objective of these systems starts and ends with "performance" and reliability on fairly large machines. MySQL started life as mSql, a small "sql" like database for small machines.
The MySQL is not designed to be "high performance" and every site that relies on it, like Slashdot for instance, has to do a lot of heavy lifting just to work around its limitations.
In a 99% read / 1% write environment, MySQL may be fine as long as you are doing simple queries with simple data. Add some complexity to the data and queries and the SQL planner does a bad job at constructing access plans for queries, and performs like crap.
As a contractor in 2006 I wrote a data analysis system for yahoo. I told them I needed PostgreSQL or Oracle, they wanted FreeBSD, so I used PostgreSQL. I had one very cool query, it went through a few hundred million rows of data and aggregated and characterized performance data for an arbitrary grouping of machines. Well, that query ran in an acceptable 2 seconds. A new VP came in and wanted MySQL because they had internal support, On MySQL it took 20 minutes. They had some "MySQL Experts" on hand to help me and they couldn't make it run any faster.
What people don't realize is that a good RDBMS is a powerful beast, and it isn't until you run in to issues related to the science of data access do you appreciate just how awesome they are.
I am in my later 40s. I have been in "high tech" since the early 1980s.
I do not have a degree.
I built my first computer in the 1970s.
I learned the concepts of computer science from an old navy programmer in high school. (in the late 70s)
When I entered the software industry, computer science was considered a math. In many ways, it is just an expression of a series of non-linear calculus equations, only with a different set of languages to express it.
I wish the industry were heading in a different direction, but stupid people who think a degree means "learning" have infiltrated the profession. Here's the problem: 25 years ago, you had to be smart and know your shit to work in the industry. Smart people understand that learning is a personal process and no piece of paper can substitute for innate curiosity and a drive for learning. It is the stupid people who barely get through college, barely retain anything they've learned, but managed to acquire a diploma, think, like the strawman from the wizard of oz, that they are now smart. It is these people that become the gatekeepers in the industry. It is the childish and oblivious value they put on the meaningless diploma that harms the industry. Smart people who know what they are doing are passed over for frat boys. The more of them there are in the industry, the more the industry will tend to go in that direction.
It should be sobering that most of the most meaningful developments in computer science have come from smart people who never learned anything about computers in school.
When I interview guys from supposedly good technical schools, and ask them how hash tables work or what a "call gate" is, I get a blank look and the response: "Why do I need to know that?" Anyone that has ever uttered that phrase, "why do I need to know that," is an idiot and should not work in any profession that requires knowledge.
When I was younger, computer science was the science of solving problems on actual computers. It is an interesting science as "real" computers have limitations. Understanding the limitations and operation of the computer allowed you to come up with interesting algorithms. The most used algorithms of our time have come from this type of thinking. These days, you'd be hard pressed to find a computer science grad that actually has any sort of clue about how real computers work. They don't understand why there are signed and unsigned integers and think that pointers are "bad."
So, blue collar or white collar? It doesn't matter. The idiots are running the industry. Moronic MBAs are coining buzzword phrases like "AGILE" development, and generally making the software industry a hopeless idiocracy.
Ok, this just pisses me off. Computers do not suck at math because they don't do math. They do add, subtract, multiply, and divide within their limitations. Hell, it wasn't until the 8088 that I used a micro that could multiply or divide. It has *always* been the job of the computer scientist to understand this.
It is *new* computer science that teaches languages like java or C# that abstract "computers" from the programs. I guess using theoretical computers is easier for moron professors to teach. I learned computer science from one of the old school teachers (ex-navy weather research) who would bitch about the usage of bits and bytes in a program.
I'm not sorry to say that "Computer Science" has to be more about the science of using COMPUTERS, not about some abstract ideal computer like edifice "virtual machine." I learned computer science as a way to model REAL problems on REAL computers, understanding limits and even using them advantageously. Algorithms are often incomplete or fundamentally wrong when they ignore the simple fact that they are running on a real computer with real limitations.
For all you java and dot net zealots who say, and I am quoting many of you, "Why do I need to know how that works" when it comes to lists, trees, hash tables, mutex, semaphores, MATH, and so on. This is but one example. If you KNEW how these things worked, you wouldn't be bitten in the arse when they didn't do as you imagined they would.
One of the first things you should learn in computer science in school or self education is that floating point is an approximation with limited precision. Any math done with it, must be done in the correct order that preserves as much precision as possible, and even then, if your precision requirements exceed the decimal accuracy of 64 bit floating point, then you can't do your math with floating point. You will have to code your own or buy/use a 3rd party precision math package.
Floting point is fine for a lot of things, but not everything, but if your computer science teacher didn't beat you head in with the limitations, you missed out. "How" "real" computers work is fascinating, and just knowing how they work affect how you code. Here's the big question.....
Now that you know floating point is not accurate, how many past projects would you double check to make sure they really do work?
While I agree that RMS is an ideologue of the worst kind
Of the "best" kind, for sure.
I'm mostly a capitalist. I generally think I should be paid for work that I do, however, there is a sense of dignity missing in the rush to the bottom attitude of raw unbridled capitalism that is disgusting.
Money "right now" greed will be the destruction of capitalism and the end of democracy as we know it. Democracy depends on an independent society. As the poor get poorer and the rich get richer, the notions of government and individual rights and dignity become less relevant. What good are environmental laws, worker safety laws, tax rates, etc. when corporations can just go to some 3rd world shit-hole and work those people for cheap. Then, if they have the temerity to demand rights and pay, then the corporation will just jump to the next shit-hole and exploit those workers.
Maybe I'm old fashioned, but man-kind evolved a social structure that worked. It was a balance of personal avarice and societal responsibility. One was supposed to have an amount of greed BUT! Also have an amount of social responsibility. The community protected itself against threats. The well-to-do (from hunter gatherers to railroad tycoons) knew they needed the protection and/or good will of the community to survive, so, while they lived better than most, they made sure their wealth also provided for the society that allowed them to be successful.
Once the society stops taking care of itself and it is an "everyman for himself situation," civilization is over. There must be a notion of a common good. There must be a notion of âoefor the good of society,â even in capitalism. It is a race to the bottom and no good can come from abandoning the stake holder for the sole purpose of enriching the share holder. There must be a balance between greed and society or we will lose both our wealth and our civilization.
when compared to the simplicity of developing for Windows.
"Simplicity" and "developing for Windows" do not belong in the same sentence, unless the sentence works something like "I like simplicity, but developing for Windows sucks."
Obviously you've never tried to do something non-trivial. APIs that change definition across releases. A compiler and library that does not support standard function names like open/read/write/close. A socket API that's glued on as an afterthought.
It doesn't support auto arrays:
int mysize = somenumber*10;
char buffer[mysze];
I think they've FINALLY got variadic macros.
File access time sucks.
child process spawn is SLOOWW
The development tools are a joke.
For example, saying, "Okay, we'll fix Pulseaudio for you guys by next Ubuntu release, if you do this or that." It would be a question of whether the Linux gang would accept them or not, depending on the offer.
Google is the 800 lb gorilla of Linux if it wants to be. It could define the audio standard and open source would have to follow or get left behind.
Fortunately the GPL will allow Google to ride rough-shod over the bickering egos, and we still benefit. How cool is that?
Ahh, there I said it. It feels good to say it.
He's the broken clock of pundits, he's right twice a day, but only by accident.
The problem with Google vs Microsoft is that Google should have made this move 6 years ago and it would have been in place to capitalize on the fiasco that is/was Vista.
The advantage Google has over, say, Canonical with Ubuntu, ls that everyone knows who Google is, sheesh, its used as a verb. Google docs is getting some uptake in smaller companies. OpenOffice is getting some uptake in others. The economy is helping the lower cost alternatives. People with skills are losing jobs and turning to lower cost or free alternatives in order to make money contracting.
Google can deal with Intuit, Adobe, and others to get their apps ported to Linux.
Google has the resources to make it happen. To beat Microsoft on the desktop market. The question is will they?
Follow the money. Of course he HAS TO BE.
yes Virginia, Solaris is more stable than Linux.
It's curious that this get repeated so often. I'd like to know the metrics by which they measure this. Which "linux" they measure against, and what constitutes "stability."
I've seen Solaris crash. I've seen Linux crash. having watch many systems over the years, I don't sense any practical difference in reliability over Linux, FreeBSD, or Solaris. They all stay running without issue until a power failure, hardware failure, kernel upgrade, or system upgrade.
So, what is "more stable" in this context? I have Linux machines with uptimes over a year.
So, please, do tell, how is Solaris "more stable" than Linux and why? Do tell!
No. A PC case is a well ventilated environment. The hydrogen won't accumulate there.
How many of these hydrogen factories are there per cubic yard?
I am intrigued at the idea of a battery as the power supply.
Same basic idea:
http://www.linuxpcrobot.org/
Hundreds of thousands of servers == thousands of dead batteries each month, since those batteries don't last more than a few years.
I would imagine that the battery replacement schedule mimics the server obsolescence perfectly.
LOL, when the battery catches fire, time to replace the server.
Anyone concerned that when a SLA batter is charged, hydrogen is one of the by-products?
You'd prefer to use subqueries? Good for you, then use pgsql. That still doesn't answer my questions, it just restates the point (which I explicitly agree with) that MySQL is stupid and annoying.
What you dismiss as merely "annoying" astounds me. It is "broken" it does not support SQL in any reasonable way. Consider a C compiler that would have several orders of magnitude difference in the way if processed "*p++=0" vs "*p=0; p++;" IN THE WRONG WAY!
If it's a constant, just run myudf() in the application, not the database, and it will certainly be fine. That's mainly a stylistic difference. You usually don't use UDFs in MySQL. Again, not a prohibitive problem. You can't expect MySQL to work well if you use it like pgsql, any more than the contrary.
It is statements like this that indicate to me that "MySQL" proponents don't know a thing about databases.
It is so hard to use MySQL because, sure, there may be a way to get something to work, not always, of course, but it isn't what you expect and you are constantly trying to "trick" MySQL into doing what it is that you want, even though the various permutations that you try are all logically similar.
You are working around a poorly designed query planner!!! You don't just shrug that off, its broken. Deal with it.
How about
select * from FOO where BAR in (select bar from froboz where name = xyz);
It won't use an index for BAR!! That is BROKEN. It is indefensible.
Designation as elite comes from the person so designating himself
Well, actually comes from morons who call you "elitist" or an "elite" for saying that one product is better than another or that "good enough" is a fools game.
There are lots of real reasons why MySQL is a bad database, and for that mere statement I am called "elite" or "elitist." Sorry, maybe I am "elite" but I have worked hard in my career to know things and have knowledge from which I make decisions. I don't blindly say something is "good enough" without being able to quantify those decisions, and MySQL is not "good enough" on most all measures.
So tell me: if pgsql is so superior for all purposes, why aren't these places using it instead?
Populous arguments are useless. If Windows is so bad why does it have a lock on the desktop market.
Or maybe, just maybe, pgsql is actually worse than MySQL in some ways that a majority of the top websites have spotted. Just saying.
I have, many times, on Slashdot and at employers made very good cases as to why MySQL should not be used. Here's two:
create index myindex on FOO(BAR)
Which will lock the table until it is rewritten. So, when your site is under heavy load, you CAN'T fix it without killing it.
select * from FOO where BAR = myudf(xyz)
Even if there is an index on FOO(BAR) MySQL is too STUPID to use it, you get a full table scan.
I have a ton of issues I can write about, but suffice to say, the index example is a show stopper for me.
Well, we discovered that "elite" is mostly hubris.
I have a problem with the anti-intellectualism in the U.S.A. and it is reflected by this notion that, somehow, elite or an "Elite," is a bad thing.
Everyone has the ability to be elite. It takes time, study, passion, and work. You master a discipline, you attain a substantial amount of knowledge and ability.
Instead of that hard work and ability being recognized, people who do not choose to work, simply dismiss it as "Elitism."
In the software community, software engineers who will debate the finner differences between using "++i;" vs "i++;" stay away from databases and are almost proud of their ignorance.
A good "database," or RDBMS, is an amazing tool. If you are "elite" in your knowledge about data access, storage, and retrieval, you would understand why MySQL is a bad database, however, to understand requires learning more functional computer science. So it is easy for the non-elite programmer to dismiss the whole notion that knowledge has any sort of worth by saying it is simply "elitism" to say that one thing is better than another.
Why do you like it so much? Is it faster with large datasets? Does it support backups/replication/some other great to have feature?
Yes.
Here's one: On a large table, on a live site, create or drop an index. MySQL locks up until its finished, PostgreSQL keeps working.
Enough with the knee-jerk elitism.
Gee, I remember a time when "Elite" was considered a good thing by educated people.
If I have open heart surgery, I wan an "Elite" doctor.
If I fly on a plane, I want an elite pilot.
If I setup a database, I want an elite database.
http://www.postgresql.org/
Just saying.
A Jew, a Muslim, a Christian, and an atheist walk into a bar.
The Muslim kills the jew in the name of allah, the christian kills the muslim for murder, and the when the atheist says this is insane, the christian has him redered to some islamic hell hole for defamation of religion?
Nice. civilization is dead. Welcome to the new dark ages.
I'm available for a nominal fee :-)
Take a look here:
http://www.mohawksoft.org/?q=node/56
Well, what do you mean by understanding indexes? One of the biggest problems I've seen is stuff like this:
create table froboz .....
(
foo integer,
bar integer,
);
create index froboz_foo on froboz(foo);
create index froboz_bar on froboz(bar);
then doing this:
select * from froboz where foo='x' and bar='y''
And expecting that both indexes will help. Depending on the distribution of the data within the table using both indexes could REDUCE performance.
However, if you did this:
create index froboz_foobar on froboz(foo,bar);
Your query could be orders of magnitude faster.
To say SQLite is "fast" is meaningless unless you define the criteria by which you come to this conclusion.
And yet it is somehow meaningful to say that "A full RDBMS will have HUGE speed advantages over MySQL and SQLite most every case."?
Yes, because in almost every metric, a full blown RDBMS WILL have an advantage. Look at something like Oracle, DB2, or PostgreSQL. The objective of these systems starts and ends with "performance" and reliability on fairly large machines. MySQL started life as mSql, a small "sql" like database for small machines.
The MySQL is not designed to be "high performance" and every site that relies on it, like Slashdot for instance, has to do a lot of heavy lifting just to work around its limitations.
In a 99% read / 1% write environment, MySQL may be fine as long as you are doing simple queries with simple data. Add some complexity to the data and queries and the SQL planner does a bad job at constructing access plans for queries, and performs like crap.
As a contractor in 2006 I wrote a data analysis system for yahoo. I told them I needed PostgreSQL or Oracle, they wanted FreeBSD, so I used PostgreSQL. I had one very cool query, it went through a few hundred million rows of data and aggregated and characterized performance data for an arbitrary grouping of machines. Well, that query ran in an acceptable 2 seconds. A new VP came in and wanted MySQL because they had internal support, On MySQL it took 20 minutes. They had some "MySQL Experts" on hand to help me and they couldn't make it run any faster.
What people don't realize is that a good RDBMS is a powerful beast, and it isn't until you run in to issues related to the science of data access do you appreciate just how awesome they are.