I would have no issue updating to the current version if it were implemented right. I tried it as soon as it was released and guess what. Just opening the main application window with absolutely no activity going on, no chat in progress, no video call, no phone call nothing, it uses about 60% CPU!!!! This does not happen with the Windows version.
Apart from that the UI is now hideously ugly, and over-sized. It's the God complex everyone in the software industry develops after a while. They start thinking they are indispensable and so important they have to take away all desktop real estate and be in user's face all the time, run as a system service etc. When in fact you are just a dumb chat application, so get the fuck out of the way in the minimal interface, like Google talk does.
For the kinds of things Java is used for memory bloat is not important (just install 64 GB on your server, it's only $2000 anyway). The biggest problem with Java is GC pause times. Your server will stop the world for 30 seconds to 2 min. while it collects the garbage. And that's usually not acceptable and a real problem that everyone runs into sooner or later that has no good solution.
No that's not what they are saying at all. Why don't you just read the paper it's not that long you know.
In fact, opposite is claimed. It took an expert to optimize C++ further to make it faster than Java, which got as fast as C++ as soon as someone used a more appropriate collections data type for the problem at hand.
Market pressure to deliver faster happened. Programming escaped from the confines of University labs and got generally useful to people. So they started having desires for functionality and features. Now languages that allow faster time to market dominate in web space. Talking about speed here is all about how fast can I push this change live. And here C++ is insanely slow language. Java is really slow, slow enough that some companies are abandoning it for much much faster Ruby. As you all figured out the "speed" here is the speed of innovation on your product. Pushing out new feature goes from one week in Java to about a day in Ruby and runtime performance is rarely an issue.
That's because Java floats are not the same as C floats so compiler can't use the CPU's FPU to do the work for it directly. Java float types make more wider guarantees than C floats (that are usually just restricted to underlying hardware float). This is exactly the reason why Fortran beats C or C++ when it comes to numerical computation. The Fortran compiler can output faster code because language makes some guarantees and it's easier/possible to optimize it better.
This is a useful way to think of computing if you are a computer scientist or a mathematician. Most people however would be completely baffled if you asked them to give you a (informal) definition of computation. Most people would rarely mention something like finite state machines where computation is essentially "changing a state if you encounter a symbol", or even computation as symbol manipulation. Most have a rather narrow definition of computation as arithmetic, and would not recognize physical processes as computation.
So expecting people to understand programming as collapsing the uncertainty of natural language to precise formal language description that is realized as symbol manipulator (i.e. a computer executing a program) is a bit too much.
And this is probably not a useful way to think or to release the creative juices, since even most programmers don't view programming as such. Perhaps to some programmers, the process of programming is all about encoding/describing your problem solution discovery (i.e. knowledge) in a formal language, but there are others who don't think that way at all, and who concentrate more on different aspects of programming, esp. user experience, and human-machine interaction issues.
Why not? node.js does exactly that and funny enough it has set some speed records (number of requests served per second). Javascript has one of the most optimized runtimes out there, with so much money poured into research and optimization. It has gotten fast enough, so that the server is not CPU bound (as usual), it's mostly I/O bound, or waiting for that database. So it really doesn't matter what you write that connection and query in (lisp, Python, Ruby, Cobol, Java, C# or Javascript), once its passed to the database, that's where its going to spend most of its time, in most cases.
The point of boot to browser mode is to have simple guest access to computer. Someone wants to check their mail, browse the web etc. you can now do that without allowing local access to guest account, or allowing someone else to use your account/browser with all your saved passwords and porn browsing preferences.
Guest account gets access to a lot more than browser, and this nicely restricts them to only one application (and most useful one at that). Also, none of the browsing history is saved, so nothing survives to the next person getting into the browser mode.
It's good to hear there are sane countries out there. Peddling Windows in this day and age is just retarded. If your CS department is any good you will be downloading Linux kernel source code, studying it, modifying and compiling it etc. You should come out with good knowledge of UNIX foundations etc. If not, then I'd suggest dropping that school and moving somewhere where they actually teach you something useful.
Boy, Windows developers are getting really so frustrated. Poor guys. It must feel horrible realizing after 10 years of rape by Microsoft that you have wasted a good portion of your life on useless endeavor and it's now time to wake up and learn something useful, like some UNIX skills.
Take a spot at the back of the queue Microsoft re-boot monkey. Your programming skills are worth shit in this new world.
Thanks for that eloquent and elucidating comment. I feel enlightened now. Seriously, go back under the rock you crawled under and continue debugging that Win32 app, since your sure don't sound like you know anything else.
This is just same old Microsoft. Happens to every Microsoft technology where instead of fixing issues, making standards compliant compilers etc, they just abandon the platform and start pushing for adoption of the new "best thing since sliced bread"...
The sooner you realize the Microsoft technology stack you program in has nothing to do with making your life/career easier and your skills transferable but has everything to do with Microsoft fighting for turf against open standards competition on the other side (at times this includes everyone else), the better for you.
And if in your awakening to this reality you also realize that UNIX has pretty much won on mobile side and that there is enough work on UNIX server side as well all the better for you.
According to the demo yesterday Mac OS X has 54 million installations out there, a huge growth from just 3 years ago (almost doubled) and over 200 million iOS devices out there. This is hardly insignificant loss for Apple, If they suddenly lost 50 million pissed off users that turned from platform advocates to haters.
It is still amusing to watch idiots proclaim "menacing" malware something first of all that requires you to download it and install it on your computer and second even when you do it does nothing menacing to your system:D.
OS X still has 0 viruses, which what I care about. If someone wrote a virus for OS X, something that installs without my intervention and approval, then I would be alarmed. Otherwise, I don't care about the social engineering attacks. Idiots will always fall prey to those.
So yes, I still feel infinitely safer using anything but Windows as far as viruses are concerned.
No software can protect the user from themselves. If someone is determined to download something and install it, how do you prevent that short of locking the system like iOS? I really don't want to see that happening to OS X.
Cloud is not the Web first of all. No one is saying you will be putting your data on some website where anyone can potentially access it, nor is anyone saying your data will not be transferred through secure communication channel (most enterprises I know of have VPN access where employees remotely access data through secure channels, so in effect the company headquarters are acting as "the cloud"), nor is anyone saying your data will be stored unencrypted on the cloud.
But if you are a small company, let's say you are a carpenter making furniture, does it make sense for you to have your own mail server, network, customer database etc? Why would you buy machines, software and pay someone to maintain it all, when you can have economies of scale working for you by outsourcing all that to the cloud provider for the fraction of the cost?
I'll give you that OS X users are a polarized bunch, either completely technically clueless or alpha geeks and very little in between.
On the other hand it's not really that hard to monitor your system from either the system itself or from outside. If nothing else OS X comes with GUI tools to record and inspect packets, DTrace probes, and of course the standard UNIX command line utils. And if that's not enough you can always record stuff at your router level. But I think we are getting seriously off topic here.
My answer to the OP is still the same. You are much less likely to get infected without falling pray to social engineering using some kind of UNIX (it doesn't have to be obscure either, even the most popular desktop UNIX like OS X) than Windows.
By the way it's easy to write bad C code, and the code solutions on that site are not innocuous looking to me. You don't really need to go into that much detail. If you download say a utility to sample colors on your screen and that utility ends up doing heavy access to your file system, then something is not right. That's all you need to know initially to get suspicious. Same if it started accessing some.ru web site and uploading packets there....
The point is that people who opt to use some kind of UNIX as their primary machine are usually not technically clueless. The second point is that most UNIX distros (including OS X) come with hundreds of tools to monitor the system, inspect binaries etc. Also, good chunk of software is downloaded as source and compiled and the localhost. This also gives you a chance to look at code directly.
To this date there have not been any viruses (i.e. self propagating code that infects machines without user intervention) for Mac OS X and I'm pretty sure Linux as well.
The malware that relies on social engineering techniques (like the one mentioned in this discussion) is very hard to protect against. Basically, user with some kind of system privileges to install software is lured to download the software, attempt to install it, provide their password when asked by the OS/installer. If you have a user willing to do all that, all bets are off.
But if you have a literate UNIX user, then tricking them is usually harder (most won't install anything for the first time from untrusted source on anything but virtual machine, test the software, inspect its behavior, what it does, what files it modifies, does it connect online, where does it connect etc. and if all goes well, add it to the trusted list, then install on production machine). Most ordinary users are not knowledgeable enough to do this though.
The difference is that every UNIX comes with tools that allow you to do all this out of the box.
I think you have bought into too many rumors, half stories and speculations. Post PC era is already here and everyone but Microsoft sees it. It's all about using smart devices to "touch" the cloud. I think you should watch Kevin Kelly's talk from 4 years ago http://www.ted.com/talks/kevin_kelly_on_the_next_5_000_days_of_the_web.html. It's really insightful and he describes this post PC (PC = central small scale non-connected computing) really well which is all about increasing connections, and intelligence of things around us. But someone still has to program all those devices. In fact programming is going to be more popular than ever before (either you program or you will be programmed).
would add something as version control and build infrastructure as an after thought. Give yourself and everyone else a favour and upgrade to something designed for the kinds of problems you are trying to solve like Linux.
That's a rather silly statement. You can't be sure of anything really, but there are degrees of sureness. I'm more sure rapture won't happen not just on May 21 this year, or ever than I am sure that Earth will continue on its predicted path around the Sun.
Actually, he did say a lot more than that. He said there is no way to find out what goes on behind the scenes (which to him literally means progress bar while the OS is loading telling him what is being loaded, a KEY info that you just can't use computer without). But if you really care you can find that out too.
He is obviously just so ignorant that he doesn't even know how to find the info out. And honestly people like that should not be allowed near a general purpose computing device and should only ever use an unlocked stripped down appliance.
That's just your ignorance, and aparently inability to search as well, since the tools to do exactly that ship with OS X, and pretty much every UNIX distro on the planet.
I would have no issue updating to the current version if it were implemented right. I tried it as soon as it was released and guess what. Just opening the main application window with absolutely no activity going on, no chat in progress, no video call, no phone call nothing, it uses about 60% CPU!!!! This does not happen with the Windows version.
Apart from that the UI is now hideously ugly, and over-sized. It's the God complex everyone in the software industry develops after a while. They start thinking they are indispensable and so important they have to take away all desktop real estate and be in user's face all the time, run as a system service etc. When in fact you are just a dumb chat application, so get the fuck out of the way in the minimal interface, like Google talk does.
For the kinds of things Java is used for memory bloat is not important (just install 64 GB on your server, it's only $2000 anyway). The biggest problem with Java is GC pause times. Your server will stop the world for 30 seconds to 2 min. while it collects the garbage. And that's usually not acceptable and a real problem that everyone runs into sooner or later that has no good solution.
No that's not what they are saying at all. Why don't you just read the paper it's not that long you know.
In fact, opposite is claimed. It took an expert to optimize C++ further to make it faster than Java, which got as fast as C++ as soon as someone used a more appropriate collections data type for the problem at hand.
Market pressure to deliver faster happened. Programming escaped from the confines of University labs and got generally useful to people. So they started having desires for functionality and features. Now languages that allow faster time to market dominate in web space. Talking about speed here is all about how fast can I push this change live. And here C++ is insanely slow language. Java is really slow, slow enough that some companies are abandoning it for much much faster Ruby. As you all figured out the "speed" here is the speed of innovation on your product. Pushing out new feature goes from one week in Java to about a day in Ruby and runtime performance is rarely an issue.
That's because Java floats are not the same as C floats so compiler can't use the CPU's FPU to do the work for it directly. Java float types make more wider guarantees than C floats (that are usually just restricted to underlying hardware float). This is exactly the reason why Fortran beats C or C++ when it comes to numerical computation. The Fortran compiler can output faster code because language makes some guarantees and it's easier/possible to optimize it better.
This is a useful way to think of computing if you are a computer scientist or a mathematician. Most people however would be completely baffled if you asked them to give you a (informal) definition of computation. Most people would rarely mention something like finite state machines where computation is essentially "changing a state if you encounter a symbol", or even computation as symbol manipulation. Most have a rather narrow definition of computation as arithmetic, and would not recognize physical processes as computation.
So expecting people to understand programming as collapsing the uncertainty of natural language to precise formal language description that is realized as symbol manipulator (i.e. a computer executing a program) is a bit too much.
And this is probably not a useful way to think or to release the creative juices, since even most programmers don't view programming as such. Perhaps to some programmers, the process of programming is all about encoding/describing your problem solution discovery (i.e. knowledge) in a formal language, but there are others who don't think that way at all, and who concentrate more on different aspects of programming, esp. user experience, and human-machine interaction issues.
Why not? node.js does exactly that and funny enough it has set some speed records (number of requests served per second). Javascript has one of the most optimized runtimes out there, with so much money poured into research and optimization. It has gotten fast enough, so that the server is not CPU bound (as usual), it's mostly I/O bound, or waiting for that database. So it really doesn't matter what you write that connection and query in (lisp, Python, Ruby, Cobol, Java, C# or Javascript), once its passed to the database, that's where its going to spend most of its time, in most cases.
The point of boot to browser mode is to have simple guest access to computer. Someone wants to check their mail, browse the web etc. you can now do that without allowing local access to guest account, or allowing someone else to use your account/browser with all your saved passwords and porn browsing preferences.
Guest account gets access to a lot more than browser, and this nicely restricts them to only one application (and most useful one at that). Also, none of the browsing history is saved, so nothing survives to the next person getting into the browser mode.
It's good to hear there are sane countries out there. Peddling Windows in this day and age is just retarded. If your CS department is any good you will be downloading Linux kernel source code, studying it, modifying and compiling it etc. You should come out with good knowledge of UNIX foundations etc. If not, then I'd suggest dropping that school and moving somewhere where they actually teach you something useful.
Boy, Windows developers are getting really so frustrated. Poor guys. It must feel horrible realizing after 10 years of rape by Microsoft that you have wasted a good portion of your life on useless endeavor and it's now time to wake up and learn something useful, like some UNIX skills.
Take a spot at the back of the queue Microsoft re-boot monkey. Your programming skills are worth shit in this new world.
Thanks for that eloquent and elucidating comment. I feel enlightened now. Seriously, go back under the rock you crawled under and continue debugging that Win32 app, since your sure don't sound like you know anything else.
This is just same old Microsoft. Happens to every Microsoft technology where instead of fixing issues, making standards compliant compilers etc, they just abandon the platform and start pushing for adoption of the new "best thing since sliced bread"...
The sooner you realize the Microsoft technology stack you program in has nothing to do with making your life/career easier and your skills transferable but has everything to do with Microsoft fighting for turf against open standards competition on the other side (at times this includes everyone else), the better for you.
And if in your awakening to this reality you also realize that UNIX has pretty much won on mobile side and that there is enough work on UNIX server side as well all the better for you.
According to the demo yesterday Mac OS X has 54 million installations out there, a huge growth from just 3 years ago (almost doubled) and over 200 million iOS devices out there. This is hardly insignificant loss for Apple, If they suddenly lost 50 million pissed off users that turned from platform advocates to haters.
It is still amusing to watch idiots proclaim "menacing" malware something first of all that requires you to download it and install it on your computer and second even when you do it does nothing menacing to your system :D.
OS X still has 0 viruses, which what I care about. If someone wrote a virus for OS X, something that installs without my intervention and approval, then I would be alarmed. Otherwise, I don't care about the social engineering attacks. Idiots will always fall prey to those.
So yes, I still feel infinitely safer using anything but Windows as far as viruses are concerned.
To be sure this is not a virus. It requires full user cooperation to get installed on the machine, user has to explicitly download it and run it.
No software can protect the user from themselves. If someone is determined to download something and install it, how do you prevent that short of locking the system like iOS? I really don't want to see that happening to OS X.
Cloud is not the Web first of all. No one is saying you will be putting your data on some website where anyone can potentially access it, nor is anyone saying your data will not be transferred through secure communication channel (most enterprises I know of have VPN access where employees remotely access data through secure channels, so in effect the company headquarters are acting as "the cloud"), nor is anyone saying your data will be stored unencrypted on the cloud.
But if you are a small company, let's say you are a carpenter making furniture, does it make sense for you to have your own mail server, network, customer database etc? Why would you buy machines, software and pay someone to maintain it all, when you can have economies of scale working for you by outsourcing all that to the cloud provider for the fraction of the cost?
I'll give you that OS X users are a polarized bunch, either completely technically clueless or alpha geeks and very little in between.
.ru web site and uploading packets there....
On the other hand it's not really that hard to monitor your system from either the system itself or from outside. If nothing else OS X comes with GUI tools to record and inspect packets, DTrace probes, and of course the standard UNIX command line utils. And if that's not enough you can always record stuff at your router level. But I think we are getting seriously off topic here.
My answer to the OP is still the same. You are much less likely to get infected without falling pray to social engineering using some kind of UNIX (it doesn't have to be obscure either, even the most popular desktop UNIX like OS X) than Windows.
By the way it's easy to write bad C code, and the code solutions on that site are not innocuous looking to me. You don't really need to go into that much detail. If you download say a utility to sample colors on your screen and that utility ends up doing heavy access to your file system, then something is not right. That's all you need to know initially to get suspicious. Same if it started accessing some
The point is that people who opt to use some kind of UNIX as their primary machine are usually not technically clueless. The second point is that most UNIX distros (including OS X) come with hundreds of tools to monitor the system, inspect binaries etc. Also, good chunk of software is downloaded as source and compiled and the localhost. This also gives you a chance to look at code directly.
To this date there have not been any viruses (i.e. self propagating code that infects machines without user intervention) for Mac OS X and I'm pretty sure Linux as well.
The malware that relies on social engineering techniques (like the one mentioned in this discussion) is very hard to protect against. Basically, user with some kind of system privileges to install software is lured to download the software, attempt to install it, provide their password when asked by the OS/installer. If you have a user willing to do all that, all bets are off.
But if you have a literate UNIX user, then tricking them is usually harder (most won't install anything for the first time from untrusted source on anything but virtual machine, test the software, inspect its behavior, what it does, what files it modifies, does it connect online, where does it connect etc. and if all goes well, add it to the trusted list, then install on production machine). Most ordinary users are not knowledgeable enough to do this though.
The difference is that every UNIX comes with tools that allow you to do all this out of the box.
I think you have bought into too many rumors, half stories and speculations. Post PC era is already here and everyone but Microsoft sees it. It's all about using smart devices to "touch" the cloud. I think you should watch Kevin Kelly's talk from 4 years ago http://www.ted.com/talks/kevin_kelly_on_the_next_5_000_days_of_the_web.html. It's really insightful and he describes this post PC (PC = central small scale non-connected computing) really well which is all about increasing connections, and intelligence of things around us. But someone still has to program all those devices. In fact programming is going to be more popular than ever before (either you program or you will be programmed).
would add something as version control and build infrastructure as an after thought. Give yourself and everyone else a favour and upgrade to something designed for the kinds of problems you are trying to solve like Linux.
That's a rather silly statement. You can't be sure of anything really, but there are degrees of sureness. I'm more sure rapture won't happen not just on May 21 this year, or ever than I am sure that Earth will continue on its predicted path around the Sun.
Actually, he did say a lot more than that. He said there is no way to find out what goes on behind the scenes (which to him literally means progress bar while the OS is loading telling him what is being loaded, a KEY info that you just can't use computer without). But if you really care you can find that out too.
He is obviously just so ignorant that he doesn't even know how to find the info out. And honestly people like that should not be allowed near a general purpose computing device and should only ever use an unlocked stripped down appliance.
That's just your ignorance, and aparently inability to search as well, since the tools to do exactly that ship with OS X, and pretty much every UNIX distro on the planet.