Thursday, March 20, 2008

Destroy the earth

This article lists 10 funny but possible ways to destroy the earth. The earth, not just the world or human race. Scatter it into crumbles. The one I found most interesting ranked No. 2.

You will need: a single von Neumann machine

Method: A von Neumann machine is any device that is capable of creating an exact copy of itself given nothing but the necessary raw materials. Create one of these that subsists almost entirely on iron, magnesium, aluminum and silicon, the major elements found in Earth's mantle and core. It doesn't matter how big it is as long as it can reproduce itself exactly in any period of time. Release it into the ground under the Earth's crust and allow it to fend for itself. Watch and wait as it creates a second von Neumann machine, then they create two more, then they create four more. As the population of machines doubles repeatedly, the planet Earth will, terrifyingly soon, be entirely eaten up and turned into a swarm of potentially sextillions of machines. Technically your objective would now be complete - no more Earth - but if you want to be thorough then you can command your VNMs to hurl themselves, along with any remaining trace elements, into the Sun. This hurling would have to be achieved using rocket propulsion of some sort, so be sure to include this in your design.
So crazy it might just work.
Earth's final resting place: the bodies of the VNMs themselves, then a small lump of iron sinking into the Sun.
Earliest feasible completion date: Potentially 2045-2050, or even earlier.
Source: "2010: Odyssey Two," by Arthur C. Clarke

Notice the source. The great Arthur C. Clarke, who passed away yesterday, perhaps out to begin another Odessey.

So VNMs are machines that are capable of producing another VNM. Can a human being be one VNM ? Perhaps no. The VNM is not supposed to die. Then, the virus? Doesn't die but is capable of reproducing. ( Well, that's also a debate). How about amoeba? It reproduces in a very interesting way - binary fission. At some point of time, (when it feels like) the single cell organism just divides into two cells, two independent organisms. So as long as it gets its food, it can continue this process, and some day consume the entire raw material source - the earth. But all the silicon and magnesium and iron may not be edible. So as long as they don't get adapted to this kind of diet, the earth seems to be safe from them.
But lets cross-examine that assumption of death. Why is the VNM not supposed to die? It can very well die and be the Frankenstein it is supposed to be as long as the rate of creation is greater than the rate of death. And that can be assured in the design phase itself. Or maybe the version 2 of such machines can be made adaptable to their limiting factors - lack of raw materials etc. They can be made to have a science of themselves.
Just like us the human beings. We are fast working towards ensuring that our rate of survival is greater than the rate of death, that we can make best exploitation of the resources. We sure will win one day discovering newer ways of using all the silicon-iron-magnesium that there is in a process that outputs more of our kind.We will win against disease, death and war, and will become the VNMs ourselves.
All this even if we put no efforts in building the VNM.
(Also look at the time-line Clarke suggested.)



ZFS

The ZFS comes into picture straight from the Sun-NetApp Lawsuit.

The wikipedia page for ZFS states lots of big-mouthed appreciation for the file system. Look at this - " ... Project leader Bonwick said, "Populating 128-bit file systems would exceed the quantum limits of earth-based storage. You couldn't fill a 128-bit storage pool without boiling the oceans. "

And also this -
" Although we'd all like Moore's Law to continue forever, quantum mechanics imposes some fundamental limits on the computation rate and information capacity of any physical device. In particular, it has been shown that 1 kilogram of matter confined to 1 liter of space can perform at most 1051 operations per second on at most 1031 bits of information [see Seth Lloyd, "Ultimate physical limits to computation." Nature 406, 1047-1054 (2000)]. A fully populated 128-bit storage pool would contain 2128 blocks = 2137 bytes = 2140 bits; therefore the minimum mass required to hold the bits would be (2140 bits) / (1031 bits/kg) = 136 billion kg. To operate at the 1031 bits/kg limit, however, the entire mass of the computer must be in the form of pure energy. By E=mc², the rest energy of 136 billion kg is 1.2x1028 J. The mass of the oceans is about 1.4x1021 kg. It takes about 4,000 J to raise the temperature of 1 kg of water by 1 degree Celsius, and thus about 400,000 J to heat 1 kg of water from freezing to boiling. The latent heat of vaporization adds another 2 million J/kg. Thus the energy required to boil the oceans is about 2.4x106 J/kg * 1.4x1021 kg = 3.4x1027 J. Thus, fully populating a 128-bit storage pool would, literally, require more energy than boiling the oceans
"
Path-breaking ? Revolutionary ? Not really. Big words. Big figures. Marketing.

Sunday, March 9, 2008

HP laptops

HP PSG is doing really well.

Not that HP laptops are new entrants to the market normally dominated by Dell, Lenovo, Sony or Apple (in different segments). They had existed, even when no one was talking about them.

So is this a breakthrough in technology? Or maybe low cost push? Perhaps not both. So HP laptops are not as innovative as the Macbook, not as stylish may be as a Vaio, don't have the an as strong internet sales backbone as Dell, and are technology wise, at most equal to the Lenovo. They have never been far behind the other products, but they perhaps lacked the glamor the competitor brands have been able to associate with themselves. So if you own a Viao, you own a luxury, and if its an HP, its a laptop computer ! Just a laptop.

But something changed. At some point the PSG decided to project itself to the market. It already enjoyed the convenience that it owns an identity. It is surely recognized as a decent technology vendor with reliable customer support and reasonable prices. People know the name. They had to be persuaded to push their pockets for this name.

Look at this and see how this is being done.
Look at the way they are building the HP brand. Look at " The computer is personal again" campaign. The flamboyance with which the company has dared to present itself in the aggressive ad campaign is what is responsible for the niche that it has now carved for its products. So when I HP ads all around, i can hear them say, 'buy our stuff, its cool'.
And no surprises, PSG (which is the part of HP dealing in laptops and desktops) is a $40 billion company.

query compilation

It was difficult initially to accept that sql queries are compiled.

What had made strong impressions on my mind was the assumption that the queries could be treated just like commands, like shell commands. Commands that need good amount of parsing may be. The pre-compiled procedure for executing the query might be doing the job well enough. [And having 'language' in the name doesn't qualify it for compilation]

A friend told me that queries need to be compiled because of the optimization thats necessary. Where does optimization entail the need for compilation? A detailed discussion let me through.

Say if we have a query containing a join of tables T1, T2 and T3. If you go by executing it the way i thought it would (close to interpreting), it goes as (T1 join T2) join T3. But in sql querying, lot of optimization can be achieved by simply reordering the joins. So T1 join (T2 joint3) may be a better execution strategy. That can only be done if the process executing the query, passes through the entire query statement, once or more to find optimization opportunities like this, and develop a plan for executing it. And this is very close to what a compiler does. :)

The need for query optimizations can be understood from what Dr. Umesh Dayal (HP Fellow) talks about business intelligence. "... in business intelligence scenarios, you are typically faced with queries that are very large ... the largest ones you might have written may be around five pages in length (me ?? five lines!) ... but here we 're talking about queries normally running into twenty pages ...". Imagine what optimization-less querying can cause to a database.

Thanks to my sql-mx friends who made me realize that.