No, the better choice is Java. I have developed both J2SE desktop/web and J2EE server/webservice applications for years on Windows, Linux, and OS X. SWT is crap and has bugs which will apparently never be fixed in Cocoa. JDK 6 is specifically being designed for desktop application development. Once JDK 6 is released, Java will be the best choice for true cross-platform development. I am currently working on game development targeting desktops and in the future J2ME mobile devices. Java is truly incredible.
The soon to be releaseed Sun JDK 1.6 is *specifically* being designed for desktop application use. J2EE is not really Sun's moneymaker anymore, not since most J2EE work can be replaced with Spring and Hibernate as well as various other OSS J2EE technologies and containers. Even the OSS application servers are meeting and exceeding their commercial counterparts. And the OSS IDE's are truly first class (NetBeans/Eclipse).
Desktop Java is *certainly not* dead, it is really only beginning. The plans for JDK 1.7 are looking even more exciting. In the face of technologies like.NET/Mono, Java is truly an incredible cross-platform development language and environment, and with upcoming native widget support, native drag-and-drop, native dialogs, native taskbar support, etc. as well as excellent upcoming layout managers (e.g. Matisse), embedded Derby support, pointer safety, garbage collection, etc. there is really no good reason to not develop desktop applications in Java. Want to write an application for Windows/OS X/Linux? Develop it in Java.
As desktop Java becomes more and more professional and commonplace, the applications should get better and better. A lot of OSS software is absolutely excellent, but don't let your experience with Azeurus or whatever ruin your opinion of desktop Java. Java is truly excellent.
While a lot of what you say is true, what you say about braking before turning is not true. I race on a semi-professional and professional level in a variety of real motorsports including Autocross, Road Racing, and Rally (www.rally-america.com). The proper technique when racing around a corner or curve is to brake in a straight line before or into the turn (late braking) if needed to set up the turn, ride into the turn at a constant speed, and then power out of the turn. The most important part is to try to never brake while in a turn (unless Rally hand-braking;-), as the turning grip of the front tires is reduced by the braking grip. Active differentials/active braking/dynamic vehicle control systems can help to reduce the effects of braking during turning, but proper line braking is very important nonetheless.
Also, Rallyists really love to play Rally video games as much as they can, especially to practice course notes with their Co-Driver:-) The Richard Burns Rally simulator is amazing and the Colin McRae series is absolutely fun to play.
The situation you describe with Apple no longer exists. I have been a full-time Java developer for years on OS X and have loved every minute of it. Apple's technical support and online documentation has been top notch and both the included XCode and Eclipse/NetBeans are both top notch as well. I plan to delve into XCode again soon and get my hands wet again with Objective-C and from the looks of it the documentation is excellent. The doors are wide open to developers.
I see no reason whatsoever to not develop on and for Apple OS X.
The most important point you miss is intent. Unless you are a complete fucking moron, which it appears most people are, the intent of intelligent design is to try and pass religion as reality.
The three most important points to consider:
1) Disprovable 2) Repeatable 3) Predictable
The universe operates Mathematically. And all science at its most fundamental level is Mathematics. If string theory, *or any use of string theory* as a part of other scientific theories or models, reaches disprovable, repeatable and predicable results then string theory's scientific validity will be verified.
No, you are COMPLETELY WRONG. Mathematics IS science. The universe operates Mathematically. Mathematics is the language of the universe. Science IS applied Mathematics. Theoretical science is pure Mathematics. Empirical science is only a collection of single observations without explanation or understanding without Mathematics. Without Mathematics, science is nothing.
This study falsely assumes that all people's minds, intelligence, abilities, etc. are equal which is not true whatsoever. Nobody is completely equal. There is a very clear and distinct difference between people whose minds are naturally brilliant in a particular subject matter and people whose have only been highly trained in a particular subject matter.
For those who are naturally brilliant in a subject matter, knowledge only facilitates their ability to achieve. Training alone does not make them brilliant, it is only a tool to help them to reach their maximum potential, their natural born talent is what truly makes them great. Truly brilliant people think and use knowledge in a way completely different than those who are not like them.
For those who are higly trained, they can use the knowledge, and can occasionally think outside of the knowledge given but they are not truly brilliant thinkers in the subject matter beyond their training.
For a good example, my mind and one of my best friend's mind work completely differently. I am a naturally talented Mathematician. I have always loved Mathematics and science. My friend is a naturally talented musician. While I daydream about Mathematics and various areas of science all of the time, jotting down thoughts and looking up information on subjects I think about throughout the day, I have a very hard time playing the guitar and making up music. I have trained myself to play the guitar, and I can play music I have learned quite well, but making up completely new music is very difficult for me. Now, when my friend picks up my guitar (or any instrument), it is truly incredible how he just starts plucking away at the strings, and incredible music just starts flowing through his fingers. When I ask him how he does it, he says he doesn't even think about it, he simply plays what he feels. Although, when he's not playing music, and works on a hard science subject he has a terrible time comprehending various Mathematical and scientific concepts and ideas. Sure, he passes his Mathematics exams, but his mind is not truly talented in that kind of thought process. Which is exactly the opposite of my mind, where I am brilliant Mathematically, yet struggle to play musical instruments. This a great example that shows that training doesn't mean anything without the born brilliance and talent of the mind that is using the knowledge.
Wrong. You are going on a complete or uneducated misunderstanding of Physics and Mathematics. Which has been unfortunately been incorrectly perpetuating through human culture for a very long time. Yes, on a non-quantum level, everything has the possibility of being proved absolutely. And even on the quantum level, work is being done to prove absolutely as well. This is reality, not philosophy.
Also, your statement is completely self-conflicting. So, nothing can ever be proven, except the absoluteness of your statement, right?
Are there really people whose heartbeat rises when some new tech is introduced ?
Yes
Wasnt that a thing that is of the long-gone 70s-80s now ?
No
Dont we just use something if we find it useful and dont use, if we dont, and thats that ?
No
You must be one boring fucking person. If there not something if life that excites you, then life isn't worth living. For the truly intelligent, new and interesting technologies are always exciting.
What?!? The Java Garbage Collector can be manually controlled. You are in charge of an entire project and didn't know that? And you converted from C to Java? A procedural language to an OO language? And then back again? Who the hell hired you?
Bullshit.
Once you learn how to program, start by working under experienced developers in private industry for a while, then try coming back here and writing an educated post that isn't full of complete bullshit.
I have yet to find an application at work that did not have an OS X version or that I cannot simply run in an install of Windows XP running in Parallels.
You have an interesting post, although the line "Most recommendations for eliminating noise comes from reducing system load, turning down the backlight (double effect, since the backlight inverter is yes, another switching supply)." is wrong. It is actually the exact opposite. On my 15" MBP the high pitch whine occurs when the CPU's are completely idle. If you add a small load (~%10), it causes the sound to disappear. Stop the load and the sound reappears. The solution I have found is to simply run a small process in the background that consumes CPU cycles, which eliminates the noise completely. The other solution is to use headphones and listen to music while I am using my MBP. Now that this sort of silent recall is happening, I will be giving AppleCare a call about getting my MBP fixed. Other than the high pitched whine, my MBP has been absolutely perfect.
That's why 4x4 and Kentsfield are targeted at the enthusiast (aka more money than sense) market.
That is a completely subjective statement. What does not make sense to you makes perfect sense to me. Enlightened Self-Interest. Obviously, I don't give a damn what you think or value, and if it makes me happy, then it makes perfect sense. Therefore what you think doesn't mean a damn thing.
Personally, I wouldn't even attach the word "interesting" to one's career choice -- what you do outside of work is really what defines you.
Wrong. Everything you do in your life defines you. Equally important is why you do the things you do. Do you love what you do for work? Do you consider it work? Are you doing what you love to do everyday? Do you love what you do for play? Do you love both your work and your play equally as much? Do you consider your job simply a means to an end? The list goes on.
As far as owning your own business, do you own your own business? Do you love owning your own business because you are your own boss? Because you control your own decisions? Because you can work on whatever you wish? Because you always get directly rewarded for your actions? The list goes on.
I am fortunate enough to work at a medium sized software engineering firm where everyone loves what they do. They program at work and program at home for fun as well. They also enjoy their play time as equally as much. The blending and support of both parts of your life are encouraged and valued. The company I work for has an incredibly great life work balance culture and policy.
Again, my decision to do what I love for a living and to do what I love for play are not mutually exclusive and it is part of what defines who I am. Every choice you make in life, everything that you do in life defines you.
"Option 1 has always been true. Not since the quantum crisis have scientists been that arrogant to assume that their theories are set in stone; we're constantly refining the models to fit reality better and better."
Do not confuse scientists knowledge, understanding, and confidence for arrogance. Science has always been a process and because of that process knowledge will continually be refined until it is completely correct.
Modern science is based on the fact that we realise we're pretty much never 100% correct.
Your statement is a fallacy in itself. Is it correct to assume your statement is always %100 correct?
The main point of Parallels has not been touched on by anyone, that I have read on Slashdot, at all during the numerous articles written about Parallels so far.
I am a full-time Java developer and software engineering consultant (J2ME, J2SE, J2EE). Parallels is the perfect tool to increase my productivity and ease my ability to deliver products to customers in a timely fashion, all while allowing me to use OS X. Let me explain.
At any one particular client, I may be using DB2, MySQL, MSSQL, BEA Weblogic, IBM WebSphere, Apache Tomcat, JBoss, Oracle, Eclipse, SWT/AWT/Swing, Struts/Spring/Hibernate, CVS, SVN, ClearCase, Rational, RCP, JDK 1.3, JDK 1.5, etc. etc. Not only are all of the required tools for a particular client not available on all platforms, but each client's configuration usually involves a complete dedicated environment setup on the development machine.
Without Parallels, it would require a complete environment setup on each developer machine and multiple different machines running multiple different OS's if a project required it for development and testing. With Parallels, I simply make a new HDD image, set up the required environment, develop a solution, deploy the solution, and then move the Parallels HDD image to permanent storage. This has the major advantages that my development machine never gets reconfigured for a client's project, 12 months from now I can go back to the exact environment I stopped development on if a bug fix or feature needs to be developed (zero environment rebuild time), and I can run and test on multiple different platforms at the exact same time. Parallels is especially great at allowing a developer to test networked client/server applications by simply running two or more instances of Parallels and communicating between them. After dozens and dozens of client projects, you will love Parallels more and more each time you use it.
That is the true power of Parallels, IMO, and it should be understood and appreciated.
Why not just use the OSX native versions of those game titles? That is what I am doing to play NeverWinter Nights. If you go to www.Apple.com you can search through all of the OSX native game titles, most of the time you only need to download an updated binary.
I am certainly a Mac Nerd, especially since I work as a full-time Java developer on OS X both natively and using Parallels, and a computer is absolutely not just a tool. It is not a toaster. Just as a car is not just a device to get you from a to b. There are those people whose mentality is the same as yours, but they are incredibly boring, meaningless people. There is absolutely an emotional connection with computers and correspondingly their operating systems for many reasons, not just for what you can do with them, but for how they connect with people personally.
Even you say that you "love OSX". What you should figure out is why people emotionally connect with computers and operating systems. Is it how easily they allow you to accomplish what you want to do? Is it the overall look and polish of the user interface? Is it how the operating system works? Is it the ease of allowing the user to hack and alter the operating system the way they want? Is it simply a better way of doing things and attracts those people who look for those qualities? Why do people use Unix/Linux over Windows? Are there people using Unix/Linux wishing it was more user friendly? Is it a matter of overall productivity? Is it a matter of overall reliability? Is it just one or a combination of those things which makes an emotional connection with people?
"I think it's been widely acknowledged that the biggest problem with MS is the sheer scale of what they've tried to do in recent years. There's little experience in the industry of how to develop projects on the scale of Windows or Office effectively, no handbook of how to keep the bug count down and avoid introducing security flaws, performance hits, or whatever other scalability problems in software with dev teams of the size they use."
Not even close. Just off the top of my head I can think of any major operating system today (Solaris/AIX/etc.), programming langauges (Java), any major distributed computing environment/banking/etc. (CapitalOne, Bank of America, DOD, etc.) that are equal or greater in complexity to any software written by Microsoft. There are hundreds if not thousands of programs and systems being programmed, debugged and run every single day that are of extremely large scalability and complexity. While Microsoft does make large and complex software, they do not make the largest or the most complex software, and there is PLENTY of experience and resources available out there for even companies like Microsoft to learn from.
Your chemist friend is mostly correct, it depends on the individual person's chemistry and skin oils, and the material that is being exposed. My fiancee has used her iBook for years without a single stain or problem whatsoever. I have used a PC laptop (grey and black plastic) for years without any stains or problems whatsoever and now my MacBook Pro has no problems either. Personally, I believe these discoloring cases are very specific to the users and very localized.
It's the tar in cigarette smoke that causes the staining. Nicotine is colorless.
And to all of the self-righteous anti-smokers, go to hell. Nobody gives a damn about your over-liberal, over-sensitive whiny asses. If someone wants to smoke, who gives a damn. If it makes them happy and makes their lives work for them, then so be it.
No, the better choice is Java. I have developed both J2SE desktop/web and J2EE server/webservice applications for years on Windows, Linux, and OS X. SWT is crap and has bugs which will apparently never be fixed in Cocoa. JDK 6 is specifically being designed for desktop application development. Once JDK 6 is released, Java will be the best choice for true cross-platform development. I am currently working on game development targeting desktops and in the future J2ME mobile devices. Java is truly incredible.
The soon to be releaseed Sun JDK 1.6 is *specifically* being designed for desktop application use. J2EE is not really Sun's moneymaker anymore, not since most J2EE work can be replaced with Spring and Hibernate as well as various other OSS J2EE technologies and containers. Even the OSS application servers are meeting and exceeding their commercial counterparts. And the OSS IDE's are truly first class (NetBeans/Eclipse).
.NET/Mono, Java is truly an incredible cross-platform development language and environment, and with upcoming native widget support, native drag-and-drop, native dialogs, native taskbar support, etc. as well as excellent upcoming layout managers (e.g. Matisse), embedded Derby support, pointer safety, garbage collection, etc. there is really no good reason to not develop desktop applications in Java. Want to write an application for Windows/OS X/Linux? Develop it in Java.
Desktop Java is *certainly not* dead, it is really only beginning. The plans for JDK 1.7 are looking even more exciting. In the face of technologies like
As desktop Java becomes more and more professional and commonplace, the applications should get better and better. A lot of OSS software is absolutely excellent, but don't let your experience with Azeurus or whatever ruin your opinion of desktop Java. Java is truly excellent.
While a lot of what you say is true, what you say about braking before turning is not true. I race on a semi-professional and professional level in a variety of real motorsports including Autocross, Road Racing, and Rally (www.rally-america.com). The proper technique when racing around a corner or curve is to brake in a straight line before or into the turn (late braking) if needed to set up the turn, ride into the turn at a constant speed, and then power out of the turn. The most important part is to try to never brake while in a turn (unless Rally hand-braking ;-), as the turning grip of the front tires is reduced by the braking grip. Active differentials/active braking/dynamic vehicle control systems can help to reduce the effects of braking during turning, but proper line braking is very important nonetheless.
:-) The Richard Burns Rally simulator is amazing and the Colin McRae series is absolutely fun to play.
Also, Rallyists really love to play Rally video games as much as they can, especially to practice course notes with their Co-Driver
The situation you describe with Apple no longer exists. I have been a full-time Java developer for years on OS X and have loved every minute of it. Apple's technical support and online documentation has been top notch and both the included XCode and Eclipse/NetBeans are both top notch as well. I plan to delve into XCode again soon and get my hands wet again with Objective-C and from the looks of it the documentation is excellent. The doors are wide open to developers.
I see no reason whatsoever to not develop on and for Apple OS X.
Give development a try again on Apple OS X.
The most important point you miss is intent. Unless you are a complete fucking moron, which it appears most people are, the intent of intelligent design is to try and pass religion as reality.
The three most important points to consider:
1) Disprovable
2) Repeatable
3) Predictable
The universe operates Mathematically. And all science at its most fundamental level is Mathematics. If string theory, *or any use of string theory* as a part of other scientific theories or models, reaches disprovable, repeatable and predicable results then string theory's scientific validity will be verified.
No, you are COMPLETELY WRONG. Mathematics IS science. The universe operates Mathematically. Mathematics is the language of the universe. Science IS applied Mathematics. Theoretical science is pure Mathematics. Empirical science is only a collection of single observations without explanation or understanding without Mathematics. Without Mathematics, science is nothing.
Bullshit.
This study falsely assumes that all people's minds, intelligence, abilities, etc. are equal which is not true whatsoever. Nobody is completely equal. There is a very clear and distinct difference between people whose minds are naturally brilliant in a particular subject matter and people whose have only been highly trained in a particular subject matter.
For those who are naturally brilliant in a subject matter, knowledge only facilitates their ability to achieve. Training alone does not make them brilliant, it is only a tool to help them to reach their maximum potential, their natural born talent is what truly makes them great. Truly brilliant people think and use knowledge in a way completely different than those who are not like them.
For those who are higly trained, they can use the knowledge, and can occasionally think outside of the knowledge given but they are not truly brilliant thinkers in the subject matter beyond their training.
For a good example, my mind and one of my best friend's mind work completely differently. I am a naturally talented Mathematician. I have always loved Mathematics and science. My friend is a naturally talented musician. While I daydream about Mathematics and various areas of science all of the time, jotting down thoughts and looking up information on subjects I think about throughout the day, I have a very hard time playing the guitar and making up music. I have trained myself to play the guitar, and I can play music I have learned quite well, but making up completely new music is very difficult for me. Now, when my friend picks up my guitar (or any instrument), it is truly incredible how he just starts plucking away at the strings, and incredible music just starts flowing through his fingers. When I ask him how he does it, he says he doesn't even think about it, he simply plays what he feels. Although, when he's not playing music, and works on a hard science subject he has a terrible time comprehending various Mathematical and scientific concepts and ideas. Sure, he passes his Mathematics exams, but his mind is not truly talented in that kind of thought process. Which is exactly the opposite of my mind, where I am brilliant Mathematically, yet struggle to play musical instruments. This a great example that shows that training doesn't mean anything without the born brilliance and talent of the mind that is using the knowledge.
Oh well, apparently not, but at least it was close :-)
First Post?
Nothing can ever be proven to be
Wrong. You are going on a complete or uneducated misunderstanding of Physics and Mathematics. Which has been unfortunately been incorrectly perpetuating through human culture for a very long time. Yes, on a non-quantum level, everything has the possibility of being proved absolutely. And even on the quantum level, work is being done to prove absolutely as well. This is reality, not philosophy.
Also, your statement is completely self-conflicting. So, nothing can ever be proven, except the absoluteness of your statement, right?
about new stuff ? new technology ?
Yes
Are there really people whose heartbeat rises when some new tech is introduced ?
Yes
Wasnt that a thing that is of the long-gone 70s-80s now ?
No
Dont we just use something if we find it useful and dont use, if we dont, and thats that ?
No
You must be one boring fucking person. If there not something if life that excites you, then life isn't worth living. For the truly intelligent, new and interesting technologies are always exciting.
What?!? The Java Garbage Collector can be manually controlled. You are in charge of an entire project and didn't know that? And you converted from C to Java? A procedural language to an OO language? And then back again? Who the hell hired you?
Bullshit.
Once you learn how to program, start by working under experienced developers in private industry for a while, then try coming back here and writing an educated post that isn't full of complete bullshit.
Why not simply use Parallels?
I have yet to find an application at work that did not have an OS X version or that I cannot simply run in an install of Windows XP running in Parallels.
Solution:
1) Quit bitching.
2) Buy a new Apple Intel computer.
3) Rewrite/recompile Universal Binaries of your applications.
You must be a business major.
And you mispelled him, you must have held the shift key down by accident.
You have an interesting post, although the line "Most recommendations for eliminating noise comes from reducing system load, turning down the backlight (double effect, since the backlight inverter is yes, another switching supply)." is wrong. It is actually the exact opposite. On my 15" MBP the high pitch whine occurs when the CPU's are completely idle. If you add a small load (~%10), it causes the sound to disappear. Stop the load and the sound reappears. The solution I have found is to simply run a small process in the background that consumes CPU cycles, which eliminates the noise completely. The other solution is to use headphones and listen to music while I am using my MBP. Now that this sort of silent recall is happening, I will be giving AppleCare a call about getting my MBP fixed. Other than the high pitched whine, my MBP has been absolutely perfect.
That's why 4x4 and Kentsfield are targeted at the enthusiast (aka more money than sense) market.
That is a completely subjective statement. What does not make sense to you makes perfect sense to me. Enlightened Self-Interest. Obviously, I don't give a damn what you think or value, and if it makes me happy, then it makes perfect sense. Therefore what you think doesn't mean a damn thing.
Personally, I wouldn't even attach the word "interesting" to one's career choice -- what you do outside of work is really what defines you.
Wrong. Everything you do in your life defines you. Equally important is why you do the things you do. Do you love what you do for work? Do you consider it work? Are you doing what you love to do everyday? Do you love what you do for play? Do you love both your work and your play equally as much? Do you consider your job simply a means to an end? The list goes on.
As far as owning your own business, do you own your own business? Do you love owning your own business because you are your own boss? Because you control your own decisions? Because you can work on whatever you wish? Because you always get directly rewarded for your actions? The list goes on.
I am fortunate enough to work at a medium sized software engineering firm where everyone loves what they do. They program at work and program at home for fun as well. They also enjoy their play time as equally as much. The blending and support of both parts of your life are encouraged and valued. The company I work for has an incredibly great life work balance culture and policy.
Again, my decision to do what I love for a living and to do what I love for play are not mutually exclusive and it is part of what defines who I am. Every choice you make in life, everything that you do in life defines you.
"Option 1 has always been true. Not since the quantum crisis have scientists been that arrogant to assume that their theories are set in stone; we're constantly refining the models to fit reality better and better."
Do not confuse scientists knowledge, understanding, and confidence for arrogance. Science has always been a process and because of that process knowledge will continually be refined until it is completely correct.
Modern science is based on the fact that we realise we're pretty much never 100% correct.
Your statement is a fallacy in itself. Is it correct to assume your statement is always %100 correct?
The main point of Parallels has not been touched on by anyone, that I have read on Slashdot, at all during the numerous articles written about Parallels so far.
I am a full-time Java developer and software engineering consultant (J2ME, J2SE, J2EE). Parallels is the perfect tool to increase my productivity and ease my ability to deliver products to customers in a timely fashion, all while allowing me to use OS X. Let me explain.
At any one particular client, I may be using DB2, MySQL, MSSQL, BEA Weblogic, IBM WebSphere, Apache Tomcat, JBoss, Oracle, Eclipse, SWT/AWT/Swing, Struts/Spring/Hibernate, CVS, SVN, ClearCase, Rational, RCP, JDK 1.3, JDK 1.5, etc. etc. Not only are all of the required tools for a particular client not available on all platforms, but each client's configuration usually involves a complete dedicated environment setup on the development machine.
Without Parallels, it would require a complete environment setup on each developer machine and multiple different machines running multiple different OS's if a project required it for development and testing. With Parallels, I simply make a new HDD image, set up the required environment, develop a solution, deploy the solution, and then move the Parallels HDD image to permanent storage. This has the major advantages that my development machine never gets reconfigured for a client's project, 12 months from now I can go back to the exact environment I stopped development on if a bug fix or feature needs to be developed (zero environment rebuild time), and I can run and test on multiple different platforms at the exact same time. Parallels is especially great at allowing a developer to test networked client/server applications by simply running two or more instances of Parallels and communicating between them. After dozens and dozens of client projects, you will love Parallels more and more each time you use it.
That is the true power of Parallels, IMO, and it should be understood and appreciated.
Why not just use the OSX native versions of those game titles? That is what I am doing to play NeverWinter Nights. If you go to www.Apple.com you can search through all of the OSX native game titles, most of the time you only need to download an updated binary.
I am certainly a Mac Nerd, especially since I work as a full-time Java developer on OS X both natively and using Parallels, and a computer is absolutely not just a tool. It is not a toaster. Just as a car is not just a device to get you from a to b. There are those people whose mentality is the same as yours, but they are incredibly boring, meaningless people. There is absolutely an emotional connection with computers and correspondingly their operating systems for many reasons, not just for what you can do with them, but for how they connect with people personally.
Even you say that you "love OSX". What you should figure out is why people emotionally connect with computers and operating systems. Is it how easily they allow you to accomplish what you want to do? Is it the overall look and polish of the user interface? Is it how the operating system works? Is it the ease of allowing the user to hack and alter the operating system the way they want? Is it simply a better way of doing things and attracts those people who look for those qualities? Why do people use Unix/Linux over Windows? Are there people using Unix/Linux wishing it was more user friendly? Is it a matter of overall productivity? Is it a matter of overall reliability? Is it just one or a combination of those things which makes an emotional connection with people?
"I think it's been widely acknowledged that the biggest problem with MS is the sheer scale of what they've tried to do in recent years. There's little experience in the industry of how to develop projects on the scale of Windows or Office effectively, no handbook of how to keep the bug count down and avoid introducing security flaws, performance hits, or whatever other scalability problems in software with dev teams of the size they use."
Not even close. Just off the top of my head I can think of any major operating system today (Solaris/AIX/etc.), programming langauges (Java), any major distributed computing environment/banking/etc. (CapitalOne, Bank of America, DOD, etc.) that are equal or greater in complexity to any software written by Microsoft. There are hundreds if not thousands of programs and systems being programmed, debugged and run every single day that are of extremely large scalability and complexity. While Microsoft does make large and complex software, they do not make the largest or the most complex software, and there is PLENTY of experience and resources available out there for even companies like Microsoft to learn from.
Your chemist friend is mostly correct, it depends on the individual person's chemistry and skin oils, and the material that is being exposed. My fiancee has used her iBook for years without a single stain or problem whatsoever. I have used a PC laptop (grey and black plastic) for years without any stains or problems whatsoever and now my MacBook Pro has no problems either. Personally, I believe these discoloring cases are very specific to the users and very localized.
It's the tar in cigarette smoke that causes the staining. Nicotine is colorless.
And to all of the self-righteous anti-smokers, go to hell. Nobody gives a damn about your over-liberal, over-sensitive whiny asses. If someone wants to smoke, who gives a damn. If it makes them happy and makes their lives work for them, then so be it.