Energy savings are great but what you save in energy you may loose elsewhere. For example, lets say the average user spends 4 mins a day waiting for their computer to boot up or shut down.
I have a relatively low-end 3-year-old PC on my desk, with XP Pro and 2GB RAM. Resume from hibernate and reconnect to the wireless network takes less than 1 minute. Where does 4 minutes come from?
Also worth considering is that if IT departments aren't introducing it because they're scared of losing budget flexibility, then this is a failure of the top level budgetting process. If I, as megacorp's IT director, introduce measures that save £2 million per annum off megacorp's energy bill, I should expect a little more flexibility in a couple of months time when I go to the board asking for extra cash for hardware upgrades. It sounds like this isn't happening.
Example - a buyer once negged me because the postman ran over the package with his truck. How is this in any way my fault?
Legally it is. If you sell something to somebody with a contract to deliver it (as is the case usually in an ebay transaction), it is your responsibility until the moment it is delivered into their hands. You should probably have insured it, or claimed compensation from the post office for negligent handling, and then used the proceeds to provide the buyer with a replacement.
Mmmmmmm... quantum waffles. I'd probably have syrup on those.
Schrodingers waffles: they both have syrup and don't have syrup until you eat one. Entangled waffles: two waffles both have syrup and don't have syrup; when you eat one the other one either loses/gains syrupiness to become purely syrup/no syrup.
Seriously, how is one going to properly use 'whom' rather than 'who', but still end a sentence in a preposition?
Did a teacher tell you that prepositions are not for ending sentences with?
(Any rule of style can be violated if you understand the reason for it. The reason for this one is that there is usually a better way of phrasing the sentence that doesn't end the sentence with a preposition; there are exceptions.)
(Alternatively: "This is the kind of fucking pedantry up with which I shall not put." (Churchill, attrib.))
Just what I was coming here to say. A ponzi scheme is an investment scheme where old investors are paid from the money invested by new investors, but don't know where the money is coming from. What's described is a classic pyramid scheme, where the participants (who can't be considered investors because they don't expect to get money back from the same place they sent it in the first place) get money directly from later participants. The schemes are similar, but not the same.
Does your public library have a prominent gay porn section? Mine doesn't seem to, but maybe things are different where you are.
No, but then the article mentions several books that aren't gay porn. It seems Amazon *intended* to drop porn from certain listings, but somehow managed to drop all books with gay themes even if they don't contain explicit sex. That's a very disturbing development, as it suggests that somebody in Amazon's categorisation department thinks that anything about homosexuality is offensive.
No, what they're calling a glitch is the categorisation of the popular titles as adult. They still don't intend to go back and start keeping track of the sales rank of the real adult titles.
Yes, we are, but not because of book stores. We are because people watch TV more and more, and read books less and less.
Interestingly, while the proportion of people reading fiction books in America is declining, the total number is remaining roughly constant. This suggests that there is little danger of reaching a point where almost nobody reads books, ala 451.
That tells me this is a bunch of bullshit and no need to read any further.
It's called hyperbole. It's a fairly standard rhetorical technique and just because it states something that isn't literally true doesn't mean that the core of the content is in any fashion unworthy.
A long time ago, I used barnes and noble used book service, which was very good. They messed it up and I went to Amazon. Maybe it is time to go back. Or Alibris.
I've found ABE Books a good site for this kind of service. They don't try to impose a standardised delivery charge, which means you can actually get stuff cheaper than Amazon (where the delivery charge was set too high and many vendors ended up essentially giving the books away).
Depending on the application, PHP can handle several hundred transactions per second, on *one* machine. It is common knowledge that Java requires far more resources to achieve a typical transaction rate, than PHP.[citation needed]
This is just bullshit. A Java-based server will typically require a fairly constant 64MB more RAM than an equivalent PHP server, but other than this the Java system will outperform PHP in every sense. If the content generation is even remotely complex, Java can be up to 100 faster, which translates to 100 times higher transaction rate.
Sure, PHP can handle several hundred transactions per second, if your script is <?php echo "hello world"; ?>. This benchmark of a non-trivial e-commerce application shows that Java can easily handle 500 requests per second on a small 2000-era 4-cpu cluster. A modern quad-core server should be handling at least 20 times that rate, absent any improvements in Java architecture since then (and there have been many; this test was run on Java 1.1, which was hideously slow compared to modern Java versions), and ignoring the performance improvement from not having to load balance requests at the front end or access the database server across the network.
Compare all of the above with a site like plenty of fish, which while handling only about 1/40th the traffic is using less than 1/200th the number of servers to do so, because they've chosen a compiled architecture.
I've been trying to find stats for Amazon, which uses a primarily C++-based system, but haven't been able to dig up any info on how many servers they use, unfortunately.
Both Java and PHP are interpreted languages because this is how you create a cross-platform language.
Each gets compiled to bytecode which gets executed in a OS specific VM.
Java is JIT compiled to native code, whereas PHP is bytecode interpreted. The difference is more than an order of magnitude. In fact, judging by this comparison, in many cases Java is about 100 times faster than PHP.
Frankly, most websites do not need an app server. Wikipedia uses PHP, not Java. It is not a 'simple' website that you say PHP is suited for.
Wikipedia is presenting uncustomised content to most users. It runs a huge squid cache in front of its PHP servers. If it tried to run PHP for each user it would crawl. I run mediawiki locally on an AMD Athlon64 2200+. It takes ~0.2 seconds of 100% CPU time to process a simple request. There is simply no way Wikipedia could run without content cacheing.
This is not to say that the task of serving that content is cheap. But they're doing a lot better than facebook; they're serving 30,000 requests/sec with only 350 servers. The difference, I suspect, is mostly down to the amount of cacheing they prform.
Facebook is much less able to cache content. It doesn't have a squid front end because relatively few users see the same exact content, unlike for wikipedia; most users are logged in most of the time and see pages customised for themselves.
PHP, as a language, is more than capable of handing four requests per second (which can be said of pretty much anything other than punch cards).
Not, I think, if your application is running into the 1 million lines of code range, as suggested by the presentation. Remember that the PHP interpreter has to reparse each of those lines for each request.
There is much more to Facebook than its LAMP stack, so you shouldn't just blame LAMP stack. And even if the LAMP stack does not work perfectly, there are still insights that developers can glean from it.
I'd say you're right not to blame the LAMP stack. I blame PHP for most of the problems.
According to the presentation, facebook's traffic is around 20,000 page requests per second (!). They have somewhere in the region of 5,000 servers in their main datacenter and (I believe) others scattered around the world, but restricting it to just that main center, that means each server is handling around 4 requests per second. Probably three-four times that at peak times, I'd guess. If the system were written in a compiled language, that wouldn't be even slightly taxing. They could probably reduce their infrastructure to around half its current size. But large chunks of it are written in interpreted languages, with the worst offender being the huge volume of PHP that constitutes their front end. PHP is, as I've profiled it, horribly inefficient. If you've got low traffic, it's a great solution for creating a quick, simple web site, but it doesn't easily scale to the kind of traffic facebook manages. They're spending a fortune on hardware and datacenter running costs because they've chosen an inefficient architecture. They've had to invest significant time, if you listen to the presentation, modifying PHP to make it less inefficient to even get to where they are now.
These guys took the notion of the right language for the task to an extreme. I have to believe that code releases into production is a big challenge for these folks.
It explains a lot of the complaints you here about them regularly (I'm not a user, but almost everyone I know is...), specifically that they're not rolling out new features as often as they did when they were small, and that large parts of the site are often unavailable for lengthy periods.
About how much has Facebook saved by using Open Source Software? I ask because I am not familiar with licensing costs from competing solutions. Thanks!
I haven't watched the presentation so don't know if this is answered there, but it's hard to pin down any numbers on precisely how many servers facebook operates. That said, an estimate of their expected power usage in their recently acquired second datacenter is 6 megawatts, placed at twice the usage in their current datacenter. Realistically, this probably equates to a cluster of around 5,000 machines in the current datacenter.
Costs per machine are likely to be restricted to Windows Server Web Edition; other software would not be needed on all machines (depending on cluster architecture, of course) so would be a trivial cost in comparison. Retail for the web edition is $399; I think we could expect such a high profile user to qualify for a 50% discount. This would put their software costs at about $1M. Considering that they're believed to have spent over 100 times this on hardware and support costs over the last year, I doubt this would be a particular concern. Price of purchase is not a factor in why facebook does not run on proprietary software.
Sure, you couldn't run Linux on the MMk1, at least as it was left, but it was the first machine to have sufficient underlying hardware that it was intrinsically capable of every task an OS like Linux needs to perform.
Quibbling, here, but MMk1 lacked certain features that are essential for practically all modern OSs, including processor interrupts, memory paging and memory protection. You couldn't put a multitasking system on it. You might be able to get something akin to CP/M or DOS working, though.
You post indicates that you have never had a job.
Not in this kind of company, no. I'm IT director and 50%-owner of a small consultancy firm, FYI.
Energy savings are great but what you save in energy you may loose elsewhere. For example, lets say the average user spends 4 mins a day waiting for their computer to boot up or shut down.
I have a relatively low-end 3-year-old PC on my desk, with XP Pro and 2GB RAM. Resume from hibernate and reconnect to the wireless network takes less than 1 minute. Where does 4 minutes come from?
Good point.
Also worth considering is that if IT departments aren't introducing it because they're scared of losing budget flexibility, then this is a failure of the top level budgetting process. If I, as megacorp's IT director, introduce measures that save £2 million per annum off megacorp's energy bill, I should expect a little more flexibility in a couple of months time when I go to the board asking for extra cash for hardware upgrades. It sounds like this isn't happening.
That's why you so often see the obsessional behavior of a dumped guy. You rarely see that as much from the womans point of view.
You've clearly never met any of my housemate's ex-gfs.
Example - a buyer once negged me because the postman ran over the package with his truck. How is this in any way my fault?
Legally it is. If you sell something to somebody with a contract to deliver it (as is the case usually in an ebay transaction), it is your responsibility until the moment it is delivered into their hands. You should probably have insured it, or claimed compensation from the post office for negligent handling, and then used the proceeds to provide the buyer with a replacement.
Mmmmmmm ... quantum waffles. I'd probably have syrup on those.
Schrodingers waffles: they both have syrup and don't have syrup until you eat one.
Entangled waffles: two waffles both have syrup and don't have syrup; when you eat one the other one either loses/gains syrupiness to become purely syrup/no syrup.
so, why'd the first two get funny mods, but this one got interesting?
Seriously, how is one going to properly use 'whom' rather than 'who', but still end a sentence in a preposition?
Did a teacher tell you that prepositions are not for ending sentences with?
(Any rule of style can be violated if you understand the reason for it. The reason for this one is that there is usually a better way of phrasing the sentence that doesn't end the sentence with a preposition; there are exceptions.)
(Alternatively: "This is the kind of fucking pedantry up with which I shall not put." (Churchill, attrib.))
Design technologist? You're not designing anything.
I've found most people in this role these days also do graphic design. Or they also do development. Take your pick. "Just HTML" is a dead profession.
Just what I was coming here to say. A ponzi scheme is an investment scheme where old investors are paid from the money invested by new investors, but don't know where the money is coming from. What's described is a classic pyramid scheme, where the participants (who can't be considered investors because they don't expect to get money back from the same place they sent it in the first place) get money directly from later participants. The schemes are similar, but not the same.
Does your public library have a prominent gay porn section? Mine doesn't seem to, but maybe things are different where you are.
No, but then the article mentions several books that aren't gay porn. It seems Amazon *intended* to drop porn from certain listings, but somehow managed to drop all books with gay themes even if they don't contain explicit sex. That's a very disturbing development, as it suggests that somebody in Amazon's categorisation department thinks that anything about homosexuality is offensive.
Typo in summary: "there" should be "their".
If that's the worst problem with this article, it probably puts it in top ten most accurate of the month.
Apparently Amazon is calling it a "glitch".
No, what they're calling a glitch is the categorisation of the popular titles as adult. They still don't intend to go back and start keeping track of the sales rank of the real adult titles.
Yes, we are, but not because of book stores. We are because people watch TV more and more, and read books less and less.
Interestingly, while the proportion of people reading fiction books in America is declining, the total number is remaining roughly constant. This suggests that there is little danger of reaching a point where almost nobody reads books, ala 451.
That tells me this is a bunch of bullshit and no need to read any further.
It's called hyperbole. It's a fairly standard rhetorical technique and just because it states something that isn't literally true doesn't mean that the core of the content is in any fashion unworthy.
A long time ago, I used barnes and noble used book service, which was very good. They messed it up and I went to Amazon. Maybe it is time to go back. Or Alibris.
I've found ABE Books a good site for this kind of service. They don't try to impose a standardised delivery charge, which means you can actually get stuff cheaper than Amazon (where the delivery charge was set too high and many vendors ended up essentially giving the books away).
Depending on the application, PHP can handle several hundred transactions per second, on *one* machine. It is common knowledge that Java requires far more resources to achieve a typical transaction rate, than PHP.[citation needed]
This is just bullshit. A Java-based server will typically require a fairly constant 64MB more RAM than an equivalent PHP server, but other than this the Java system will outperform PHP in every sense. If the content generation is even remotely complex, Java can be up to 100 faster, which translates to 100 times higher transaction rate.
Sure, PHP can handle several hundred transactions per second, if your script is <?php echo "hello world"; ?>. This benchmark of a non-trivial e-commerce application shows that Java can easily handle 500 requests per second on a small 2000-era 4-cpu cluster. A modern quad-core server should be handling at least 20 times that rate, absent any improvements in Java architecture since then (and there have been many; this test was run on Java 1.1, which was hideously slow compared to modern Java versions), and ignoring the performance improvement from not having to load balance requests at the front end or access the database server across the network.
Compare all of the above with a site like plenty of fish, which while handling only about 1/40th the traffic is using less than 1/200th the number of servers to do so, because they've chosen a compiled architecture.
I've been trying to find stats for Amazon, which uses a primarily C++-based system, but haven't been able to dig up any info on how many servers they use, unfortunately.
Both Java and PHP are interpreted languages because this is how you create a cross-platform language.
Each gets compiled to bytecode which gets executed in a OS specific VM.
Java is JIT compiled to native code, whereas PHP is bytecode interpreted. The difference is more than an order of magnitude. In fact, judging by this comparison, in many cases Java is about 100 times faster than PHP.
Frankly, most websites do not need an app server. Wikipedia uses PHP, not Java. It is not a 'simple' website that you say PHP is suited for.
Wikipedia is presenting uncustomised content to most users. It runs a huge squid cache in front of its PHP servers. If it tried to run PHP for each user it would crawl. I run mediawiki locally on an AMD Athlon64 2200+. It takes ~0.2 seconds of 100% CPU time to process a simple request. There is simply no way Wikipedia could run without content cacheing.
This is not to say that the task of serving that content is cheap. But they're doing a lot better than facebook; they're serving 30,000 requests/sec with only 350 servers. The difference, I suspect, is mostly down to the amount of cacheing they prform.
Facebook is much less able to cache content. It doesn't have a squid front end because relatively few users see the same exact content, unlike for wikipedia; most users are logged in most of the time and see pages customised for themselves.
PHP, as a language, is more than capable of handing four requests per second (which can be said of pretty much anything other than punch cards).
Not, I think, if your application is running into the 1 million lines of code range, as suggested by the presentation. Remember that the PHP interpreter has to reparse each of those lines for each request.
There is much more to Facebook than its LAMP stack, so you shouldn't just blame LAMP stack. And even if the LAMP stack does not work perfectly, there are still insights that developers can glean from it.
I'd say you're right not to blame the LAMP stack. I blame PHP for most of the problems.
According to the presentation, facebook's traffic is around 20,000 page requests per second (!). They have somewhere in the region of 5,000 servers in their main datacenter and (I believe) others scattered around the world, but restricting it to just that main center, that means each server is handling around 4 requests per second. Probably three-four times that at peak times, I'd guess. If the system were written in a compiled language, that wouldn't be even slightly taxing. They could probably reduce their infrastructure to around half its current size. But large chunks of it are written in interpreted languages, with the worst offender being the huge volume of PHP that constitutes their front end. PHP is, as I've profiled it, horribly inefficient. If you've got low traffic, it's a great solution for creating a quick, simple web site, but it doesn't easily scale to the kind of traffic facebook manages. They're spending a fortune on hardware and datacenter running costs because they've chosen an inefficient architecture. They've had to invest significant time, if you listen to the presentation, modifying PHP to make it less inefficient to even get to where they are now.
These guys took the notion of the right language for the task to an extreme. I have to believe that code releases into production is a big challenge for these folks.
It explains a lot of the complaints you here about them regularly (I'm not a user, but almost everyone I know is...), specifically that they're not rolling out new features as often as they did when they were small, and that large parts of the site are often unavailable for lengthy periods.
About how much has Facebook saved by using Open Source Software? I ask because I am not familiar with licensing costs from competing solutions. Thanks!
I haven't watched the presentation so don't know if this is answered there, but it's hard to pin down any numbers on precisely how many servers facebook operates. That said, an estimate of their expected power usage in their recently acquired second datacenter is 6 megawatts, placed at twice the usage in their current datacenter. Realistically, this probably equates to a cluster of around 5,000 machines in the current datacenter.
Costs per machine are likely to be restricted to Windows Server Web Edition; other software would not be needed on all machines (depending on cluster architecture, of course) so would be a trivial cost in comparison. Retail for the web edition is $399; I think we could expect such a high profile user to qualify for a 50% discount. This would put their software costs at about $1M. Considering that they're believed to have spent over 100 times this on hardware and support costs over the last year, I doubt this would be a particular concern. Price of purchase is not a factor in why facebook does not run on proprietary software.
Sure, you couldn't run Linux on the MMk1, at least as it was left, but it was the first machine to have sufficient underlying hardware that it was intrinsically capable of every task an OS like Linux needs to perform.
Quibbling, here, but MMk1 lacked certain features that are essential for practically all modern OSs, including processor interrupts, memory paging and memory protection. You couldn't put a multitasking system on it. You might be able to get something akin to CP/M or DOS working, though.
Not quite, as that could be achieved by looping an input tape on (e.g.) the Z3. It was the first that could achieve:
10 LET c=1
20 PRINT "HELLO WORLD!!1"
30 LET c=c+1
40 IF c20 THEN GOTO 20