I am not a Microsoft Windows user, but 870 million people are. On January, 2007, Microsoft will release the newest version of its desktop operating system, christened “Windows Vista”.

Recently I have gathered knowledge Windows Vista will, by default, put the computer in a stand-by status when you will try to shut it down. You can check this by yourselves looking at this article (look at point 5, the second half of the page) on Computer World magazine (screenshot)

So, to summarize it: you will believe your computer is not consuming any power, but it will be wasting 25% of electricity. Now multiply this 25% by 870 millions of computers. Assuming each computer will consume 250-350 Watts (this is a pretty realistic value for a computer like the one Microsoft requires to run Windows Vista) and you have:
0.25 * 300W * 870Million = 65250 MegaWatts

I think we should immediately start a campaign for Microsoft to change its mind. We cannot afford such a waste of energy. In case Microsoft does not attend to reason, I think we should suggest people not to buy a Windows Vista-preloaded computer, but an Apple Macintosh (operating system: Apple Mac OS X) or a computer with the Linux operating system.

Update ENERGY STAR-labeled computers are required to power down to 15 percent of their maximum power use. So we will only be wasting a measly 39170 MegaWatts. What a relief!

Best introduction to ‘continuations’. Ever. Do not even try to understand this one.

  • Continuations are like bookmarks: "hey Joe, come here and start again from this point". The context in which you invoke the code after the continuation point is the context you are currently, not the context you had when you defined the continuation. It’s easy to see it with this code in Ruby:

    arr = [ "Freddie", "Herbie", "Ron", "Max", "Ringo" ]
    hello_var = "hello1"
    message = arr.shift
    hello_var = "hello2"
    $cc.call unless message =~ /Max/

    The output is:

  • Closures give you the lexical context you had when you defined the closure, including values of variables.