There have been virtualization tools in the form of emulators for quite some time... For instance on the Amiga is was possible to run a virtual mac as the main cpu was compatible. You could easily run multiple instances of macos.
Similarly, there was "mac on linux" which allowed powerpc macs running linux to run one or more instances of macos on top of linux.
The idea of virtualizing servers is also not new, there were plenty of hosting environments based on a form of chroot(), usually to keep customers separate from each other.
Unfortunately it doesn't matter if they have the best product or not, they are competing with "free" and "bundled with windows"... There is a long history of inferior products taking over a market because they were cheaper or heavily pushed.
And when it comes to large scale cloud deployments, where you have huge numbers of servers and are looking to shave anything off the server cost in order to be competitive, the price of vmware adds significantly to the cost of each node.
But *why*? Why should VMs be processes, whats wrong with processes?
Instead of putting xen on your hardware and running each instance inside of xen, why not simply put linux (or any other os) on the hardware and run each instance as a process on linux?
Why not simply have a single instance of linux, and then multiple instances of erlang running under that linux kernel? What benefit does adding xen into the mix bring?
It seems that doing it the traditional way would be both faster and more efficient in terms of resource usage, as well as easier since it would work better with existing applications and languages.
So loading up just the code required for the application, rather than loading an entire general purpose kernel and userland on top of it... Sounds like just running your app on a multiuser server in the traditional way, only with some level of sandboxing...
So instead of xen, just use a standard multiuser os, the user logs in, perhaps over ssh, and runs their app, and logs out when done. As an added advantage, existing os already have the facilities to account for resources used on a per user basis.
Why not? The hardware on which to play the game costs roughly the same in all of those locations because the price of hardware is based on a realistic calculation of production/distribution cost plus a small profit. There is no such thing as piracy of hardware, the closest you get is cheap clones which are usually not identical to or better than the original. If users cannot afford the hardware, then the price of media becomes irrelevant.
And let's not forget that media is never sold at a loss. The per unit production cost is trivial, and the initial production cost is a one off that will be covered by the first X amount of sales. Once those sales are made, any subsequent sales no matter the price is almost 100% profit.
The price of the hardware goes down over time, once the initial design costs are paid off only the per-unit costs remain and even those costs usually decrease as the technology becomes more stable.
Consoles have high piracy rates too, on the xbox 360 for instance there are several methods of modding which permit piracy but not homebrew such as flashing the drive or installing a drive emulator and both of these methods are extremely popular.
PC game sales are lower because the platform is simply less convenient... Dealing with the hassle of the platform (eg drivers, updates, malware, etc) not to mention the cost of keeping the hardware up to date so that it can actually run modern games vs simply buying a fixed configuration console. You have a niche product for a few hardcore gamers. Consoles are mass market and cater to casual gamers, of which there are orders of magnitude more.
Even piracy is easier on the consoles, it might require a hardware mod in some cases but its generally modded once and subsequent games are trivial to run vs installing individual cracks for each game.
Well when they dropped windows mobile they said that windows phone 7 would be the new thing going forward... Before too long they dropped it, and came out with yet another new incompatible replacement.
Many of those certifications were pushed through by proprietary vendors looking to create themselves a cartel. Also most of the certifications are pretty worthless to anyone who understands what they mean. When a product gets certified it's done in a specific configuration, and any change to configuration means that it's not certified anymore. Usually the certified configuration is not terribly useful, and actual use cases never match the certified config.
Also the certification processes themselves are expensive to keep small vendors and open source out, while being very shallow (eg they don't inspect any sourcecode) to make it easier for larger vendors to get their crufty junk through.
Simple designs that work don't generate billable hours. Complex monsters that require hours of argument over the finer points of what they actually mean, do.
So don't hire by the hour, hire an organisation to design something for a fixed set of requirements for a fixed price. If they make it overly complex and waste their time then that's their problem. If they make it simply and save time then they make more from the deal, obviously the requirements need to be strict enough to prevent them producing something lacklustre.
Sweaters are just clothes, but maybe you would still not buy them from the really cheap manufacturer that employs children.
Or you'd buy them from a really expensive manufacturer who still employs children but works very hard to disguise the fact. Their production costs are likely the same or lower than the cheap manufacturer, they just make considerably more profit per sale.
So which is worse?
Software is just a tool, but maybe you should pick those that won't lock you (and everyone that relies on you) in inside someone's private ecosystem for a long time.
And you'd have thought this would be the most basic thing, one of the first rules of running is a business is not to get yourself in a position where the actions of any single supplier can exert any form of control over you. You should always have a second source, a backup plan.
Active directory is an absolute nightmare from a security perspective... Most of the supposed security related policies just amount to arbitrary restrictions on workstations which are implemented client side anyway (and thus trivial to bypass), and then you have design flaws like hash passing and storing the plaintext password in memory (google for mimikatz) which combined with typical setup practices make it laughably easy to compromise the average active directory setup from only a single insecure host. If you want to prevent that happening you have to go to extreme lengths, manually updating and hardening every single member system and ensuring there are no shared local passwords among other things.
By contrast on a unix environment you wouldn't bother with such trivialities as "command prompt restriction" and "folder view restrictions" because they provide no benefit anyway. You ensure that your network is a sensible hierarchy, such that compromise of one unimportant host cannot lead to compromise of others. You use ssh keys so that compromise of a system someone is logging in to doesn't compromise their credentials, and you use file system permissions and mount options implemented at the kernel level to prevent users running any programs you didn't provide them (either intentionally or otherwise).
And finally with unix you have a system that was actually designed to be multiuser, unlike windows where most of the gui layer and applications came from the 9x series which had no concept of security whatsoever, which is why you have such delightful "features" as the ability of msoffice to embed and execute arbitrary binaries in documents (with the added benefit that such files pass through most http/mail filters)
So a program written in C which uses functions present in libc is actually a script? You're generally not creating anything from the ground up these days, you are using functions provided to you by the OS and its core libraries...
But anyway, his point was that the average linux admin has some programming skill while the average windows admin does not, so the linux admin will generally automate common functions to make his life easier and more productive.
You have to plan your migration to take place over time.. You don't throw everything out over night, you just ensure that any new deployments are platform agnostic (and most apps get refreshed periodically anyway). That usually means apps being web based and standards compliant whenever possible, authentication systems being based on standards etc. After a while you no longer need the old proprietary junk and can easily get rid of it.
And this is already happening, applications are moving towards being browser based and the vast majority these days work in most browsers.
People who are competent at their job cost three times as much as people with very little skill or experience...
Many people *claim* to have windows knowledge, but in reality they are terrible and often their "experience" is limited to using msoffice in school and reinstalling windows for friends who got malware infections.
Much fewer people claim to have unix knowledge, largely because the class of people mentioned above aren't even aware that it exists. So most people claiming to have unix knowledge do actually have a decent level of skill.
Now here's the thing... Modern systems, and this includes most linux distros, are superficially simple enough that someone of low competence can generally muddle through. However do you really want someone who's just muddling through running your business? The results will be extremely sub optimal, stability and security will both be poor, they will do less in more time and thus require more staff, they will require more hardware because they haven't configured it so well, they will be unable to troubleshoot properly and will resort to time consuming reinstalls or costly replacements. The costs of the individual staff members might be low, but you need more of them, and more hardware.
Unfortunately, a lot of places do just that, so they have a crudely hacked together windows network that cost a fortune to build and is a constant source of problems, being managed by a large number of barely competent people who are always complaining they are understaffed and under budget.
For the same cost, you could hire a smaller number of highly competent staff, who would get much better results with cheaper software running on much less hardware.
And here you have another problem... The people hiring generally don't know anything about the subject, so they are unable to recognise someone highly competent.
The term "coasting" refers to running along in a neutral gear or with the clutch depressed (hence why its far more common with manual transmission), such that the wheels are no longer turning the engine... It's very uncommon with automatic transmissions because travelling at speed in neutral can be quite bad for the transmission, and some won't let you engage neutral (or reverse) at speed.
No better because the dots in a dot matrix are generally in a vertical line, so it makes no difference wether to fire all the pins at once for a 1 or just one of them to print a .
No, such a device would be terrible for your 7 year old, as would any modern mac, windows box or most user oriented linux distros. A young child needs to be exposed to a device they can learn about in detail, but also on thats safe and cannot be broken.
A Chromebook is perfect for adults who have no interest in learning about computers, and who only want to use them for basic tasks (such as those i listed), who don't want to learn how the system works and don't want to worry about installing updates, fixing broken software or worrying about malware. That would be the vast majority of adults.
Just like you have a permanent underclass of people who don't know how to service cars, or build houses, or etc etc. Back in the days this "underclass" as you call it simply didn't use computers at all.
Kids can be exposed to proper computers in school, and decide for themselves if they want to learn anything about them or not. There will always be a few geeks who actually are interested.
Not exactly, i made two complaints... 1, i detest obnoxious ads containing sound which detract from the site your trying to visit (the one that first made me search for ad blockers was that annoying mosquito ad that came up in a backgrounded tab making its awful buzzing noise which made me think my speakers were broken) 2, they dont need to track me to see the ip address im connecting from, when i go to watch some videos online i get a very nasty and discriminatory "your country is unworthy of viewing this content" message, but they will happily subject me to the ad and mock me with content they feel i'm unworthy to view.
There have been virtualization tools in the form of emulators for quite some time... For instance on the Amiga is was possible to run a virtual mac as the main cpu was compatible. You could easily run multiple instances of macos.
Similarly, there was "mac on linux" which allowed powerpc macs running linux to run one or more instances of macos on top of linux.
The idea of virtualizing servers is also not new, there were plenty of hosting environments based on a form of chroot(), usually to keep customers separate from each other.
Unfortunately it doesn't matter if they have the best product or not, they are competing with "free" and "bundled with windows"... There is a long history of inferior products taking over a market because they were cheaper or heavily pushed.
And when it comes to large scale cloud deployments, where you have huge numbers of servers and are looking to shave anything off the server cost in order to be competitive, the price of vmware adds significantly to the cost of each node.
IE has always identified itself as Mozilla, i believe the current versions still identify themselves as mozilla/4.0 (ie netscape 4).
But *why*?
Why should VMs be processes, whats wrong with processes?
Instead of putting xen on your hardware and running each instance inside of xen, why not simply put linux (or any other os) on the hardware and run each instance as a process on linux?
Why not simply have a single instance of linux, and then multiple instances of erlang running under that linux kernel? What benefit does adding xen into the mix bring?
It seems that doing it the traditional way would be both faster and more efficient in terms of resource usage, as well as easier since it would work better with existing applications and languages.
So loading up just the code required for the application, rather than loading an entire general purpose kernel and userland on top of it...
Sounds like just running your app on a multiuser server in the traditional way, only with some level of sandboxing...
So instead of xen, just use a standard multiuser os, the user logs in, perhaps over ssh, and runs their app, and logs out when done.
As an added advantage, existing os already have the facilities to account for resources used on a per user basis.
It's actually mostly down to the driver. a really bad driver will get better economy with an automatic.
Why not? The hardware on which to play the game costs roughly the same in all of those locations because the price of hardware is based on a realistic calculation of production/distribution cost plus a small profit.
There is no such thing as piracy of hardware, the closest you get is cheap clones which are usually not identical to or better than the original.
If users cannot afford the hardware, then the price of media becomes irrelevant.
And let's not forget that media is never sold at a loss. The per unit production cost is trivial, and the initial production cost is a one off that will be covered by the first X amount of sales. Once those sales are made, any subsequent sales no matter the price is almost 100% profit.
The price of the hardware goes down over time, once the initial design costs are paid off only the per-unit costs remain and even those costs usually decrease as the technology becomes more stable.
Consoles have high piracy rates too, on the xbox 360 for instance there are several methods of modding which permit piracy but not homebrew such as flashing the drive or installing a drive emulator and both of these methods are extremely popular.
PC game sales are lower because the platform is simply less convenient... Dealing with the hassle of the platform (eg drivers, updates, malware, etc) not to mention the cost of keeping the hardware up to date so that it can actually run modern games vs simply buying a fixed configuration console. You have a niche product for a few hardcore gamers. Consoles are mass market and cater to casual gamers, of which there are orders of magnitude more.
Even piracy is easier on the consoles, it might require a hardware mod in some cases but its generally modded once and subsequent games are trivial to run vs installing individual cracks for each game.
You can only abuse your customer base if the customers are locked in... Phone customers are not locked in.
Well when they dropped windows mobile they said that windows phone 7 would be the new thing going forward...
Before too long they dropped it, and came out with yet another new incompatible replacement.
Who's to say they won't do the same again?
Many of those certifications were pushed through by proprietary vendors looking to create themselves a cartel. Also most of the certifications are pretty worthless to anyone who understands what they mean. When a product gets certified it's done in a specific configuration, and any change to configuration means that it's not certified anymore. Usually the certified configuration is not terribly useful, and actual use cases never match the certified config.
Also the certification processes themselves are expensive to keep small vendors and open source out, while being very shallow (eg they don't inspect any sourcecode) to make it easier for larger vendors to get their crufty junk through.
Simple designs that work don't generate billable hours. Complex monsters that require hours of argument over the finer points of what they actually mean, do.
So don't hire by the hour, hire an organisation to design something for a fixed set of requirements for a fixed price. If they make it overly complex and waste their time then that's their problem. If they make it simply and save time then they make more from the deal, obviously the requirements need to be strict enough to prevent them producing something lacklustre.
Sweaters are just clothes, but maybe you would still not buy them from the really cheap manufacturer that employs children.
Or you'd buy them from a really expensive manufacturer who still employs children but works very hard to disguise the fact. Their production costs are likely the same or lower than the cheap manufacturer, they just make considerably more profit per sale.
So which is worse?
Software is just a tool, but maybe you should pick those that won't lock you (and everyone that relies on you) in inside someone's private ecosystem for a long time.
And you'd have thought this would be the most basic thing, one of the first rules of running is a business is not to get yourself in a position where the actions of any single supplier can exert any form of control over you. You should always have a second source, a backup plan.
Active directory is an absolute nightmare from a security perspective... Most of the supposed security related policies just amount to arbitrary restrictions on workstations which are implemented client side anyway (and thus trivial to bypass), and then you have design flaws like hash passing and storing the plaintext password in memory (google for mimikatz) which combined with typical setup practices make it laughably easy to compromise the average active directory setup from only a single insecure host.
If you want to prevent that happening you have to go to extreme lengths, manually updating and hardening every single member system and ensuring there are no shared local passwords among other things.
By contrast on a unix environment you wouldn't bother with such trivialities as "command prompt restriction" and "folder view restrictions" because they provide no benefit anyway. You ensure that your network is a sensible hierarchy, such that compromise of one unimportant host cannot lead to compromise of others. You use ssh keys so that compromise of a system someone is logging in to doesn't compromise their credentials, and you use file system permissions and mount options implemented at the kernel level to prevent users running any programs you didn't provide them (either intentionally or otherwise).
And finally with unix you have a system that was actually designed to be multiuser, unlike windows where most of the gui layer and applications came from the 9x series which had no concept of security whatsoever, which is why you have such delightful "features" as the ability of msoffice to embed and execute arbitrary binaries in documents (with the added benefit that such files pass through most http/mail filters)
So a program written in C which uses functions present in libc is actually a script?
You're generally not creating anything from the ground up these days, you are using functions provided to you by the OS and its core libraries...
But anyway, his point was that the average linux admin has some programming skill while the average windows admin does not, so the linux admin will generally automate common functions to make his life easier and more productive.
You have to plan your migration to take place over time.. You don't throw everything out over night, you just ensure that any new deployments are platform agnostic (and most apps get refreshed periodically anyway). That usually means apps being web based and standards compliant whenever possible, authentication systems being based on standards etc. After a while you no longer need the old proprietary junk and can easily get rid of it.
And this is already happening, applications are moving towards being browser based and the vast majority these days work in most browsers.
People who are competent at their job cost three times as much as people with very little skill or experience...
Many people *claim* to have windows knowledge, but in reality they are terrible and often their "experience" is limited to using msoffice in school and reinstalling windows for friends who got malware infections.
Much fewer people claim to have unix knowledge, largely because the class of people mentioned above aren't even aware that it exists. So most people claiming to have unix knowledge do actually have a decent level of skill.
Now here's the thing... Modern systems, and this includes most linux distros, are superficially simple enough that someone of low competence can generally muddle through. However do you really want someone who's just muddling through running your business? The results will be extremely sub optimal, stability and security will both be poor, they will do less in more time and thus require more staff, they will require more hardware because they haven't configured it so well, they will be unable to troubleshoot properly and will resort to time consuming reinstalls or costly replacements. The costs of the individual staff members might be low, but you need more of them, and more hardware.
Unfortunately, a lot of places do just that, so they have a crudely hacked together windows network that cost a fortune to build and is a constant source of problems, being managed by a large number of barely competent people who are always complaining they are understaffed and under budget.
For the same cost, you could hire a smaller number of highly competent staff, who would get much better results with cheaper software running on much less hardware.
And here you have another problem... The people hiring generally don't know anything about the subject, so they are unable to recognise someone highly competent.
RC4 also has known weaknesses, there was a story just this week:
http://yro.slashdot.org/story/13/03/14/1839239/cryptographers-break-commonly-used-rc4-cipher
The term "coasting" refers to running along in a neutral gear or with the clutch depressed (hence why its far more common with manual transmission), such that the wheels are no longer turning the engine...
It's very uncommon with automatic transmissions because travelling at speed in neutral can be quite bad for the transmission, and some won't let you engage neutral (or reverse) at speed.
No better because the dots in a dot matrix are generally in a vertical line, so it makes no difference wether to fire all the pins at once for a 1 or just one of them to print a .
It may even be detrimental, since you are carrying the additional weight of the electric motor and larger than normal battery.
No, such a device would be terrible for your 7 year old, as would any modern mac, windows box or most user oriented linux distros. A young child needs to be exposed to a device they can learn about in detail, but also on thats safe and cannot be broken.
A Chromebook is perfect for adults who have no interest in learning about computers, and who only want to use them for basic tasks (such as those i listed), who don't want to learn how the system works and don't want to worry about installing updates, fixing broken software or worrying about malware. That would be the vast majority of adults.
Just like you have a permanent underclass of people who don't know how to service cars, or build houses, or etc etc.
Back in the days this "underclass" as you call it simply didn't use computers at all.
Kids can be exposed to proper computers in school, and decide for themselves if they want to learn anything about them or not. There will always be a few geeks who actually are interested.
Not exactly, i made two complaints...
1, i detest obnoxious ads containing sound which detract from the site your trying to visit (the one that first made me search for ad blockers was that annoying mosquito ad that came up in a backgrounded tab making its awful buzzing noise which made me think my speakers were broken)
2, they dont need to track me to see the ip address im connecting from, when i go to watch some videos online i get a very nasty and discriminatory "your country is unworthy of viewing this content" message, but they will happily subject me to the ad and mock me with content they feel i'm unworthy to view.