Quantum Algorithms
Thursday, April 12, 2007
Saving the Planet, One Line of Code at a Time
Surely us lowly computer programmers can't do much about climate change, right? I mean, maybe we could drive a Prius to work, or work for Google, but short of that, code is code, isn't it? Well maybe not. Here are a few things programmers could do to fight global warming:
* Boycott Windows Vista. Windows Vista is an energy-wasting nightmare, requiring grunty graphics cards and cutting edge CPUs just to perform basic windowing operations. By writing PC and web applications that deliberately don't work with Vista, you can help cajole users into running a less resource intensive operating system.
* Don't ouput blank or nearly-blank pages to the printer. Have you ever printed a document from Word and got a completely blank page at the end (except for maybe a page number)? Or have you ever printed something from an email application or web site and gotten a final page containing almost nothing but a useless footer? This type of waste must add up. Sure you can recycle the paper, but recycling takes energy. Better to not print the page in the first place. If the user really needs that last bit of information printed out, they can opt-in and get it printed. But tree-saving mode should be enabled by default.
* Write more efficient code. A CPU running at 100% capacity is sure to draw more current than a CPU with less load. So code more efficiently and use less electricity. (Of course if hardly anyone uses your software, and reducing clock cycles requires you to drive to work more or keep the lights on later, this could be counter-productive)
* Support older computers. Older computers have cooler processors and less memory and therefore use less electricity than newer ones (especially if they're connected to an LCD monitor). By coding for them, you encourage their use. Recent versions of Linux should run happily on older computers that wouldn't support Windows 2000, let alone XP or Vista.
Got any more ideas?
Wednesday, April 11, 2007
On D-Wave
The D-Wave announcement and flood of articles and postings that have come from it sheds some light on the uneasy intersection of academic research and cutting edge private research.
Companies, being profit oriented, need to maintain a certain level of honesty if they want credibility with their potential customers and investors. They also need to carefully frame their announcements and dealings with the press in order to maximize their attractiveness, without crossing the line into outright deceit.
Scientists, being truth oriented, need to meet a higher level of honesty, the kind that includes bending over backwards to show how they might possibly be wrong.
Few companies could go very far if they attained academic-grade honesty, since exposing all their weaknesses would scare off potential investors. In a world where everyone exaggerates and everyone assumes everyone exaggerates, being very modest as a company is tantamount to admitting failure.
D-Wave doesn't have to please academics, because academics are not investors nor potential customers (on any significant scale). For D-Wave, exposing their technology to academic-grade scrutiny can only be bad: either it will reveal that the emperor is wearing no clothes (i.e. they have essentially built an expensive, 16 bit classical computer) or else they are really onto something, and their ideas will be revealed to potential competitors.