I wasn't really worried about the power lines. That's easy enough to handle, as demonstrated by the large transmission lines strung near my home.
I was more worried about the grid being able to supply the capacity. When you start demanding power in the multi-megawatt range, you enter the territory of small power plants. A LOT of power plants would have difficulties supplying their normal load to residential and commercial customers, plus your industrial needs for power. So either you locate near some rather large plants with sufficient capacity, accept long distance transmission from the national grid, or generate your own power internally. Each choice has some serious consequences for space availability, reliability, and cost.
In any case, data centers like these mean we're going to need a lot more power plants in the near future. 2MW may not be much for a gigawatt reactor, but multiplied by dozens (the article makes it sound more like hundreds) and you start noticing a serious drain on available power resources.
Step 1: Take a price from this map. Step 2: Multiple that price times 2,000.
So for California, 2,000kWh would cost $240 per hour to run. That's $5,760/day, $40,320/week, and a whopping $2,096,640/year!
Of course, for diesel your prices may be higher. As of right now, diesel is approximately $2.669 per gallon in California. To compute the costs, you'd need to know how efficient the generator is. This page claims "approaching 40%", so we can use that for a guesstimate. At about 146,520,000 joules per gallon of diesel, we can compute a need of 122.85 gallons per hour. At the going rate, it would cost ~$327.89/hour to run a 2MW generator.
The generators have to supply enough on demand power to satisfy peak requirements. Examples could be getting the elevator(s) stuck between floors to where they're supposed to go. Air conditioning is another large power drain and in a datacentre, there are huge quantities of heat contributing components to deal with. Even backup lighting utilizes a surprising amount of power.
So what you're saying is, the generator has to be able to power a small skyscraper in an emergency?
"Generator lead time for a nice 2 megawatt diesel engine is now up to a year for one generator," Josh Snowhorn of Terremark said in a panel at the NANOG conference earlier this year.
HOLY MOLY, that's a lot of power! If you had 250 watt power supplies, all running at maximum, you'd be able to power 8,000 power supplies simultaneously! You could run a small town on a generator that large! Or to put it another way, you could use it to power a Diesel Locomotive capable of pulling dozens of fully loaded cars.
Wow, just wow. That's just an incredible amount of power to be putting in a datacenter. Is it even possible for these centers to run off the grid?
"So we can build all the raised floor we want, and then sit around and wait six months for a generator."
The part that I don't undestand is this: Why do they need just one generator? If you're having difficulties obtaining a 2Mw unit, wouldn't it make sense to get two smaller units? You'd waste a bit of extra space, but you'd have redundancy that a single genearator couldn't offer.
Edison's patent on the incandescent light bulb was ruled invalid.
You are highly confused. The incandescent light bulb was one of the few patents of Edison's that was not overturned. In fact, Edison strengthed his case by buying off previous patents for similar work, making sure that there was an unbroken chain of Intellectual Property. So when Sawyer and Man attempted to challenge Edison's patent, they had to do so on addendums they added to their own patent application. The Supreme Court found that Sawyer and Man's claims were too broad, and that their addendum was an afterthought rather than core to their invention. Thus Edison's patent was upheld as valid.
That wasn't what I meant. Then again, you see irony in Enlightenment the Window Manager being used for Enlightment the State of Being and/or Period of History. I'm not following that.
Gah, beat me to it. Ah well, here's what I was going to post (slightly more polite):
KDawson, I just thought you'd like to know that the Enlightenment category is for the X11 Window Manager by that name, and not "enlightening" topics. Unfortunately, Slashdot doesn't really have an "Inspirational" category. About the best you can do is "Entertainment" and "Links". Since this is the third time you've been in want of an inspirational category, you might consider talking with Taco about remedying the situation.
1. He doesn't need to rip up his contract to have influence (no matter how small) over his distributor. The only difference between him and us is that he's in the public eye. If he notices a significant drop in sales due to Sony's misdeeds, then you can expect that he's going to take whatever action he possibly can.
2. This is due to Sony Europe's actions in European countries. Moving from the US to Canada won't help much, nor will swapping out my legislators. In fact, Sony is exploiting the looseness of the EU relationships to crush Lik-Sang by filing suits in multiple countries. In the US, they'd all be consolidated and transferred to a single court.
So if you want to boycott Sony, you also have to boycott "Weird Al," something Slashdot may not enjoy doing.
I think we all need to send a polite letter to Mr. Yankovic that we cannot purchase his music because of his distributor. With any luck, that will add a semi-important figure to the cause.
Boycotts are often called for but they just don't work.
They usually don't work because a good company diversifies its product line far too much. That's why Phillip Morris can't be put out of business. They own too many key product lines.
Sony, however, has been scaling back their operations. As it stands right now, their electronics lines are in shambles after cheapening and/or withdrawing a huge number of them. Great stuff like the Clie and the Vaio are simply gone or no longer the great products they once were. As a result, Sony's bread and butter has been their entertainment division. The PS3 push is an attempt to grow that entertainment division by capturing the living room. By loudly making our position clear to the public, there's a good chance we could cause a major disruption in thier entertainment products.
To add to my submission, I think we should outright BOYCOTT Sony. As consumers, we've put up with rootkits, massive price increases, being treated like criminals when we're customers, faulty products, and just about every other mistreatment imaginable. Well, I think it's ENOUGH. I draw the line at shutting down a perfectly legal and useful business.
If you're not already Boycotting Sony for their misdeeds, then I call upon you to stop purchasing ALL Sony products. Yes, that means no PSP, PS3, or PS2 stuff. (The PS2 and PSP games can be purchased used without majorly impacting a boycott, but it's better if anything Sony sits on the shelf.) More importantly, though, we have to hit Sony where it hurts! Which means no more Sony movies, music, and television.
That means that we can't watch, purchase, or rent popular movies like:
James Bond: Casino Royale
Open Season
Monster House
Spiderman 3
Stranger Than Fiction
The Da Vinci Code
Zoom
It also means that we need to stop watching popular television shows like:
The King of Queens
JEOPARDY!
Wheel of Fortune
Ripley's Believe It or Not!
Dragon Tales
The Boondocks
Understandably, some of these are very entertaining pictures/shows that I (and I'm sure many others) would enjoy seeing. Unfortunately, a complete boycott means that every Sony product line must fail. So I ask you all, politely and humbly, will you boycott Sony? There is no excuse for their behavior, and I cannot in good conscience allow my dollars to support that behavior. If you feel the same way, then I would ask you to LOUDLY proclaim that you are joining the boycott.
Thank you.
P.S. If anyone has Sony contact info, please post it. A flood of angry but well-worded letters will help Sony pay attention to our displeasure.
P.P.S. Read the Lik-Sang announcement for yourself! Apparently, Sony Europe's execs are big customers of Lik-Sang!
Put another way: it's a poll technology. There is no way to allow the server to initiate a connection to a client.
Mainframes worked the same way, and that didn't stop them any. In fact, it would be stupid to have a server trying to contact a bunch of firewalled client boxes out on the Internet. Besides not being scalable, the pull design of the web ensures that the clients are protected against exactly that sort of communication.
I think the issue you're concerned about is that there's no way to maintain an open channel. i.e. IRC maintains an open connection. Telnet maintains an open connection. FTP maintains an open connection. Pretty much everything except AJAX can maintain a connection rather than having to poll for the latest content at regular intervals.
I agree that such a design can be annoying, but it's something of a requirement for the web to function properly. Right now, you've got a few ways around this:
1. Use Mozilla APIs in a signed web application to obtain a low-level TCP/IP connection.
2. Find a Draft Web Application standards compliant browser, and use that so you can open a TCP/IP connection. (Good luck on that.)
3. Use the Livescript interface between Java and JavaScript to maintain a TCP/IP connection over a hidden applet.
4. Use an IFrame pointing to a servlet that keeps the connection open. Every time the server wants to tell you something, it "pushes" (i.e. writes and flushes) a few JavaScript commands down that pipeline. Those commands get executed immediately, thus providing a remote event system. The JavaScript code monitors the connection and automatically reconnects if the connection is lost. (This is what most web<->IRC portals do.)
5. Redesign your application. You're probably trying to do something that's a bad idea in the first place.
Ack. I made a bug! (Yet another reason why innerHTML is evil.) Just below the "//As of right here..." should be the following line:
code += "</select>";
The code in my post above will probably work, but closing the tag ensures that you don't accidently add something into the middle of your "select" when you go to modify your code.
Did you know that javascript will go ahead and add a closing select tag for you
What were you expecting it to do? Once you give the HTML to the browser, it attempts to parse it, add it to the DOM, and render it. It can't do that if you've still got open tags. So it assumes that you forgot to close your tag, and closes it. The exact same thing would happen if you accessed the DOM through Java, C/C++, or any other language.
This just goes to show the problems with the innerHTML psuedo-standard. People think that HTML consists of a bunch of strings, when it's actually a complete Object model that we are able to store serialized versions of. While innerHTML can be convenient for even the experts, it's going to do strange things if you don't understand what you're doing.
If you didn't understand a word of that, then I recommend that you visit your friendly standards organization and start reading. Until you understand exactly what you're doing, you are in an unfit state to program DHTML constructs. Trust me, you WILL regret it later if you don't get the basics down NOW.
Since someone else posted the proper DOM answer to your issue, here's the innerHTML answer:
var code = '<select name="whatever">';
for(var i=0; i<myoptions.length; i++) { //Tailor for your code
code += '<option name="option'+i+'">'+myoptions[i]+'</option>'; }
//As of right here, "code" is still a String object.
//Here we add it into our DIV. The browser will parse the HTML, and create a renderable object model out of it. mydiv.innerHTML += code;
Some issues I've personally encountered, several of which I hit on a regular basis:
* Namespaces are completely absent from IE's DOM implementation (createElementNS, getAttributeNS, etc. functions simply do not exist). * Prototyping of DOM elements is impossible without using proprietary HTC behaviours. * Tables that are created dynamically will not appear unless elements are added to -- in other words, using DOM to write content does not display anything, even though is optional. * importNode? Nope. Doesn't exist. * getElementsByTagName('object').item(0).getElements ByTagName('param') returns EVERY IN THE ENTIRE DOCUMENT, not just ones under the requested object. Yikes!
In all fairness, those are very advanced features to be using. While it would be very, very nice if they were supported, they can be avoided in most code. With DOM 2 Events, you can't avoid it. Any user activity you want to respond to, MUST go through the event system. The only other option is to completely override the event handlers, which is only effective for very simple webapps. In commercial level webapps, you end up having to build your own event system on top of the handlers you overrode. In which case, it's just as easy (which is to say, like pulling teeth) to patch Internet Explorer with a DOM-compliant event system.
* navigator.plugins exists but is always empty. What's up with that? Either don't have the attribute at all or populate it properly, for fuck's sake.
I think that's a vestigal Netscape-compatibility thing. Some webpages used to check for the stupidest things to determine which browser they were using. At this point, we're still paying for the Netscape/IE war. (Of which Netscape was no saint themselves.)
Are you aware that no matter what answers you give here, they will never satisfy the anti-Microsoft Slashdot crowd?
It's difficult to speak for everyone, but I can give my own opinion on your question.
I used to like IE5. Whether I disliked Microsoft or not, it was a superior browser in its day. The problem is, that the standards that Microsoft helped create all those years ago are not actually supported by Microsoft today. To use the example I pointed out in my own question, IE's lack of DOM 2 Events support means that there is absolutely no way to write DHTML code that works in both IE and Firefox. Yet, I can easily write code that works in Firefox, Safari, and Opera.
Is there any reason for this dichotomy? Yes and no. Code can be made to work across the major non-IE browsers, because they all provide at least basic support for the W3C standards. IE has its own attachEvent() model that is (obviously) incompatible at a code level, and subtly incompatible at the behavior level. All that microsoft needs to do is to lay a parallel API that supports the W3C standard, and I would be a happy fellow. Yet they haven't done that, won't do that, and I have NO IDEA WHY.
So I continue to write code that works in Firefox, Safari, and Opera, then special patches to make it work in IE. From where I'm sitting, I just want the problem to go away. If Microsoft fixes their browser, then I'll be happy. If Microsoft can't do that, then I will carry the "Down With IE!" torch until their browser is irrelevant in the market. Then I'll also be happy.
Basically, my web browser opinion is not one based on my feelings about Microsoft. I just want a market were I can target a single standard is all. If Microsoft abuses their Web Browser monopoly to stand in the way of that, then it is my duty as a web developer* to help smash that monopoly.
* What happened to the "Developers, developers, developers" jingle, hmm? Are we important, or aren't we?
IE used to be available on Solaris, HP-UX, and Mac OS 9/X. Microsoft dropped support for all of those platforms. Considering that my attempts to install IE on Solaris 8 caused the CDE profile to be corrupted, I'm not sure that the lack of support is a bad thing. At the time, I found it more useful and reliable to build Mozilla nightlies.
I wasn't really worried about the power lines. That's easy enough to handle, as demonstrated by the large transmission lines strung near my home.
I was more worried about the grid being able to supply the capacity. When you start demanding power in the multi-megawatt range, you enter the territory of small power plants. A LOT of power plants would have difficulties supplying their normal load to residential and commercial customers, plus your industrial needs for power. So either you locate near some rather large plants with sufficient capacity, accept long distance transmission from the national grid, or generate your own power internally. Each choice has some serious consequences for space availability, reliability, and cost.
In any case, data centers like these mean we're going to need a lot more power plants in the near future. 2MW may not be much for a gigawatt reactor, but multiplied by dozens (the article makes it sound more like hundreds) and you start noticing a serious drain on available power resources.
Step 1: Take a price from this map.
Step 2: Multiple that price times 2,000.
So for California, 2,000kWh would cost $240 per hour to run. That's $5,760/day, $40,320/week, and a whopping $2,096,640/year!
Of course, for diesel your prices may be higher. As of right now, diesel is approximately $2.669 per gallon in California. To compute the costs, you'd need to know how efficient the generator is. This page claims "approaching 40%", so we can use that for a guesstimate. At about 146,520,000 joules per gallon of diesel, we can compute a need of 122.85 gallons per hour. At the going rate, it would cost ~$327.89/hour to run a 2MW generator.
s/4MW/4 2MW/g
You get the idea.
So what you're saying is, the generator has to be able to power a small skyscraper in an emergency?
What are the 4MW units if not diesel? If you're using Gas Turbines, that may explain why you didn't have the same supply problems.
HOLY MOLY, that's a lot of power! If you had 250 watt power supplies, all running at maximum, you'd be able to power 8,000 power supplies simultaneously! You could run a small town on a generator that large! Or to put it another way, you could use it to power a Diesel Locomotive capable of pulling dozens of fully loaded cars.
Wow, just wow. That's just an incredible amount of power to be putting in a datacenter. Is it even possible for these centers to run off the grid?
The part that I don't undestand is this: Why do they need just one generator? If you're having difficulties obtaining a 2Mw unit, wouldn't it make sense to get two smaller units? You'd waste a bit of extra space, but you'd have redundancy that a single genearator couldn't offer.
You are highly confused. The incandescent light bulb was one of the few patents of Edison's that was not overturned. In fact, Edison strengthed his case by buying off previous patents for similar work, making sure that there was an unbroken chain of Intellectual Property. So when Sawyer and Man attempted to challenge Edison's patent, they had to do so on addendums they added to their own patent application. The Supreme Court found that Sawyer and Man's claims were too broad, and that their addendum was an afterthought rather than core to their invention. Thus Edison's patent was upheld as valid.
Nobody expects the inquisition. Especially not during the period of Spanish Enlightenment. Which makes for a really terrible pun.
You, my good sir, need to lay off the Monty Python. It's messing with your head.
That wasn't what I meant. Then again, you see irony in Enlightenment the Window Manager being used for Enlightment the State of Being and/or Period of History. I'm not following that.
No. In fact, I can't even figure out what you're talking about.
Gah, beat me to it. Ah well, here's what I was going to post (slightly more polite):
KDawson, I just thought you'd like to know that the Enlightenment category is for the X11 Window Manager by that name, and not "enlightening" topics. Unfortunately, Slashdot doesn't really have an "Inspirational" category. About the best you can do is "Entertainment" and "Links". Since this is the third time you've been in want of an inspirational category, you might consider talking with Taco about remedying the situation.
1. He doesn't need to rip up his contract to have influence (no matter how small) over his distributor. The only difference between him and us is that he's in the public eye. If he notices a significant drop in sales due to Sony's misdeeds, then you can expect that he's going to take whatever action he possibly can.
2. This is due to Sony Europe's actions in European countries. Moving from the US to Canada won't help much, nor will swapping out my legislators. In fact, Sony is exploiting the looseness of the EU relationships to crush Lik-Sang by filing suits in multiple countries. In the US, they'd all be consolidated and transferred to a single court.
Capesh?
Lik-Sang hasn't sold modchips in four years. However, they are the only distributor of great products like the LCD Compatible Top Gun light gun.
I think we all need to send a polite letter to Mr. Yankovic that we cannot purchase his music because of his distributor. With any luck, that will add a semi-important figure to the cause.
They usually don't work because a good company diversifies its product line far too much. That's why Phillip Morris can't be put out of business. They own too many key product lines.
Sony, however, has been scaling back their operations. As it stands right now, their electronics lines are in shambles after cheapening and/or withdrawing a huge number of them. Great stuff like the Clie and the Vaio are simply gone or no longer the great products they once were. As a result, Sony's bread and butter has been their entertainment division. The PS3 push is an attempt to grow that entertainment division by capturing the living room. By loudly making our position clear to the public, there's a good chance we could cause a major disruption in thier entertainment products.
If you're not already Boycotting Sony for their misdeeds, then I call upon you to stop purchasing ALL Sony products. Yes, that means no PSP, PS3, or PS2 stuff. (The PS2 and PSP games can be purchased used without majorly impacting a boycott, but it's better if anything Sony sits on the shelf.) More importantly, though, we have to hit Sony where it hurts! Which means no more Sony movies, music, and television.
That means that we can't watch, purchase, or rent popular movies like:
It also means that we need to stop watching popular television shows like:
Understandably, some of these are very entertaining pictures/shows that I (and I'm sure many others) would enjoy seeing. Unfortunately, a complete boycott means that every Sony product line must fail. So I ask you all, politely and humbly, will you boycott Sony? There is no excuse for their behavior, and I cannot in good conscience allow my dollars to support that behavior. If you feel the same way, then I would ask you to LOUDLY proclaim that you are joining the boycott.
Thank you.
P.S. If anyone has Sony contact info, please post it. A flood of angry but well-worded letters will help Sony pay attention to our displeasure.
P.P.S. Read the Lik-Sang announcement for yourself! Apparently, Sony Europe's execs are big customers of Lik-Sang!
Heh. Yeah, I was just a liiiitle too quick with the submit button. ;)
Seems someone forgot the <ecode> tag...
Funny, this code looks a LOT like the example I posted above you. Especially since you appear to have forgotten to change this line.
The basic DOM functions are about as browser compatible as you can get. It's the DOM0 and IE specific stuff that you'll get in trouble for.
Mainframes worked the same way, and that didn't stop them any. In fact, it would be stupid to have a server trying to contact a bunch of firewalled client boxes out on the Internet. Besides not being scalable, the pull design of the web ensures that the clients are protected against exactly that sort of communication.
I think the issue you're concerned about is that there's no way to maintain an open channel. i.e. IRC maintains an open connection. Telnet maintains an open connection. FTP maintains an open connection. Pretty much everything except AJAX can maintain a connection rather than having to poll for the latest content at regular intervals.
I agree that such a design can be annoying, but it's something of a requirement for the web to function properly. Right now, you've got a few ways around this:
1. Use Mozilla APIs in a signed web application to obtain a low-level TCP/IP connection.
2. Find a Draft Web Application standards compliant browser, and use that so you can open a TCP/IP connection. (Good luck on that.)
3. Use the Livescript interface between Java and JavaScript to maintain a TCP/IP connection over a hidden applet.
4. Use an IFrame pointing to a servlet that keeps the connection open. Every time the server wants to tell you something, it "pushes" (i.e. writes and flushes) a few JavaScript commands down that pipeline. Those commands get executed immediately, thus providing a remote event system. The JavaScript code monitors the connection and automatically reconnects if the connection is lost. (This is what most web<->IRC portals do.)
5. Redesign your application. You're probably trying to do something that's a bad idea in the first place.
What were you expecting it to do? Once you give the HTML to the browser, it attempts to parse it, add it to the DOM, and render it. It can't do that if you've still got open tags. So it assumes that you forgot to close your tag, and closes it. The exact same thing would happen if you accessed the DOM through Java, C/C++, or any other language.
This just goes to show the problems with the innerHTML psuedo-standard. People think that HTML consists of a bunch of strings, when it's actually a complete Object model that we are able to store serialized versions of. While innerHTML can be convenient for even the experts, it's going to do strange things if you don't understand what you're doing.
If you didn't understand a word of that, then I recommend that you visit your friendly standards organization and start reading. Until you understand exactly what you're doing, you are in an unfit state to program DHTML constructs. Trust me, you WILL regret it later if you don't get the basics down NOW.
Since someone else posted the proper DOM answer to your issue, here's the innerHTML answer:
Just some Swedish fellow.
Bork, bork, bork!
In all fairness, those are very advanced features to be using. While it would be very, very nice if they were supported, they can be avoided in most code. With DOM 2 Events, you can't avoid it. Any user activity you want to respond to, MUST go through the event system. The only other option is to completely override the event handlers, which is only effective for very simple webapps. In commercial level webapps, you end up having to build your own event system on top of the handlers you overrode. In which case, it's just as easy (which is to say, like pulling teeth) to patch Internet Explorer with a DOM-compliant event system.
I think that's a vestigal Netscape-compatibility thing. Some webpages used to check for the stupidest things to determine which browser they were using. At this point, we're still paying for the Netscape/IE war. (Of which Netscape was no saint themselves.)
It's difficult to speak for everyone, but I can give my own opinion on your question.
I used to like IE5. Whether I disliked Microsoft or not, it was a superior browser in its day. The problem is, that the standards that Microsoft helped create all those years ago are not actually supported by Microsoft today. To use the example I pointed out in my own question, IE's lack of DOM 2 Events support means that there is absolutely no way to write DHTML code that works in both IE and Firefox. Yet, I can easily write code that works in Firefox, Safari, and Opera.
Is there any reason for this dichotomy? Yes and no. Code can be made to work across the major non-IE browsers, because they all provide at least basic support for the W3C standards. IE has its own attachEvent() model that is (obviously) incompatible at a code level, and subtly incompatible at the behavior level. All that microsoft needs to do is to lay a parallel API that supports the W3C standard, and I would be a happy fellow. Yet they haven't done that, won't do that, and I have NO IDEA WHY.
So I continue to write code that works in Firefox, Safari, and Opera, then special patches to make it work in IE. From where I'm sitting, I just want the problem to go away. If Microsoft fixes their browser, then I'll be happy. If Microsoft can't do that, then I will carry the "Down With IE!" torch until their browser is irrelevant in the market. Then I'll also be happy.
Basically, my web browser opinion is not one based on my feelings about Microsoft. I just want a market were I can target a single standard is all. If Microsoft abuses their Web Browser monopoly to stand in the way of that, then it is my duty as a web developer* to help smash that monopoly.
* What happened to the "Developers, developers, developers" jingle, hmm? Are we important, or aren't we?
IE used to be available on Solaris, HP-UX, and Mac OS 9/X. Microsoft dropped support for all of those platforms. Considering that my attempts to install IE on Solaris 8 caused the CDE profile to be corrupted, I'm not sure that the lack of support is a bad thing. At the time, I found it more useful and reliable to build Mozilla nightlies.