sharadsinha

Archive for March, 2013|Monthly archive page

Complementary to Google Search

In Education, Interdisciplinary Science, Research and Development on March 26, 2013 at 5:31 PM

When we look for information, almost all  of us invariably turn to Google. There is no doubt that Google and its services, especially its search engine, have helped many of us who look for both new and old pieces of information often. However, is it always the best in terms of returning results that are relevant to the search query? Not necessarily. By relevant, I mean the intention of the user who typed in the search query.  Given the fact that the Google page rank algorithm, among other things, assesses the importance of a page/resource based on the number of pages/resources linking to it and their importance as well, the search result tends to tilt in favor of  those resource which most people are talking about. Therefore the search result can include Wikipedia references, journal and magazine articles, Youtube videos etc. This means that there may not be a uniformly decreasing order of depth of information available in the search results. It may also mean that the quality and expanse of information available in the search results could vary widely. For instance, a news report that shows up higher on the list of search results could be discussing the outbreak of a particular disease and its economic and social impacts. It may not be discussing the medical science behind the disease itself. Of course one can try combinations of phrases as well as Google custom search to narrow down the results. This also means that if you are searching for something that is discussed rarely, you will have to sift through a lot of results. However, there is another way of looking for targeted information: use of field specific search engines. For example,  FindZebra  is a search engine for rare/orphan diseases. This is currently a research project at Technical University of Denmark  and it seeks to help doctors looking for information on such diseases for the purpose of medical diagnosis (an example of very targeted information). It indexes only the most relevant databases for this purpose.  Its comparison with Google search and Google custom search can be found here. Archives, like this one,  in different fields also serve the same purpose. It  will be better to see the two search approaches as complimentary to each other. While field specific search engines/archives can be very precise, Google search can provide a wider set of results where different perspectives and analyses may emanate on the same subject but from  people with different backgrounds.

Relearning addition

In Design Methodologies, Education, Embedded Systems, Mathematics on March 22, 2013 at 7:13 PM

Alvin Toffler in his book “Future Shock” says that  “The illiterate of the 21st century will not be those who cannot read or write; they will be those who cannot learn, unlearn, and relearn“. Taking this quote a little out of context in which Alvin used it, I would say that the process of learning, unlearning and relearning basically embodies the principles of evolution and adaptation. And these are equally applicable to education. Are these emphasized enough in universities and schools? Can they be taught? May be yes, may be no. I will give one simple example here. Every electronics or computer engineer would have done some basic C programming. To add two numbers, A and B, one just needs to use the expression ‘A+B’. Does it always work? Not in the world of computers where one has to deal with overflows and underflows. And there is always a limit to the biggest number that a computer or a computing platform can support.

So, how are we going to add two arbitrarily sized positive integers. Examples of positive integers are 123456, 90913456 etc. I will use positive integers to illustrate ‘learn, unlearn and relearn’. The example can easily be extended to other data types. In C language, the integer data type can only support a maximum value of 2,147,483,647 when adding two numbers. So there is an overflow if sum exceeds this value and addition is not possible if either A or B is bigger than this value. To avoid this, one can use other data types supporting greater number of bits until one hits yet another ceiling. After a point, you hit the final ceiling. If the numbers are really so big, one way to deal with them is to go back to our old school days when we learned to add numbers: 2 digits at a time with a carry propagated. Yes, that is all you need to do! And this does not require in-depth of knowledge of various IEEE methods to represent numbers. It is simple and good old school method. Of course, the old school method may not have a very wide application, but it does help where possible and makes it clear that  the symbol for addition “+” (or the add operator as it is referred to in programming languages) should not make us forget how addition is done. We “learn” to add 2 digits at a time in school, then we learn to use the “+” operator in programming languages. Thereafter we have to unlearn this concept to relearn (or recall) the school method.  I have written a reference implementation in C which you can find here. You can also find its link under the software tools tab here.

PhD vs Work Experience: The Perennial Debate

In Education, Engineering Principles, Intellectual Property, Research and Development on March 9, 2013 at 11:35 PM

Those of you who have ever considered doing a PhD or getting a higher technical degree would have definitely come across this debate on PhD vs work experience. One can find so many articles and opinion posts on this subject. Many of us tend to evaluate PhD and work experience by replacing one with the other. Setting aside financial considerations, we tend to evaluate these two experiences by examining the worth of each when replaced by the other. I think that this approach is improper. PhD  and work experience can be/made to be complimentary to each other. Not all work experiences are of high quality and same is the case with PhD granting institutions. Not all companies are alike just the way standards differ across institutions of higher learning. I would not be debating the pros and cons of PhD or of work experience in this post as that subject merits far greater analysis than what I can put in a blog post. However, taking a broader view, I would say that a PhD program lets you get out of your comfort zone and explore complex, unbounded problems which could be fundamental or applied in nature. It teaches you to learn, examine (and re-examine), critique, argue and persuade using facts and figures. Its not that there are no corporate jobs where one cannot learn these very things. But they are far and few and the degree to which you need to exercise your brain varies across them. As an example, you can be a great lawyer, corporate, civil or criminal, but being a great lawyer is different from being able to comment, analyse, contribute to the very subject of jurisprudence which gives rise to all judicial activities. Another example: you can be an excellent system on chip architect, but being able to get into the depth of power integrity analysis is a different story. Of course you can be a great power integrity analysis engineer too who can apply all sorts of engineering tricks to perform clean power integrity analysis but you need not be able to comment, analyse or examine the principles on which power integrity analysis is based to the same depth as a typical  PhD degree holder would do. The point I am trying to make is that “there is space and need for both kinds of experiences“. They need not be present  to the same degree in one single person. The utility of a PhD and that of work experience depends on many factors. At the end of the day, you do a PhD because you want to explore, find new things or just sit back and critically reflect on the existing things because other people are  busy meeting the demands of the market which has its own challenges!

How much and what do you read as a researcher?

In Education, Engineering Principles, Interdisciplinary Science, Research and Development on March 3, 2013 at 5:07 PM

What do you read as a researcher? Most of us read only that which is relevant (or we think is relevant) to our research. But is that all that is should be read? I know that many of us do read novels of different kinds of which fiction is more common.

However, as far as reading for research is concerned, most of us read within our specific domain and especially focusing on those works that are closely related to our own. We browse through conference proceedings and journals a lot. Some of us venture into reading patents and online newsletters published like EE Times  etc. Nevertheless we tend to stick to a rather narrow range of topics. We measure the utility of reading something for research against the value that it might bring, in our opinion, to our research. While this is not at all a bad way of doing research, we run the risk of training ourselves to read, think and argue about only a very narrow set of topics even within our own broader research discipline. It is a byproduct that has its negative consequences. It becomes difficult to think beyond what we are most comfortable with and it makes an expert in a very narrow field. We run the risk of not being able to relate our work with the bigger picture and processes. We run the risk of not being able to think at the system level or looking at the same thing from a different perspective. For instance, a mobile phone is a device that has both software and hardware. A software guy will describe it from software perspective while the hardware guy from hardware. Someone who can understand both, even if not every detail, can help merge the two perspectives which is very important for product design!

Oscar Wilde has said, “It is what you read when you don’t have to that determines what you will be when you can’t help it“. It applies not only to life but also to research. Reading about human factors, user interfaces, intellectual property, regulatory practices etc. helps us in seeing same things from different perspectives. It is a great way to exercise our brains.

At the same time,if you are more adventurous , reading about topics in sociology, psychology, economics, politics etc. helps you develop critical thinking abilities borrowed from different domains. An example is here. And if you can see through all of this, you might even be able to solve a problem in your domain by reading about something exciting in another domain.