Monday, March 29, 2010

Night Fox of New Jersey

The movie Ocean's Twelve featured a very interesting character called "The Night Fox", a master thief enacted by the French leading man Vincent Cassel. In that movie, Cassel steals the Coronation Egg (in fact it's fake) by acrobatically avoiding the laser beams. In its previous version, "the Amazing Yen" uses his acrobatic skills to rob a casino. I thought such things are possible only in movies.

I was wrong. In New Jersey, a band of acrobatic thieves managed to rob Best Buy in a similar fashion. The thieves never appeared in the security camera. The entire floor had sensors, but still no alarm was tripped, as the thieves never stepped on the floor. Apparently they left boot print on the gas pipe they climbed by. NJPD is looking for the thieves.

Thursday, March 25, 2010

Job in 2018

The unemployment numbers frustrate me and I feel we have to be like this for a long time. Oh.. Light at the end of the tunnel. A new study makes a convincing argument that by 2018, there will be overwhelming number of jobs open because of the mass retirement of baby boomers. And this is of course with no change in the immigration policy or labour law. Just eight more years! At that time, inflation may sky rocket and it is something to worry about. Poor policymakers - there is always something in the economy that spoils their sleep at night.

Sunday, March 14, 2010

Where is consumer electronics heading?

Here is a graph by International Data Corp. that indicates where we are heading in the consumer electronics market. People want it small and want it to connect to the worldwide web!

Monday, March 08, 2010

Picture = 1024 words

Most of the time, I need a pictorial representation of call graphs to understand the profiler information with more clarity. Usually I use it to ensure that I am using the memory and CPU efficiently and which part of the code I need to optimize to get the best bang per buck. In my laptop, I use valgrind to generate the call graph and KCachegrind to study the visual representation of call graph. When I use Solaris, I use the dtrace script given by my friend here along with graphviz to visualize the call graph.

But recently at work, I got a Fedora system for which I was not the system administrator. The system administrator was reluctant to install valgrind or KCachegrind stating the fact that gprof was installed in the system and I could use that. Only thing I dislike about gprof is the fact that I have to recompile my C source codes with an additional option. But other than that, I have nothing against it. Even then, I needed a visual representation and so I started writing yacc and lex to parse the gprof output and create a graphviz file. Before getting deep into it, I noticed that there is something called gprof2dot - a python code that converts gprof output to a dot file.

gprof2dot does the magic that I wanted. Interestingly, it has support for an array of profilers including valgrind. The source code is open and it is object oriented and well organized. Each profiler is parsed by a separate class (like GProfParser) that implements a common Parser class. So we can easily plugin our code for our profiler's output (if we use a different profiler). Only thing that could have been done differently is that the author could have used GvGen dot file generator library instead of creating it as a generic output file.

Now all I need to do is to use gprof2dot to generate the dot file that I can parse through graphviz. Or alternatively I can modify the source code to use PyDot library and generate the PNG file in a single shot. Once again the world is saved by free and open source software!

Friday, March 05, 2010

Bloom Box and Artificial Photosynthesis

A couple of weeks ago, CBS' 60 minutes focused on K.R. Sridhar's innovation, the Bloom Box, a small sized wireless power plant that can generate energy for your house. That's a form of clean energy. We can envision that in the next 10 years, all homes would supply electricity for themselves with the Bloom Box that I looked at as the miniature of a monolith (Tycho Magnetic Anomoly-4!).

Now Dan Nocera of MIT made an absolutely remarkable innovation that artificially mimics photosynthesis. Dr. Nocera has created a catalyst that uses sunlight to convert water and carbon-di-oxide into hydrogen and oxygen, in a project funded by ARPA-E, which in turn was funded by the stimulus package. The generated hydrogen and oxygen can then be recombined in a fuel cell to produce energy. Please look at the embedded video.



These innovations are impressive. However I don't know whether they can produce clean, sustainable energy at industrial scale at a low cost. Many of the clean energy companies face this problem of huge production cost and problem with production in scale. If one or both of these technologies work, they can be the Holy Grail for all our energy crisis (both present and future). Who knows? May be they can be fitted in automobiles, like cars, trains and planes to operate them without wasting the fossil fuels and without polluting the environment. Great independent work by Dr. Sridhar and Dr. Nocera and more importantly their teams! Hats off!!

UPDATE: You can watch the CBS' coverage of K.R.Sridhar's Bloom Box here. Sorry, I cannot embed that video.

Tuesday, March 02, 2010

Compiling the extra dimension

Three dimensional FPGA and three dimensional chips are creating a lot of buzz and may be the direction that VLSI design and reconfigurable computation are headed in. Why is it just a "may be"? There are a few start up companies that have come up with the 3D fabric and the interesting part is that the third dimension is not the same for everyone. In some architecture, the third dimension is the z-axis. So the 3D FPGA is just multiple fabrics of FPGAs stacked up. So the chip that looked like Manhatten structure earlier would start looking like Tokyo flyovers with roads running between different layers. In some other FPGA architecture, the third dimension is the time axis. What all these essentially mean is that, a mash-up multi-dimensional FPGA is certainly a possibility. So what's the problem with this?

Starting up a company with a new FPGA architecture and be successful with that is extremely difficult. The reason is not because of the quality of your architecture; rather it is because you may have to make the entire array of computer-aided design tools available to make your architecture programmable. Every company that might potentially use the newly introduced architecture would have a tried and tested development process that is strictly defined on the basis of the existing technology. They would want to fit the exact process with the new technology and this is where several newbies fail. Unless you can convince your customers that the benefit that your new technology brings to the table can overwhelm the temporary loss of productivity due to the process change, you cannot sell your product.

So the three dimensional FPGA should have a HDL parser and optimizer, logic minimization, technology mapping, placement and routing tooling support to the same extent that Xilinx or Altera provides. Now the first two are pretty established and architecture independent. You can use one of the different implementations of Espresso for logic minimization. Technology mapping can be very much similar to how it is done in the existing 2D FPGA, using force directed scheduling or any other established scheme.

The problem starts with the last two: placement and routing. Most of the placer and router used in industry are proprietary. I am pretty much confident that Altera's placement algorithm is deterministic and may be Xilinx also has a deterministic placement, I am not sure. When it comes to routing, most of these tools use negotiated routing with the negotiation scheme being proprietary. Placement is a NP-hard problem and routing is NP complete. So to achieve a critical path, if your placement and routing takes twenty times more CPU cycles than what the existing tools take, then your potential customers are going to take a step back immediately. Well, they want a "rapid" prototyping, you see.

If the 3D FPGA happens to be entirely made up of similar CLBs and IO blocks, the placement and routing is a little easier. Versatile Place and Route (VPR) is the standard, open source academic tool for placement and routing. It performs a simulated annealing based placement and Pathfinder-based negotiated routing on array-based FPGAs. How easy is it to modify VPR to support the third dimension? A block is defined in VPR through the following structure:

struct s_block
{
char *name;
t_type_ptr type;
int *nets;
int x;
int y;
int z;
};

In this structure, you can give the name of the block, type of the block, typically CLB or IO-block and the cartesian coordinate of the block's location, during placement. Here the x and y indicate the coordinates in x-y plane. What is z? No, it's not the third dimension you are looking for. Rather z is the number that specifies which sub-block the net refers to. So a single block can have multiple sub-block - each sub-block is a logic element. In this structure, you may have to add another variable to specify the coordinate in the third dimension (you may have to use a different name, since z is taken). And then it involves changing all the loops in VPR. You may also need to change the placement file's structure to introduce the extra dimension and make Pathfinder understand that. It is difficult; but with some effort, it is possible to make VPR support the 3D FPGA placement and routing. But can its quality compete with the existing 2D FPGAs? Can it be done on click of a button at a reasonable speed?

So on summary, introducing the third dimension in FPGA is certainly impressive. But if you want to make money out of it, you have to provide an array of necessary tooling support so that your potential customers can realize the fruits of extra dimension, without taking much risk and paying much price. On the other hand, 3D FPGA may evolve from some already established company that is not struck in a marketing myopia. Lets wait and see.

Wednesday, February 24, 2010

Cost of public school education

Earlier I have written a blogpost regarding the need for an educational reform citing the increasing number of college dropouts. In that, I have mentioned that the public universities give excellent education for an affordable cost. Recently Dr. Mark Perry of the University of Michigan has written an article comparing the per-capita money spent on public school education to the Harvard tuition fee. The results are astounding. A little number crunching removes the fog that surrounds the truth and when it is visible, sometimes it is stranger than fiction. Here is the link to Mark Perry's blogpost. The US seriously needs an educational reform.

Monday, February 22, 2010

Growth in computing power

I am running a fever, cough and cold that collaboratively make me tired at body and heart. The tiredness unfortunately keeps me away from blogging, as research, work, and study effectively occupy my reduced "active" time. When the going gets tough, I have to give priority to what I am paid for and what I pay for. Somehow I find sometime to write this, when my Python script is running in the background.

Recently I have read this 2002 NBER paper, titled The Progress of Computing by Yale's economic professor, W.D. Nordhaus. This is a good 61 page article that covers the 150 year history of computers. I am always a big fan of the evolution of computers, because it teaches a lot of lessons about what not to do. It's still a serious paper, not a set of anecdotes.

The important observation is the rate at which the power of computation has grown after the World War II. Believe it or not, over this period of the last 150 years, the growth in computational power is trillion times. I don't think any of technology or field can boast this kind of growth. Of course, medicine is a field that grows very fast, although it is not easily measurable like computers. But the growth in medicine had a huge acceleration when computers started playing a role in improving diagnostic and surgical ability of doctors, as with any other field.


The most interesting part of the essay is the graph shown above. This graph is plotted for a forty year period in which it shows the exponential decrease in the computer price (it's a semilog plot). As it can be observed, the price of computation from 1970 to 2000 has gone down by a factor of one million. I would like to see the increase in efficiency and productivity in various industries that has been brought about by this reduced cost of computation. This may arguably be the most important testimonial for man's achievements over the past half-a-century.

Thursday, February 04, 2010

Inequality and Income distribution of G20

Recently I have read an extremely informative article in G20 website about the growth in personal income among the population of different G20 countries and there was a similar NBER working paper. The article is a little long, but it gives deep insight about poverty, inequality and income distribution. The research tracks the income growth since 1970. One interesting observation is that the G20 income distribution exactly traces the entire world's income distribution. Since G20 represents more than 60% of world's population, it may make sense. But what makes then a part of this club is not their population, but their economic growth. If that is the case, shouldn't G20 income be significantly or at least notably larger than the world average? The fact that it is not simply implies that even in a fast growing economies, poverty is a continuous problem. The US, Europe and Japan occupy the highest income distribution segment among the G20, as expected.



Another observation is that the income range in 1980 is more or less the same as it was in 1970. Seventies has been the decade of small, recurring depressions all over the western world, just like the current decade, although there was nothing as worse as the current depression since 1930s. Seventies also saw the peak of cold war. In seventies, more than one-fourth of India and China was earning lesser than $1 per day. China's socialist market economy has not kick started at that time and India was still confused and there were not stable economic and trade policy to talk about. In fact, it was more tilted towards USSR.

In 1980, China has started its internal liberalizations. India was still confused and the government was holding most of the industries. The industries lacked in technological growth, innovation, and productivity. The society was split in different terms and keep on innovating ways to not stick together.

Then started the roaring nineties and its globalization. India made some right choices and jumped on the globalization bandwagon. Or rather it can be argued that India had no other choice. One thing that still bothers me even now was the marked absence of internal liberalization in India. Except in certain sectors like banking, when the Indian market opened for private investments, it immediately invited global players. So the number of pure Indian players who compete with these global giants was less. At the end of the roaring nineties, Asia hit a currency crisis with Thailand as its epicenter. The different countries which were the proud foster children of IMF fell down first almost pulling down everybody around along with them. What did India and China do differently? The more suitable question is what did they not do. They did not drink the capital market liberalization potion. And thus they survived.

The best observation that we can make out of these curves is that throughout this period, the shape of the income distribution curve remained the same. This means when India's economy started developing through globalization, it created positive effect of everybody across the histogram. On the other hand, China's curve became flatter and flatter - which means the inequality between the rich and the poor increased constantly and dramatically. But in India, although it did not achieve the income shift as China did, it managed to maintain its income distribution ratio.

Now whatever short term political stupidity might have happened in India over the past two decades, this could arguably be its greatest achievement since independence. Kudos to India's policymakers!


Note: All images courtesy: www.g20.org, www.nber.org

Wednesday, February 03, 2010

3D-FPGA Reinvented

The concept of 3D chip has been coming and going. I have not seen many commercial chip that is 3D. But that may be the norms in future, as we find it difficult to integrate more transistors into a given area.

If the area is small, stack it up. That's what was done in New York in the mid nineties. In future, at least in a distant future, that's what they would do in Atlanta and Phoenix. What applies to geography, applies to chip design - I find them both extremely similar.

This time, the famous and well respected innovator Zvi Or-Bach has reinvented 3D FPGA. FPGA has a big advantage of ASIC in terms of rapid development cycle and less initial investment. But in practice, FPGA is much slower and are not dense enough. FPGA architecture and the synthesis technology has undergone several changes taking it closer and closer to ASIC in terms of performance. 3D FPGA may be yet another step, as Or-Bach claims.

Nu-PGA tries to increase the interconnect density of the FPGA by taking the antifuse to a separate layer from the configurable logic blocks. What does the increasing interconnect density mean? A lot, actually. With a rich interconnect availability, the bounding box of the chip is reduced a lot. So the placement and routing algorithm need not have to bother much about where to lay the track, number of tracks in each direction and what the channel width is. Also it increases the speed of placement and routing process. All these clearly mean getting closer to ASIC.

But the 3D FPGA described above is more like a building with two levels. Not so fancy, but we have never done anything more than one-level building earlier. I would however expect the building to go up fast, like putting CLBs on top of each other in different layers, or having a layer of CLB and a layer of IO blocks. I seriously think there is a good scope for growing tall as there is more space available there. Let's see how the market reacts to these innovative ideas and where it takes us to.

Monday, February 01, 2010

Turned on by COTSon

A few months ago, I wrote an article longing for the need of a multicore processor simulator - preferably one that is free. One of the reader of my blog have left a message about COTSon (I wonder why (s)he wanted to be anonymous). So I started reading more about it, starting with the white paper that was in SIGOPS. And I liked what I read.

COTSon is the result of a collaborative effort by HP and AMD. The best part about COTSon is that it is not just a multicore processor simulator, but can also act as a full blown system simulator. That means it can simulate a range of hardware models and software stack. It is based on AMD SimNow, which performs high speed instruction set translation for x86 and AMD Athelon type processors. The software stack that it can simulate includes everything that runs on x86 and AMD Athelon including proprietary software like MATLAB for instance.

What COTSon does is not a cycle-accurate or bit-accurate simulation, which runs over the entire weekend to tell what is wrong. Rather it's a fully functional simulation. So may be COTSon can act as a first cut simulation at one level higher than the Transaction Level Modeling. Or on the other hand, COTSon can be used as a tool to visualize the paradigms of TLM. Maybe COTSon is what we need in the design cycle in this world where time-to-market is of prime importance.

I am now interacting with a friend doing his doctorate in Vrije University about COTSon, how we can learn how to use it and use it. We would know the reality only when the rubber hits the road. Lets see how good it is and I will post at the end of my analysis with some greater detail.

Saturday, January 02, 2010

Do you feel your boss is more incompetent than you are?

In management, the level up to which someone would raise in the organizational ladder is governed by the Peter Principle, named after the Canadian psychologist Lawrence Peter. Consider a team of dozen employees out of which Alice is the most competent. So Alice gets promoted to the next job level. Now given the fact that Alice was the best among her contemporaries does not mean that she would be the best even in the current job - which is, say, supervising those who earlier worked with Alice. Peter's Principle says that all new members in an organization climb up the ladder until they reach the maximum incompetence.

Common sense tells that in any organization, the person who performs the best in a job has to be promoted to the higher level. But most of the time, the kind of job involved in one or two level above would be radically different from the current job responsibilities. So the person who does best in one job may fail big time in the other. For example, Michael Jordan was able to accomplish great things as a player of Chicago Bulls. But he did not achieve the same amount of success as the coach of Washington Wizards. Other better examples could be seen in your day to day lives.

Two solutions proposed by Peter for this are: (i)increase the pay for the best performing employee rather than immediately promoting them. As a result, some lower level employee may earn as much as their boss. This also requires a psychological change in boss' side. (ii) train the potential candidates for the job and promote on the basis of their performance in the training program. The success of this depends upon how good one can devise that training program. Personally, I think both of these can be applied concurrently.

But a recent paper by Alessandro Pluchino et al published in a journal of computer science and game theory proposed two dangerous solutions. Pluchino and his team has performed an agent-based simulation of a hierarchical organization in which the promotions are offered on the basis of performance at a given level, and the job responsibility differs at each level. Based on these results, this paper offers two unconventional solutions. First solution is to promote the most competent and the least competent alternatively. Second solution is to promote people in random without considering the competence at the current level.

These techniques might have worked wonders among the agents. But humans are complex entities. The psychological effect of these solutions cannot be overlooked. First if the person is to be promoted in random, then there is no incentive to be competent. This effect may spread through the entire organization making it a zombie. Instead if the most competent and the least competent are promoted alternatively, this gives an incentive for those who are below average to become intentionally and glaringly incompetent. Most of the time, the failure of the theoretical model in a recurring system can be ascribed to its failure to consider the practical implications of its first round implementation on the subsequent rounds.

Even Hari Seldon made a reservation that future cannot be predicted and announced, because of the human nature to act according to the result of the prediction and there by falsifying it. Unless this human nature has to be considered in these kind of simulations, they would never become practical.

Wednesday, December 30, 2009

Arduino - Open Source Initiative of 2009

For those who do not know, Arduino is an open-source, embedded prototyping platform. The single board microcontroller hardware with a bunch of sensors and embedded I/O controls. Hardware components contains an Atmel ATmega328 AVR microcontroller, a thermister, a crystal oscillator, etc, although it varies from board to board. It is an advanced RISC microcontroller with 32 x 8 registers and a 2-cycle multiplier. The Arduino programming language is an extension of C++ - easily learnable. The source code of the entire software suite which includes an IDE is released through GPL. The hardware design is also available through creative commons for non-commercial use. Those who cannot do hardware can purchase a board from Arduino for a low cost.

Arduino's target users are hobbyists and artists, interested in creating interactive objects. But something tells me that the user can do much more than that. I can even imagine potential enterprenuers who have an idea about commercial electronic components can prototype their idea using Arduino.

Arduino first came into picture March, last year. But this year it's fame has grown up very fast, especially after BBC had an article and video on it by its technology correspondent Mark Ward in May. Although this article focused on how Arduino helps in relating the real world to the web world (which is cool in itself), it's just a part of it. Kudos to all the developers. You have done a great job in developing Arduino and making it open to the world.

Friday, December 25, 2009

Ubuntu's backward step

I have a laptop that runs Ubuntu Karmic (and OpenSolaris in multi-boot), and I recommend Ubuntu for all my friends who want to give Linux a shot. The most important reason is Ubuntu's ease of use. For the past several months, many people are shifting from Windows to open source OS because unlike past, Linux is as easy to use as Windows. I still remember those days of 9 CD Debian installation and now anyone can install Ubuntu with some basic knowledge of computers. Also there is a huge online help for Ubuntu.

One of my friends, who installed Ubuntu going by my advice, called me yesterday to tell that it gives an error about low graphics, wherein she has a NVIDIA GeForce in her laptop. Ah, that's easy, you just need to shutdown your GNOME, update /etc/X11/xorg.conf, download the driver and install, invoke runlevel 6. Simple! This is the typical problem of being a computer engineer - making assumption that the person at the other end understands the lingo of computers. Not surprisingly, my friend could not make a head or tail out of it.

Then I got this idea. xorg.conf is a part of debconf. Ubuntu is built on Debian. Therefore she should be able to run dpkg-reconfigure xserver-xorg. Even then she may need to shutdown GNOME, but that's OK. She hit back telling dpkg-reconfigure is not found. I was startled. I went back to my laptop and tried dpkg-reconfigure and it was not there.

Does anyone have any clue why it was removed, without providing an alternate option? Ubuntu was making everyone's life easy with using Linux. In that journey, suddenly a step backward. How many people who have a graphics card would know anything about xorg.conf and its significance? Let's hope Ubuntu does provide an alternative in its next release.

Friday, October 30, 2009

Temporary Suspension

I have not been posting anything in my blog recently as many of you noticed and some of you mailed. The fact is that I am busy in two completely independent work. 1. Designing and implementing a completely new heuristic of logic minimization and 2. Physical layout design for a CMOS charge pump.

Both these are interesting and consume most of my time. As a result, I cannot find time to post my views on my blogpage. So until mid-December, there will be sporadic updates in the blog. Nothing more than that. Starting mid-December, I will be back on track.

Wednesday, September 16, 2009

Arrow of Time

Last month (Aug 09), the world of physics was enthralled by a mathematical work that led to an explanation to the arrow of time. The paper was by Lorenzo Maccone, one of the biggest names in quantum physics in this generation. The physicists in the universities (at least big universities) around the world have a hard copy of this paper in their hands, gearing themselves up for lunch time debates on its merits and demerits. As a result, now we have a paper that provides a counter-argument for Maccone's proposal. Moreover this paper says that quantum explanation given by Maccone actually complicates the arrow of time rather than resolving it. This paper is actually written by professors from Imperial College, London. Before taking a deep-dive into it, let's look at what arrow of time means.

The term Arrow of time was first coined by English Astronomer, Arthur Eddington. The name rings any bell? Yes, he is the same Eddington who studied the 1919 solar eclipse to confirm the theory of relativity. The mathematical equations of physics are always time symmetric. That is, whatever happened in a period of time can be reversed without affecting any physical law. It's like rewinding your VCR. But the crystal jar that I broke last week, did not rebuild itself. And it is ridiculous to think that it would.

When we look at the real world, if we leave things alone it always goes towards chaos. In the words of thermodynamics, entropy always increases in the real world as per the second law of thermodynamics. In the movie Godzilla, when running through Manhattan, Godzilla dashes against Chrysler building and it falls down and breaks. It is possible and realistic, if we make proper assumption about the strength of Godzilla and weakness of the building. If we look at it reverse, Godzilla runs through the rubble and it forms into a tower and moves up the top of the building. Does it sound realistic? No. But in a universal, completely mathematical sense, any object can return to lower entropy eventually. So arrow of time is this phenomenon that we always move forward in time in reality with a monotonous increase in entropy. At quantum level, the evolution of quanta is given by Schrodinger's equation, which is time-symmetric. Here, the term entropy is not about heat, but it is about information.

Lets look at some quantum level example. I have built a particle accelerator at the back of my house. I power it up and it generates a quantum particle. But how would I know whether it did generate a particle or not? Copenhagen interpretation says that unless I observe that particle, I cannot say. In other words, unless I observe the particle, I cannot assume that the particle exists, because I don't have the information about its existence. I decide to test the accelerator and I use a Geiger-Muller counter and it ticks. Wow! Now I know, my accelerator works. But what I did by observing its presence is that I collapsed the wave function of that particle. So I know that I generated a particle in past, because it leaves a trace of information.

The time-symmetry of maths and the second law of nature can be looked at as a paradox. If there is a time-symmetric dynamics, as in thermodynamics, it should be impossible for me to have a working system that is time-asymmetric. But everybody knows that the second law works. This paradox is called Loschmidt's paradox. Maccone in his work has made an attempt to answer this Loschmidt's paradox.
"How wonderful that we have met with a paradox. Now we have some hope of making progress." -Niels Bohr
Now let us get back to the particle-accelerator-in-my-backyard example to explain what Maccone says. Assume that my Geiger-Muller counter ticks, but I have a selective amnesia and I forget the count immediately after I heard it. Or in other words, what if somebody shot down the neuron of my brain, in which I saved the information that I heard a count? OK. My example is bad. Let me make it more classical. What if the crystal jar that I broke has comeback from shards, but I just don't remember the happening of that event? So the point is, the activity that results in a decrease in entropy is accompanied by the erasure of its observer's memory. At quantum-level, some instantaneous memory reduction is observed, but never at macroscopic-level because of decoherence. Here is the finding in Maccone's own words:
... any decrease in entropy of a system that is correlated with an observer entails a memory erasure of said observer, in the absence of reservoirs (or is a zero-entropy process for a super-observer that keeps track of all the correlations). That might seem to imply that an observer should be able to see entropy-decreasing processes when considering systems that are uncorrelated from her.
Quick Note: That particle observation problem that I took as an example is one process in quantum physics that is considered to be irreversible. It is called Born Rule. Even that would be reversible according to this paper, if somebody shoots the neuron of the observer at the instance of observation, as I said earlier.

At this point, if you are really confused, shocked and finds it all illogical and bulls**t, please wait for a moment and read this quote before we go to the counter-argument:
"No, no, you're not thinking; you're just being logical." - Niels Bohr.
The counter-argument by Jennings et al starts with the claim made by Maccone, as given in the quote. So during an entropy-decreasing event, the mutual information about the event is destructed as the part of the information. The important point here is what kind of mutual information has to be nullified as a part of memory erasure. Classical mutual information. Is there another kind? Oh.. yes! It is quantum mutual information. So the proof made by Maccone holds good only if a reduction in classical mutual information correlates with a reduction in quantum mutual information.

Information is usually represented as I(A:B), that is information that system A gets due to an event that happened in system B, observed by system A. So if the reduction in quantum mutual information happens without any change to classical mutual information, the earlier proof holds no good. The counter-argument does not stop there. If there is a reduction in quantum mutual information with no harm done to classical mutual information, the situation gets worse. A mathematical proof is made for a case in which, an entropy decreasing event erases the quantum information, but actually increase the classical information. What do the authors mean by this? It's possible for some people to remember observing the crystal jar reforming itself. But nobody does. So the Loschmidt's paradox still remains unsolved. I am not aware whether Maccone has responded to this yet. Or may be, like Walter Ritz and Albert Einstein, Maccone and the Imperial college professors may agree to disagree.

Thursday, September 10, 2009

Required: An Educational Reform

President Barrack Obama in his congressional speech on health care compared the proposed plan with the current education system in the United States. There are private universities like Stanford, and Harvard offering top class education but at a high cost, while public universities like UC Berkeley, UT Austin, UA Tucson, UMass Amherst are offering good quality education at an affordable cost. Good analogy. The US higher education system is arguably the best in the world. But that does not mean that it is the best that could ever be achieved.

Felix Salmon has wrote a blog in Reuters on changing tuition fees. Currently the tuition fees stand at 60% of the US median income. I am talking about the undergrad education. College tuition fee has increased at the double the rate of US median income - which also means that college tuition fees are increasing almost as fast as health insurance premium does. What is more alarming is that in some public schools like University of Massachusetts, only 33% of the students who enroll in UG education graduate. From socio-economic standpoint, the US higher education needs some serious reforms.

Obama conveyed a message that he did not want any American to go to a state where there is a treatment for the disease but he/she cannot afford it. Nice vision. I think the same applies to education. After all, illiteracy is a disease.

Monday, September 07, 2009

IDE Decision

Texas Instrument has recently made a sound decision to make their Code Composer studio's IDE to be based on Eclipse. That's a good news. Now that's not taking anything away from the old IDE of CCStudio. The old IDE is very comprehensive, very good, and very easy to learn. But the current developers do not just look for this. How easy is it to customize the old CCStudio IDE? That way, as the IDE becomes Eclipse-based, we can expect independent developers writing plugins for CCStudio and that would certainly improve the productivity in embedded systems and DSP development front. After looking at many IDEs, I can make an easy business/productivity decision. Your IDE must be based on Eclipse. That's the second best IDE (after Visual Studio IDE) that I have seen, although I personally write my JAVA codes only in Emacs.

Saturday, September 05, 2009

Taco Bell Revelation

Today I had my breakfast at Taco Bell. When I was waiting for my bean burrito, I observed that they sell egg burrito for $0.89/-. And what more, it has bacon in it. Well, I don't eat bacon, but the menu board reminded me of some old stories. Back at the beginning of the year, some Ivy-League-educated people scared all my friends that the US would be stifling in inflation. But I was not scared. I said I would rather welcome some inflation. The Taco Bell menu teaches my friends that their fear was uncalled for.