Sunday, June 18, 2017

Automation and future of our society

Several people are expressing concerns recently that automation displace more jobs, that the new opportunities will not catch up the pace of lost jobs, and that the income inequality will grow.

I agree will all these points, and if we don't do anything about it, there could be a lot of turmoil in the future.

On the bright side, I think our civilization is in a position where we can afford to adopt policies which will make the income inequality irrelevant. 

Sunday, August 14, 2016


Engineering publishing, what needs to be changed

I keep hearing a lot about publishing negative results in clinical trials, and there has been a lot of push towards it. I think its also time for the same to happen in engineering journals.

There are perhaps two broad categories of engineering research, one where the approach is to take an unsolved problem and find/develop the appropriate tools to solve it, and the other where the researchers find the right problem to apply the tool they have been developing. Both have their uses, and quite frankly, from my experience, it has been very frustrating how these two situations have been treated in the publishing world. 

For the first kind of problems, I have seen many very good papers rejected because the claim from the reviewers was that there were no new techniques developed in the paper. Of course, the reviewer has completely failed to see the point of the paper in this situation. 

The second situation, I think, can run into even bigger problems. Consider a researcher working on developing computational methods for some abstract mathematical field, and wants to find an appropriate problem to showcase the usefulness of such computational methods. In this situation, it is very likely that the methods doesn't outperform other existing methods, or that it turns out (due to many practical reasons) that the method is actually not applicable for problems where the underlying mathematical theory seems to imply it should work. In both these cases, the resulting work is very unlikely to get published.  As a result, researchers feel often forced to exaggerate the usefulness of their computational methods, or perform and unfair comparison with existing methods. If the researchers are not willing to do this, then the research of the second kind is not viable in the long run. 

There is a simple fix to this: publish negative results. 

Wednesday, August 10, 2016

neuroscience computing terms

We know a lot more about computing terms for computers than for the brain. It is likely that the following aspects about the brain are being investigated  currently, in which case I would like to know their technical terms and learn about the research into these aspects.

  1. Sometimes, while I am driving to some place, I forget to thing about a route beforehand. On the way, I realize I have to plan my route and "load the program" to plan it. I can distinctly observe a "processing time" to plan out this route, and sometimes this processing time causes me to miss an exit, an exit which was in the planned route.

  2. Sometimes, while I set out to drive to a location and start thinking about something else, I arrive at a different (often traveled) location without realizing it. The closest analogy I can think of is a "non-interactive background process ". I cannot say (or can I?) that this is a subconscious act, because I distinctly remember making the decisions to make the turns, "processing" the speeds and the degrees of rotations on the steering wheels. So, was I semi-conscious?
Are the above aspects recognized and studied as neurological phenomenon?

Wednesday, November 11, 2015

Patter matching and rationalization.

What we gain from experience, or "muscle memory" is mostly like pattern matching. People who don't go through proper training eventually gain some skills through experience. Formal training however, also indulges the rational part of the brain, which leads to better organization of the knowledge. As a result, we can acquire the same skills much faster.

1. We need to indulge the rational part of the brain to better organize our knowledge, and acquire the skills faster.
2. We need to indulge the "pattern recognition" part of the brain, in order to build muscle memory in order to react faster in real time. 

Sunday, June 28, 2015

Silver Rule

Golden Rule: "One should treat others as one would like others to treat oneself " 

Silver Rule: "One should treat others as what they would tolerate from others"

Thursday, June 25, 2015

Thoughts on artificial vs natural languages

Computer languages are built primarily to execute algorithms, where as natural are primarily built for communication.

There are certain protocols which computers use for communication. So, it would be more apt to compare  natural languages with computer protocols.

Tools to describe  algorithms (such as pseudocodes) are perhaps the closest natural language analogues of computer languages.

Computer communication protocols don't serve as wide a purpose as natural languages. This would very likely reflect in the complexity of their structure.

Is it possible to construct fuzzy computer communication protocols?

Sometime back, we are discussing the new version of Turing tests, where computers have to decipher the meaning of a sentence in order to correctly parse it. For example, statements like:

"Tara didn't like  Mary because she was annoying",  and
"Mary kept Tara happy because she was generous".

In both sentences, the pronoun "she" can be correctly attributed only if the meaning of the sentence is deciphered. The structure of the sentence itself is not sufficient. Both the syntax and the semantics are needed for accurate attribution.

Perhaps, object orientedness in computer languages comes close to this phenomenon. I am not knowledgeable about communication protocols, but is likely some of them are object oriented. I just googled and there seems to be some interesting work regarding inter-software layer and nework protocols.

Actually, I think "state dependent behavior" of a computer comes more closer to the above natural language phenomenon. That is, what a function returns doesn't just depend no its code and input parameters, but the state of the system as well.