Thursday, 11 January 2007

I promised you a Google post...

I read recently that the fine folks over at Google spend roughly a billion dollars a year on cooling. Yes, you read that correctly; Cooling.

Google produce so much excess heat in their day-to-day operations that it takes them the same amount of money to dissipate that heat as it would to give every last human being on the face of the planet 2 pieces of Bazooka brand bubble gum at its retail cost, annually. It could also be said that for a billion dollars you could build about 10 decently sized cities or, if you're so inclined, buy all the Viagra in the world and still have enough money left over to buy 50,000 or so Russian brides ‎(And you thought free meals at the Googleplex were an effective employee incentive...).

Being a former environmental activist ‎(To the extent that writing an eco-blog and giving Greenpeace two hundred shekels a year is considered activism)‎ I found Google's enormous cooling-related expenditures to be an affront both to me personally and to my beloved planet in general, so, I decided I would rectify this aggregious offense against momma-gaia using nothing more than my ascerbic wit, six cups of coffee and my ninja-like command of the greatest tool ever afforded a writer, namely - the 'Run-on Sentence.'

My butt firmly planted in a comfortable chair, fingers stretched and raring to type, mind lucid and ‎(highly)‎ caffeinated and - most importantly of all - armed with my extremely ‎(Some might say 'Appalingly')‎ rudimentary command of the inner workings of computers I set upon the task at hand.

My first few thoughts were overly pragmatic;

  • Move non mission-critical server arrays offsite to a cooler clime, something they sorta did already with the Oregon campus, but I was leaning more towards Canadia.
  • Calculate less than 3 quadrillion search results ‎(In a fraction of a femtosecond!)‎ every single time someone wants to see Britney Spear's latest punani shots.
  • AJAXify Blogger ‎(Well-coded AJAX - something Google are the absolute and undeniable authority on - saves bandwidth and server-end CPU cycles to an extent that is almost magical)
  • Turn their server clusters into the world's first "Intel Inside" ‎‎(non)‎geo-thermal power plant.
  • Sign a 200 million dollar, 4 year contract with Starbucks to roast all their coffee beans on top of the Googleplex processors.
After letting these ideas 'brew' for a while‎(Admitedly, the last one was at least somewhat inspired by the prodigious amounts of coffee I'd been drinking), I had come to the conclusion that while insightful, none of these ideas were going to "Save the world, one joke at a time" ‎(Which was and remains my ethos)‎. I slowly reached for the seventh cup of coffee and then, suddenly, my mind, as if screaming out a confession in the face of continuing caffeine-laced torture, broke. I got my idea and it was nothing short of a Eureka‎(!)‎ moment...

It was so simple, so cleverly deceptive, so downright hidden-in-plain-sight that it just might work;

Less 1's, more 0's.

‎[I pause, sip my coffee and contemplate every last one of my readers going 'Huh?!' simultaneously]

Seriously, this idea only sounds stupid if you have a degree in engineering. To all other people it should sound brilliant and I, as a believer in democracy, know that the majority is always right ‎(And the majority doesn't have an MSc in Engineering...).

This might be a good time for a short primer on how computers work.

The Central Processing Unit ‎(CPU)‎ of a computer ‎(Otherwise known as 'The Processor' - or - that thing that Intel makes slower every time you upgrade your Operating System‎)‎ does all of its plethora calculations using nothing but two basic binary states; On and Off. Yes, a computer is actually thinking using millions of interconnected silicone light-switches, but I digress; These 'On' and 'Off' switches are represented by '1' and '0,' respectively, when displayed as machine code. Give a processor a stream of ones and zeroes, get a different stream back, this is the entire Torah...

Since these ones and zeroes don't exactly mean anything to us mere mortals we use programming languages that - to varying degrees of success - make this machine code easier to manipulate. The most fundamental of these is 'Assembly' and no human being in their right mind would try to program in that, if Google wanted to write a simple program to calculate exactly how many pieces of Bazooka they could give to every Man, Woman and Child alive ‎(Something which takes one line of code in every other programming language)‎ it would involve writing enough lines of assembly code to fill one of those romance novels that Airport bookshops seem to like selling so much. Seriously, it involves weird concepts like pushing words and d-words and other such jibba-jabba that Mr. T would not approve of.

Now, remember I said 'No human being in their right mind' would try to program in assembly? Engineers are not in their 'right minds' and therefore quite literally drool over assembly - and with good reason. While a regular programmer wants to write an efficient piece of code that gets something done quickly, the Engineer is thinking 'How do I increase the efficiency of that retarded programmer's code by ‎[insert ridiculously small number]‎ percent?' The answer to the engineers question comes either from improving the hardware or from improving the way said code is used by the hardware. When upgrading is not an option, the engineer ‎(Assuming the code was written perfectly)‎ whips out his 300 foot long e-schlong that is Assembly, and this is where my idea fits into the Googleplex. The Googleplex has more engineers than actual humans, they spawn like vermin over there, I bet you couldn't swing an intern without knocking 12 of them down, and it's these engineers which will implement my Planet-Saving vision.

Now would be the appropriate time to ask 'Ok, I sorta got all of that - but why less 1's more 0's?!"

Well, that actually has to do with how a computer uses all those 1's and 0's we've been discussing. The CPU is made of a wafer of Silicone, Gold, Cream Cheese and a host of other exotic materials that together are 'Semiconductive'. What does this mean? Well, you know how if you electrocute a plate nothing happens but if you electrocute a cat hilarity ensues? That's because ceramics are not conductive to electricity ‎(They're like Kryptonite for electrons), ceramics, plastic, vegans & rubber are all non-conductive and hence are 'electro-resistors.' Cats, engineers, metals and interns, are all 'electro-conductors,' and therefore let electrons pass through them.

The CPU on the other hand is a lil' bit of both, depending on what you want it can either conduct or resist, it's kind of like the bi-sexual slut of the electro-mechanical world, it could swing either way...

This peculiarity is at the heart of how computers work, 1's resist and 0's conduct, very simple really. This is also the principle upon which I make my claims to saving the entire galaxy.

Every time someone sends a search request to Google there is one principle core of commands that happens back on the Google Ranch, and at least one of those commands iterates many, many times. Considering Google's search engine handles, well, ummm, googles of search requests ‎('Google' is actually the name of a number; 1 followed by a hundred zeroes) then any reduction of a '1' from the loop would reduce a bit of heat ‎(Since only 1's heat up processors)‎.

There you have it, my plan to saving the Universe, outlined in one mere paragraph, enjoy, worship, adore & forward, I'm gonna go bask in the glory that is my mind while pondering why all my extremities are shaking ‎‎(Caffeine overdose?)‎

- Oren Goldschmidt


‎(By the way; this is sort of a joke. If you think you got all of that then please recall the MSc caveat from before)

8 comments:

RichardAtHome said...

Good plan, with one minor inaccuracy:

A Googol is a 10 followed by 100 zero's

http://www.google.co.uk/search?q=googol&ie=utf-8&oe=utf-8&rls=org.mozilla:en-US:official&client=firefox-a

Anonymous said...

RichardAtHome: Good post with one major problem. In English an apostrophe is not used when creating the plural of a word. An apostrophe is used to indicate the possessive, not plural. Feel free to write cars, dogs, cats, clocks, and radios with no apostrophes.

Toupee said...

Sorry, but "1's and 0's" looks SO much better than "1s and 0s." Screw your grammatically correct vision!

Good article.

Anonymous said...

As a person with a pretty decent grasp on the inner workings of computing:

1 or 0 - it doesn't even matter.

It's the transitions between 0 and one (and 1 and 0) that use up the energy.

That's why a digital watch runs at a really sloooow clock speed (30KHz, 1/100,000,000 of a computer)

so the number of transitions is kept as low as practical.

slower computers? yes, that would save power.

And we could learn to live with DOS again, right?

right?

<a href="http://www.xanga.com/buy_levitra">BuyLevitra</a> said...

Thanks for article!

<a href="http://phentermine1.eamped.com">Phentermine</a> said...

Thanks for interesting article.

<a href="http://search2.site.io/index.html">Viagra</a> said...

Glad to read articles like this. Thanks to author!

<a href="http://courses.cvcc.vccs.edu/ENG112_GROSS/_Chat_Room/000008fd.htm">Anonimous</a> said...

Excellent website. Good work. Very useful. I will bookmark!