The problem is, as someone who loves software engineering, I really take pride in trying to implement stuff not just in a way that works, but in a way that is easy to read, change, optimize, etc. It's rather frustrating for me to work with people who don't have any sense of craftmanship. Especially when my job is made more difficult because of careless get-it-done coding.
Unless you happen to have a natural talent for it, if you go into a field for purely superficial reasons you are going to perpetuate mediocrity and, I believe, contribute to harming that industry. To summarize: Working with people who don't care really sucks for those of us that do.
At my last job, there was a strong get-it-done culture. Most people there did not go home and tinker around on the computer as a personal interest, they did their duty each day and then went on to escape the computer for the rest of the evening. I was miserable. Luckily there were a small number of people there that I could talk shop with, and who actually cared about how things were done.
At my current job, everyone is actually interested in what they are doing, and it is a *much* nicer place to be.
"Not shooting yourself in the foot for the sake of a temporary increase in profits.
This is something we've seen a lot of companies do recently, and probably have been doing for a long time (though I have been lucky enough to be in the job market starting at the tail-end of the dot-com boom/bust - so I've seen QUITE a lot of it). BUT, I would argue that this current trend of globalization is a short term hit to our local economy, but a long-term gain for the world economy. Prices are already going up for Indian labor. It's boom time there, and it'll be the same thing as it was here. Education there will get better and better, and the cost of skilled labor will go up. Pretty soon, China or the Phillipines will look cheaper than India and Russia. The prosperity moves around, and leaves in it's wake more of a market for the luxury items that we (USAians) make and higher prices. Meanwhile, we aren't going to become so destitute a nation as to be unable to capitalize on this. But we will experience a lull while there's an equilibrium established.
Also, you are going to see that most of the current outsourcing attempts are going to fail miserably due to lack of coordination, lack of manageability, and all the other down sides of remote development (amplified by incompetence). Outsourcing works great for some situations/organizations/cultures, and disastrously for others. So we won't see quite as much of it after we see the results of this current fevered rash of outsourcing in the coming years.
I think it will ultimately result in a higher world average standard of living. I'm sure I'm being particularly optimistic, but you can see the argument.
As long as you aren't insane going into it, then yeah, sure... That sounds awesome!
Let's assume there is no easily-discernable difference between your program and reality. If you go into that program, aware of the technology, and knowing that you are entering a game, you are going to act differently than if you, say, woke up in the game and thought it was reality. (Unless you are insane.) If you think it's reality, you are going to apply your regular set of morals to your actions, believing that it affects other individuals and society as a whole. If you think it's a game, you may waste people with your crossbow, or crash your car into a gas truck and blow up half the city. Why not?
Anyone who cannot make that distinction is literally crazy. And I maintain that belief for your extreme case. I also do not particularly want to fashion our social norms around an edge case for deviants who think it's okay to hurt people in real life.
Of course, if a game was completely immersive, you'd want to have some way to verify that you are in a game to prevent genuine mistakes. Heh.
Purely anecdotal, but I've been planted 5 inches from my computer screen since I was 5 (over 20 years ago), and I still have good vision. Sure, I get stress headaches all the time, but my actual ability to see hasn't been damaged.
You seem disproportionately offended by what I said - I'm sorry if that's the case. There's no need to make this personal.
If you don't agree, I'd like to hear more about how people act completely against all their interests. You basically just said, "No, you're wrong." That's not an argument, it's just contradiction.
I wasn't trying to start a philisophical treatise, so I didn't try to cover everything, like conflicting desires, and mental illness and a million more things I'm sure you could come up with. My point was simply that saying "People lie to get what they want" is not a very meaningful statement. A more interesting statement is "Darl wants this, and he lied because he thought this and this would happen."
Heh, this is starting to move away from SCO, and their motivations, but oh well. Hard to say anything is off-topic when human behavior is a super-topic of pretty much everything involving humans.
Anyway, I didn't mean to imply that every action by everyone is deliberate. As you say, for better or worse, sometimes your subconcious makes decisions for you. But that doesn't mean it doesn't act in your interests.
In general, when a bus comes, and there is no one in danger, you don't instinctively jump out in front of it. In the case that there is someone going to be hit by it, you might be someone that instinctively jumps out to save that person, but there are many that are not. And what you do is still going to depend on your belief and value system, which I include in someone's "wants".
What if it wasn't a human about to be hit, but a wild rabbit? Or your dog, that you love very much? What if it's not a stranger but your mother or wife or child? Your interests are going to change your decision, even if you aren't consciously making it.
To change another variable what if it wasn't someone hit by a bus, but someone who fell off a cliff? Are you instinctively going to jump after them to save them, when you can't do anything? Your instinct makes you act quickly, but there's still some decision-making going on.
People don't always do things for any particular conscious purpose. But there's always a reason. People don't really behave randomly. The reasons are sometimes just so complex that you (as an observer, or even the person acting) can't understand them, or are not aware of them.
"Actually people deliberatly lie for one reason: to get what they want."
Actually, people do all things for only one reason: to get what they want. It's kind of a non-argument. Even behavior one would consider self-destructive or sacrificial serves some kind of internal need/desire (or is made in ignorance, with the belief that it serves a need or desire).
For example, if a guy pushes someone out of the way of a bus so that he gets hit instead - a pretty selfless act - he either thought he could save the person without getting hit, or he preferred to get hit over the other person. Or, more accurately, there was some risk, and the reward of feeling good about himself, being exhalted as a hero, or any number of things outweighed the perceived risk.
So, either people deliberately lie for one sort-of-meaningless reason (to get what they want), or for one or more of an innumerable list of reasons at the level above that (increase wealth, avoid blame, make one's self look good, avoid conflict, generate conflict, ad infinitum...).
-If
Addendum: I suppose things get fuzzier when you talk about brainwashing. Someone can be made to want things that they originally didn't want through all sorts of various manipulations. It doesn't really change the above, people still always act to get what they want, but what they want can be manipulated.
Given three people, A, B, and C - if the ratio A doing unto B and B doing onto C is the same as the ratio of A doing onto C and A doing onto B, then the people have done unto others in a Golden Ratio called Phi.
For those of you who are worried about the Disney involvement of the movie, here's what Douglas said about it in December, 1998.
"First of all, I have not tried to 'downplay' Disney's role in this. Disney is the studio which is making this movie, which is financing it, which will be distributing it. It couldn't really be much more central to the project.
What I have tried to explain is that people's ideas of who or what Disney is is a little out of date. Yes, it made Bambi and Snow White and Flubber, but it also made Pulp Fiction, The Rock, etc., etc. It is a huge entertainment corporation, one part of which still makes what it originally made, i.e. family entertainment. So to talk about 'Disney-fying' Hitchhiker makes as much sense as saying 'Columbia-fying' it or 'Universal-fying' it. Yes, each studio has its strengths and weaknesses at any moment, depending on who's running what, but generalisations based on Bambi no longer apply. The important issues as far as I'm concerned is - who are the individual people I'm working with? The director, the producer, the studio executive etc. As things stand at the moment, I'm feeling very happy, confident and well looked after. But we have a huge task and huge challenges. Let's see how it goes."
For several years at Disneyland, they've had a sample of it in FutureLand or TomorrowLand or whatever it's called. Sort of across the path from Star Tours, there is a whole exhibit about the US Space Program. Inside a glass case, they have a square of Aerogel held up. Unfortunately, they don't let you touch it or anything. But it is interesting to look at - it's hard to find the edges of the material, even when you are concentrating.
-If
Re:We can own buildings on the moon...
on
The Future of NASA
·
· Score: 1
de facto control, de facto control, de facto control. You don't know what it means do you? Just to save you google time, it means "in fact". Now you do.
Well, in the common usage, at least in the American English that I know, it has an implication of something that is not only true, but unofficially true. In other words, by "de facto control," he means control that exists even though no one, perhaps even the controlling entity, acknowledges it.
The Village Voice declared Miramax/Disney's Kill Bill "The Most Violent American Movie Ever Made," and the Hollywood Reporter warned it "oozes, drips, flows, gushes, splatters... scalps, limbs and heads are freely removed from characters' bodies."
Yes, it's interesting, Hypertext, in this sense, is a failure. With the scope of the entire Web, determining what you will get out of a link from context is not always easy. If a submission has one link, you know it's going to go to the referencing article. (It better, damnit!) If there is more than one or two, you get serious "Link-Depreciation." And the fall-off is drastic, 3 links is usually enough that I won't even try to find which one is the article, I'll just hope to find it reposted in the comments, or to get relevant information from context (which is, of course, always a mistake).
Maybe there should be an "associated links" section, which link to various corporate entities, but are not mixed in with the submission itself. If you are including a link to SCO's homepage, you are not helping anyone. In fact, I don't really want to see any homepage links unless it is an obscure entitiy.
Well, as much as Microsoft needs to do the best job they can in making a secure product, I think what he is getting at is that there's no way you can have one piece of software that's totally secure - you need layers of security. Because there WILL be vulnerabilities, no matter how hard you try, but by adding layers, the chances of a vulnerability through multiple layers is exponentially lower... As long as one layer covers the holes of the other layer, and vice versa, you still have something airtight... or close anyway.
Sure, if they decide that their job is done and it's entirely up to the user, that sucks, but that wasn't what I took from what he was saying. For microsoft, the cost gets exponentially higher to increase the security linearly... For a user, they can get an big jump in security at a constant cost. I took the message as: We are trying, but our code isn't perfect - luckily there are some things you can do to improve the situation.
I managed to get my roland cm32-l working over my SB Audigy game/midi port. I had to buy a $20 midi converter cable from fry's. I also had to use VDM Sound to get my dos games's midi output to get sent over the audigy's midi port. Supposedly my motherboard has a built-in MPU-401 compatible midi port, but it would drop data when sending it to the roland.
Nice not to need some crappy old ISA computer to play my old games.
I don't think it is really ready for "prime time"... You can download a sample of the emulator output here. Some parts are spot-on, but others are off-tune or the wrong sound or something.
I'm going to ignore the vaugely belligerent tone in your message, and try to answer as best I can.
The main advantages of Java and the VM have never been thought to be performance by anyone. It's definately an issue, especially for real-time interactive applications. A common way to solve all sorts of problems in software engineering, especially when part of the problem is completely out of your control, is to create an abstraction - a layer of indirection. For example, you might have to develop a 3D graphics program for 3 platforms, all of which have different 3D APIs, OpenGL, DirectX, and Joe's Own 3D API. The obvious solution, which takes some investment up front, but is emminately reusable and will save the developer much more time later, is to create an abstraction at the 3D API layer - basically to create an idealized 3D API that can be implemented in terms of the other three APIs. This pushes all platform-specific code into one area where it is more managable, and lets the application code be generic and clean and maintainable. An API is just an abstraction, too... it abstracts calls to the video hardware behind an interface. So often you end up with abstractions of abstractions, and as long as your abstractions are clean, that's perfectly fine.
So the concept behind the VM is the same concept, but extend it from a 3D API to the entire platform. The VM is an abstraction for OS concepts - it has it's own scheduler, threads implementation, memory management, and access to whatever pieces of hardware that the OS would normally provide. Even ignoring the portability, the advantage of just working in a predictable, sane environment is pretty big, especially in terms of development speed. Platform doesn't support threads? You don't care, the VM will emulate them in that case. Just like OpenGL will emulate the 3D rendering routines if your hardware doesn't support them.
Also, what is considered by some to be a disadvantage of the VM is also an advantage: that you are stuck inside the VM's box. Well, what's the advantage? Your (perhaps malicious) users are also stuck inside that box. The VM gives apps running on it quite a bit of resistance to exploits such as buffer overruns and these kinds of things. You don't want to be able to write over a buffer and spill out into application code - since java doesn't let the developer do that, it's a lot harder for the user to do that. I'm sure there are still exploits possible, but it requires a great deal more knowledge about the application specifics, as well as a flaw in the VM implementation. The VM also in theory makes sure that code that gets executed has not been changed since it came out of the compiler.
Also, since the JVM is not really Java-Specific, it can be used for other languages/environments as well! For example, Rhino is a package that can compile Javascript into Java Bytecode. So, all of a sudden, you now have Javascript that is executing in an environment that has all the investment put into the JVM in terms of stability/performance/etc... I've heard tell of other high-level languages that have compilers that compile into JVM bytecode.
Of *course* there are tradeoffs, but you seem well-acquainted with those. With every abstraction there is an efficiency cost, either at compile-time or run-time. Another one is that if the VM does not abstract some functionality that you need, you probably have to write your own abstraction, either in java or native code - and doing so is probably more troublesome for a VM than otherwise.
To sum up, the advantages of the VM are: 1. Consistent, sane, idealized development platform regardless of potentially quirky hardware; 2. JVM platform features unsupported by OS and/or hardware will/can be transparently emulated (i.e. threading, garbage collection); 3. Concentrates performance/stability work into the VM for multiple programming languages and platforms; 4. VM provides a certain level of automatic protection against many of the common security exploits.
I'm sure there are other advantages, too, but I can't think of them at the moment... Hope this clears things up!
The problem is, as someone who loves software engineering, I really take pride in trying to implement stuff not just in a way that works, but in a way that is easy to read, change, optimize, etc. It's rather frustrating for me to work with people who don't have any sense of craftmanship. Especially when my job is made more difficult because of careless get-it-done coding.
Unless you happen to have a natural talent for it, if you go into a field for purely superficial reasons you are going to perpetuate mediocrity and, I believe, contribute to harming that industry. To summarize: Working with people who don't care really sucks for those of us that do.
At my last job, there was a strong get-it-done culture. Most people there did not go home and tinker around on the computer as a personal interest, they did their duty each day and then went on to escape the computer for the rest of the evening. I was miserable. Luckily there were a small number of people there that I could talk shop with, and who actually cared about how things were done.
At my current job, everyone is actually interested in what they are doing, and it is a *much* nicer place to be.
-If
"Not shooting yourself in the foot for the sake of a temporary increase in profits.
This is something we've seen a lot of companies do recently, and probably have been doing for a long time (though I have been lucky enough to be in the job market starting at the tail-end of the dot-com boom/bust - so I've seen QUITE a lot of it). BUT, I would argue that this current trend of globalization is a short term hit to our local economy, but a long-term gain for the world economy. Prices are already going up for Indian labor. It's boom time there, and it'll be the same thing as it was here. Education there will get better and better, and the cost of skilled labor will go up. Pretty soon, China or the Phillipines will look cheaper than India and Russia. The prosperity moves around, and leaves in it's wake more of a market for the luxury items that we (USAians) make and higher prices. Meanwhile, we aren't going to become so destitute a nation as to be unable to capitalize on this. But we will experience a lull while there's an equilibrium established.
Also, you are going to see that most of the current outsourcing attempts are going to fail miserably due to lack of coordination, lack of manageability, and all the other down sides of remote development (amplified by incompetence). Outsourcing works great for some situations/organizations/cultures, and disastrously for others. So we won't see quite as much of it after we see the results of this current fevered rash of outsourcing in the coming years.
I think it will ultimately result in a higher world average standard of living. I'm sure I'm being particularly optimistic, but you can see the argument.
-If
As long as you aren't insane going into it, then yeah, sure... That sounds awesome!
Let's assume there is no easily-discernable difference between your program and reality. If you go into that program, aware of the technology, and knowing that you are entering a game, you are going to act differently than if you, say, woke up in the game and thought it was reality. (Unless you are insane.) If you think it's reality, you are going to apply your regular set of morals to your actions, believing that it affects other individuals and society as a whole. If you think it's a game, you may waste people with your crossbow, or crash your car into a gas truck and blow up half the city. Why not?
Anyone who cannot make that distinction is literally crazy. And I maintain that belief for your extreme case. I also do not particularly want to fashion our social norms around an edge case for deviants who think it's okay to hurt people in real life.
Of course, if a game was completely immersive, you'd want to have some way to verify that you are in a game to prevent genuine mistakes. Heh.
-If
Purely anecdotal, but I've been planted 5 inches from my computer screen since I was 5 (over 20 years ago), and I still have good vision. Sure, I get stress headaches all the time, but my actual ability to see hasn't been damaged.
I think eyesight loss is mostly hereditary.
-If
You seem disproportionately offended by what I said - I'm sorry if that's the case. There's no need to make this personal.
If you don't agree, I'd like to hear more about how people act completely against all their interests. You basically just said, "No, you're wrong." That's not an argument, it's just contradiction.
I wasn't trying to start a philisophical treatise, so I didn't try to cover everything, like conflicting desires, and mental illness and a million more things I'm sure you could come up with. My point was simply that saying "People lie to get what they want" is not a very meaningful statement. A more interesting statement is "Darl wants this, and he lied because he thought this and this would happen."
-If
Heh, this is starting to move away from SCO, and their motivations, but oh well. Hard to say anything is off-topic when human behavior is a super-topic of pretty much everything involving humans.
Anyway, I didn't mean to imply that every action by everyone is deliberate. As you say, for better or worse, sometimes your subconcious makes decisions for you. But that doesn't mean it doesn't act in your interests.
In general, when a bus comes, and there is no one in danger, you don't instinctively jump out in front of it. In the case that there is someone going to be hit by it, you might be someone that instinctively jumps out to save that person, but there are many that are not. And what you do is still going to depend on your belief and value system, which I include in someone's "wants".
What if it wasn't a human about to be hit, but a wild rabbit? Or your dog, that you love very much? What if it's not a stranger but your mother or wife or child? Your interests are going to change your decision, even if you aren't consciously making it.
To change another variable what if it wasn't someone hit by a bus, but someone who fell off a cliff? Are you instinctively going to jump after them to save them, when you can't do anything? Your instinct makes you act quickly, but there's still some decision-making going on.
People don't always do things for any particular conscious purpose. But there's always a reason. People don't really behave randomly. The reasons are sometimes just so complex that you (as an observer, or even the person acting) can't understand them, or are not aware of them.
-If
"Actually people deliberatly lie for one reason: to get what they want."
Actually, people do all things for only one reason: to get what they want. It's kind of a non-argument. Even behavior one would consider self-destructive or sacrificial serves some kind of internal need/desire (or is made in ignorance, with the belief that it serves a need or desire).
For example, if a guy pushes someone out of the way of a bus so that he gets hit instead - a pretty selfless act - he either thought he could save the person without getting hit, or he preferred to get hit over the other person. Or, more accurately, there was some risk, and the reward of feeling good about himself, being exhalted as a hero, or any number of things outweighed the perceived risk.
So, either people deliberately lie for one sort-of-meaningless reason (to get what they want), or for one or more of an innumerable list of reasons at the level above that (increase wealth, avoid blame, make one's self look good, avoid conflict, generate conflict, ad infinitum...).
-If
Addendum: I suppose things get fuzzier when you talk about brainwashing. Someone can be made to want things that they originally didn't want through all sorts of various manipulations. It doesn't really change the above, people still always act to get what they want, but what they want can be manipulated.
Given three people, A, B, and C - if the ratio A doing unto B and B doing onto C is the same as the ratio of A doing onto C and A doing onto B, then the people have done unto others in a Golden Ratio called Phi.
-If
cross-posting this from IMDB boards (yay, a quote of a quote of a quote):
by The Duke of Dunstable:
For those of you who are worried about the Disney involvement of the movie, here's what Douglas said about it in December, 1998.
"First of all, I have not tried to 'downplay' Disney's role in this. Disney is the studio which is making this movie, which is financing it, which will be distributing it. It couldn't really be much more central to the project.
What I have tried to explain is that people's ideas of who or what Disney is is a little out of date. Yes, it made Bambi and Snow White and Flubber, but it also made Pulp Fiction, The Rock, etc., etc. It is a huge entertainment corporation, one part of which still makes what it originally made, i.e. family entertainment. So to talk about 'Disney-fying' Hitchhiker makes as much sense as saying 'Columbia-fying' it or 'Universal-fying' it. Yes, each studio has its strengths and weaknesses at any moment, depending on who's running what, but generalisations based on Bambi no longer apply. The important issues as far as I'm concerned is - who are the individual people I'm working with? The director, the producer, the studio executive etc. As things stand at the moment, I'm feeling very happy, confident and well looked after. But we have a huge task and huge challenges. Let's see how it goes."
For several years at Disneyland, they've had a sample of it in FutureLand or TomorrowLand or whatever it's called. Sort of across the path from Star Tours, there is a whole exhibit about the US Space Program. Inside a glass case, they have a square of Aerogel held up. Unfortunately, they don't let you touch it or anything. But it is interesting to look at - it's hard to find the edges of the material, even when you are concentrating.
-If
de facto control, de facto control, de facto control. You don't know what it means do you?
Just to save you google time, it means "in fact". Now you do.
Well, in the common usage, at least in the American English that I know, it has an implication of something that is not only true, but unofficially true. In other words, by "de facto control," he means control that exists even though no one, perhaps even the controlling entity, acknowledges it.
-If
The Village Voice declared Miramax/Disney's Kill Bill "The Most Violent American Movie Ever Made," and the Hollywood Reporter warned it "oozes, drips, flows, gushes, splatters... scalps, limbs and heads are freely removed from characters' bodies."
Awesome...
Can't wait for part 2!
-If
Dude, they were talking about USB Joysticks... you are coming out of left field with this Penis talk. What's up with that?
-If
The "other group" was the Rolling Stones, from what I've heard.
-If
So, pardon me if I am concerned this thread might be a troll.
I think this whole article is a troll, actually.
-If
Yes, it's interesting, Hypertext, in this sense, is a failure. With the scope of the entire Web, determining what you will get out of a link from context is not always easy. If a submission has one link, you know it's going to go to the referencing article. (It better, damnit!) If there is more than one or two, you get serious "Link-Depreciation." And the fall-off is drastic, 3 links is usually enough that I won't even try to find which one is the article, I'll just hope to find it reposted in the comments, or to get relevant information from context (which is, of course, always a mistake).
Maybe there should be an "associated links" section, which link to various corporate entities, but are not mixed in with the submission itself. If you are including a link to SCO's homepage, you are not helping anyone. In fact, I don't really want to see any homepage links unless it is an obscure entitiy.
-If
Probably more like 99.5% of the world... or even 99.9%
-If
Well, as much as Microsoft needs to do the best job they can in making a secure product, I think what he is getting at is that there's no way you can have one piece of software that's totally secure - you need layers of security. Because there WILL be vulnerabilities, no matter how hard you try, but by adding layers, the chances of a vulnerability through multiple layers is exponentially lower... As long as one layer covers the holes of the other layer, and vice versa, you still have something airtight... or close anyway.
Sure, if they decide that their job is done and it's entirely up to the user, that sucks, but that wasn't what I took from what he was saying. For microsoft, the cost gets exponentially higher to increase the security linearly... For a user, they can get an big jump in security at a constant cost. I took the message as: We are trying, but our code isn't perfect - luckily there are some things you can do to improve the situation.
-If
Yeah, saying you don't need "perfect" code is not saying anything. There is no such thing...
-If
Lucent? It's not a swirl, but it's remarkably similar. If you could combine sybase and lucent, you would have the debian logo almost precisely.
-If
Sybase? Sybase actually has a pretty sweet logo, though their colors suck.
-If
I think they are talking about Arnold...
-If
I managed to get my roland cm32-l working over my SB Audigy game/midi port. I had to buy a $20 midi converter cable from fry's. I also had to use VDM Sound to get my dos games's midi output to get sent over the audigy's midi port. Supposedly my motherboard has a built-in MPU-401 compatible midi port, but it would drop data when sending it to the roland.
Nice not to need some crappy old ISA computer to play my old games.
-If
I don't think it is really ready for "prime time"... You can download a sample of the emulator output here. Some parts are spot-on, but others are off-tune or the wrong sound or something.
-If
I'm going to ignore the vaugely belligerent tone in your message, and try to answer as best I can.
The main advantages of Java and the VM have never been thought to be performance by anyone. It's definately an issue, especially for real-time interactive applications. A common way to solve all sorts of problems in software engineering, especially when part of the problem is completely out of your control, is to create an abstraction - a layer of indirection. For example, you might have to develop a 3D graphics program for 3 platforms, all of which have different 3D APIs, OpenGL, DirectX, and Joe's Own 3D API. The obvious solution, which takes some investment up front, but is emminately reusable and will save the developer much more time later, is to create an abstraction at the 3D API layer - basically to create an idealized 3D API that can be implemented in terms of the other three APIs. This pushes all platform-specific code into one area where it is more managable, and lets the application code be generic and clean and maintainable. An API is just an abstraction, too... it abstracts calls to the video hardware behind an interface. So often you end up with abstractions of abstractions, and as long as your abstractions are clean, that's perfectly fine.
So the concept behind the VM is the same concept, but extend it from a 3D API to the entire platform. The VM is an abstraction for OS concepts - it has it's own scheduler, threads implementation, memory management, and access to whatever pieces of hardware that the OS would normally provide. Even ignoring the portability, the advantage of just working in a predictable, sane environment is pretty big, especially in terms of development speed. Platform doesn't support threads? You don't care, the VM will emulate them in that case. Just like OpenGL will emulate the 3D rendering routines if your hardware doesn't support them.
Also, what is considered by some to be a disadvantage of the VM is also an advantage: that you are stuck inside the VM's box. Well, what's the advantage? Your (perhaps malicious) users are also stuck inside that box. The VM gives apps running on it quite a bit of resistance to exploits such as buffer overruns and these kinds of things. You don't want to be able to write over a buffer and spill out into application code - since java doesn't let the developer do that, it's a lot harder for the user to do that. I'm sure there are still exploits possible, but it requires a great deal more knowledge about the application specifics, as well as a flaw in the VM implementation. The VM also in theory makes sure that code that gets executed has not been changed since it came out of the compiler.
Also, since the JVM is not really Java-Specific, it can be used for other languages/environments as well! For example, Rhino is a package that can compile Javascript into Java Bytecode. So, all of a sudden, you now have Javascript that is executing in an environment that has all the investment put into the JVM in terms of stability/performance/etc... I've heard tell of other high-level languages that have compilers that compile into JVM bytecode.
Of *course* there are tradeoffs, but you seem well-acquainted with those. With every abstraction there is an efficiency cost, either at compile-time or run-time. Another one is that if the VM does not abstract some functionality that you need, you probably have to write your own abstraction, either in java or native code - and doing so is probably more troublesome for a VM than otherwise.
To sum up, the advantages of the VM are: 1. Consistent, sane, idealized development platform regardless of potentially quirky hardware; 2. JVM platform features unsupported by OS and/or hardware will/can be transparently emulated (i.e. threading, garbage collection); 3. Concentrates performance/stability work into the VM for multiple programming languages and platforms; 4. VM provides a certain level of automatic protection against many of the common security exploits.
I'm sure there are other advantages, too, but I can't think of them at the moment... Hope this clears things up!
-If